.ta-route-app,.ta-owner-cta{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box}.ta-route-app *,.ta-owner-cta *{box-sizing:border-box}
.ta-route-app{display:grid;grid-template-columns:320px minmax(500px,1fr) 340px;gap:24px;align-items:start;width:min(1400px,calc(100vw - 40px));max-width:none;margin:0 0 0 50%;transform:translateX(-50%);padding:0 20px 16px;background:#f7f9fb;color:#06111f;overflow:visible}
.ta-left-panel,.ta-map-area,.ta-right-panel{min-width:0}.ta-left-panel,.ta-right-panel{display:flex;flex-direction:column;gap:14px}.ta-right-panel{position:relative;z-index:5}.ta-brand-block{padding:8px 0 4px}.ta-brand-block strong{display:block;color:#f92355;font-size:13px;font-weight:950;letter-spacing:.08em}
.ta-input-card,.ta-summary-card,.ta-tip-card,.ta-stop-panel,.ta-hotel-card{background:#fff;border:1px solid #dbe4ee;border-radius:8px;box-shadow:0 10px 24px rgba(6,17,31,.06)}.ta-input-card,.ta-summary-card,.ta-tip-card,.ta-stop-panel{padding:14px}
.ta-input-row{height:38px;display:flex;align-items:center;border:1px solid #cfd9e5;border-radius:6px;padding:0 12px;margin-bottom:9px;font-size:13px;background:#fff}.ta-route-search-input{display:block;width:100%;color:#101828;line-height:38px}.ta-route-search-input:focus{outline:0;border-color:#34d3e6;box-shadow:0 0 0 3px rgba(52,211,230,.16)}.ta-route-search-message{min-height:18px;margin:9px 0 0;color:#f92355;font-size:12px;font-weight:800;line-height:1.35}.ta-input-card label{display:block;font-size:11px;font-weight:900;margin:13px 0 7px}.ta-input-card label:first-child{margin-top:0}.ta-input-card select{width:100%;height:42px;padding:0 12px;border:1px solid #cfd9e5;border-radius:6px;background:#fff;font-size:13px;color:#101828}
.ta-primary-btn{display:inline-flex;align-items:center;justify-content:center;background:#f92355;color:#fff!important;border:0;border-radius:6px;padding:13px 18px;font-weight:950;text-decoration:none!important;width:100%;margin-top:12px;box-shadow:0 12px 22px rgba(249,35,85,.18)}.ta-primary-btn.small{width:auto;margin-top:0}.ta-secondary-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfd8e3;color:#06111f!important;background:#fff;text-decoration:none!important;border-radius:6px;padding:11px 14px;font-weight:900}
.ta-route-title{font-weight:950;font-size:15px;margin-bottom:15px}.ta-route-title span{float:right;background:#dff0ff;color:#0879c9;font-size:10px;border-radius:20px;padding:5px 8px}.ta-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid #e8edf3;padding-bottom:13px;margin-bottom:13px}.ta-stats-grid div{border-right:1px solid #e8edf3;text-align:center;padding:0 3px}.ta-stats-grid div:last-child{border-right:0}.ta-stats-grid strong{display:block;font-size:14px}.ta-stats-grid small{font-size:9px;color:#667085}.ta-summary-card h4{font-size:11px;text-transform:uppercase;margin:0 0 12px}
.ta-stop-list{display:flex;flex-direction:column}.ta-stop{display:grid;grid-template-columns:26px 1fr auto;align-items:flex-start;gap:9px;border-bottom:1px solid #edf1f5;padding:10px 0}.ta-stop b{background:#1d8fff;color:#fff;border-radius:999px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px}.ta-stop span{font-size:12px;font-weight:900}.ta-stop small{font-weight:500;color:#667085}.ta-stop em{background:#e6f7e9;color:#11923b;font-size:9px;border-radius:20px;padding:4px 7px;font-style:normal;font-weight:900}.ta-stop.final b{background:#f92355}.ta-tip-card strong{text-transform:uppercase;font-size:12px}.ta-tip-card p{font-size:12px;color:#475467;line-height:1.45;margin:8px 0 0}
.ta-map-area{min-width:0;overflow:hidden}.ta-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ta-toolbar button{height:36px;background:#fff;border:1px solid #cfd8e3;border-radius:6px;padding:0 17px;font-weight:900;font-size:12px;color:#06111f}.ta-toolbar button.active{background:#f92355;color:#fff;border-color:#f92355}.ta-toolbar .ta-route-options{margin-left:auto;color:#06111f;background:#fff}
.ta-map-wrap{position:relative;width:100%;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08)}.ta-map-legend{position:absolute;left:18px;top:18px;z-index:2;width:170px;padding:16px;background:#fff;border:1px solid #e1e7ef;border-radius:8px;box-shadow:0 14px 30px rgba(6,17,31,.15)}.ta-map-legend strong{display:block;margin-bottom:10px;text-transform:uppercase;font-size:11px}.ta-map-legend span{display:flex;align-items:center;gap:9px;margin:10px 0;font-size:11px}.ta-map-legend span[hidden]{display:none!important}.ta-map-legend b{margin-left:auto;color:#667085;font-size:10px}.ta-map-legend i{width:14px;height:14px;border-radius:999px;display:block}.ta-map-legend .hot{background:#F92355}.ta-map-legend .blue{background:#1D8FFF}.ta-map-legend .cyan{background:#34D3E6}.ta-map-legend .gold{background:#F59E0B}.ta-map-legend .food{background:#0F8E46}
#ta-map{height:620px;width:100%;border-radius:0;overflow:hidden;border:1px solid #dbe4ee;box-shadow:none}.ta-marker{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:950;box-shadow:0 6px 14px rgba(0,0,0,.22);border:3px solid #fff}.ta-marker.charger,.ta-marker.charger-supercharger{background:#F92355}.ta-marker.charger-supercharger{z-index:4;width:34px;height:34px;box-shadow:0 8px 20px rgba(249,35,85,.34)}.ta-marker.charger-ccs{background:#1D8FFF}.ta-marker.stop{background:#1d8fff;z-index:20!important}.ta-marker.planned-stop{background:#7c3aed;z-index:21!important}.ta-marker.hotel{background:#7c3aed}.ta-marker.is-route-stop-highlight{border-color:#34D3E6!important;box-shadow:0 0 0 3px rgba(52,211,230,.28),0 10px 24px rgba(249,35,85,.34)!important}.ta-stop-list--itinerary .ta-itinerary-stop--planned_stop{border-left:3px solid #7c3aed;background:#faf7ff}.ta-stop-list--itinerary .ta-itinerary-stop--planned_stop em{background:#ede9fe;color:#5b21b6}
.ta-stays{margin-top:14px;background:#fff;border:1px solid #e6ebf1;border-radius:8px;padding:14px}.ta-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ta-section-head h3{margin:0;font-size:12px;text-transform:uppercase;font-weight:950;letter-spacing:.03em}.ta-section-head a{font-size:12px;color:#0879c9!important;text-decoration:none!important;font-weight:900}
.ta-hotel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.ta-hotel-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px;min-width:0;overflow:hidden;transition:.25s}.ta-hotel-card:hover{transform:translateY(-4px)}.ta-hotel-img{background:linear-gradient(135deg,#08213a,#19b7e8);border-radius:7px;min-height:86px}.ta-hotel-card h4{margin:0 0 4px;font-size:13px;line-height:1.18}.ta-hotel-card small{color:#667085;font-size:10px}.ta-hotel-card p{font-size:10.5px;margin:5px 0}.ta-features{color:#475467}.ta-hotel-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:8px}.ta-hotel-bottom span{font-size:10px;color:#0f8e46}.ta-hotel-bottom b{display:block;font-size:19px;color:#0f8e46}.ta-hotel-bottom a{background:#f92355;color:#fff!important;text-decoration:none!important;border-radius:6px;padding:9px 11px;font-size:11px;font-weight:950;white-space:nowrap}
.ta-panel-head{display:flex;justify-content:space-between;gap:10px}.ta-panel-head h2{margin:0;font-size:19px}.ta-panel-head span{background:#dff6e7;color:#0f8e46;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:900;height:max-content}.ta-score-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin-top:12px}.ta-score-box small,.ta-score-soft small{font-weight:900;color:#475467}.ta-score-box strong{display:block;color:#0f8e46;font-size:40px;line-height:1}.ta-score-box strong span{font-size:17px}.ta-score-box p,.ta-score-soft p{margin:5px 0;color:#0f8e46;font-weight:850;font-size:12px}.ta-mini-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px}.ta-mini-scores div{background:#f6faf8;border-radius:6px;padding:7px 4px;text-align:center;font-size:9px;color:#667085}.ta-mini-scores b{display:block;color:#0f8e46}
.ta-info-block{margin-top:14px}.ta-info-block h4{font-size:11px;text-transform:uppercase;margin:0 0 8px}.ta-info-block p,.ta-info-block li{font-size:12px;line-height:1.45;color:#475467}.ta-info-block ul{list-style:none;padding:0;margin:0}.ta-info-block li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #edf1f5}.ta-info-block li span{color:#f59e0b;font-weight:900}.ta-green{color:#0f8e46!important;font-weight:900}.ta-score-soft{background:#eefaf4;border-radius:8px;padding:12px;margin-top:13px}.ta-score-soft strong{display:block;font-size:25px;color:#0f8e46}.ta-panel-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
.ta-owner-cta{max-width:1100px;margin:0 auto 26px;padding:40px;display:grid;grid-template-columns:46px 1fr 190px;gap:18px;align-items:center;background:linear-gradient(135deg,#06111f,#0c2140);color:#fff;border-radius:24px}.ta-owner-icon{width:44px;height:44px;border:1px solid #f92355;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#f92355;font-size:30px}.ta-owner-cta h2{margin:0 0 6px;font-size:20px;color:#fff}.ta-owner-cta p{margin:0;color:rgba(255,255,255,.8);font-size:12px}
@media(max-width:1200px){.ta-route-app{grid-template-columns:320px 1fr}.ta-right-panel{grid-column:1/-1}.ta-hotel-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.ta-owner-cta{margin:20px;grid-template-columns:1fr}.ta-owner-cta a{margin-top:0}.ta-toolbar{flex-wrap:wrap}.ta-toolbar .ta-route-options{margin-left:0}}
@media(max-width:768px){.ta-route-app{grid-template-columns:1fr;padding:0 14px 14px;gap:14px}.ta-toolbar button{flex:1 1 45%}#ta-map{height:450px}.ta-owner-cta{margin:16px;padding:20px}.ta-stats-grid,.ta-mini-scores{grid-template-columns:repeat(2,1fr)}}

/* TeslAddict EV Travel v1.2 Layout Fix */
body .ta-route-app {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    transform: none !important;
    padding: 28px 42px !important;
    box-sizing: border-box !important;

    display: grid !important;
    grid-template-columns: 300px minmax(620px, 1fr) 330px !important;
    gap: 24px !important;

    background: #f5f7fa !important;
    overflow: visible !important;
}

.ta-map-area {
    min-width: 0 !important;
    overflow: visible !important;
}

#ta-map {
    width: 100% !important;
    height: 560px !important;
    border-radius: 18px !important;
}

.ta-right-panel {
    position: sticky !important;
    top: 120px !important;
    align-self: start !important;
    z-index: 5 !important;
}

.ta-stays {
    margin-top: 18px !important;
    padding: 18px !important;
    border-radius: 18px !important;
}

.ta-hotel-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.ta-hotel-card {
    grid-template-columns: 110px 1fr !important;
    min-width: 0 !important;
}

.ta-toolbar {
    justify-content: flex-start !important;
    gap: 10px !important;
}

.ta-toolbar button {
    border-radius: 999px !important;
    padding: 11px 22px !important;
    min-width: auto !important;
}

.ta-owner-cta {
    width: calc(100vw - 84px) !important;
    max-width: 1200px !important;
    margin: 34px auto !important;
    color: #ffffff !important;
}

.ta-owner-cta h2,
.ta-owner-cta p {
    color: #ffffff !important;
}

/* Hide stack-revealing strip for now */
.ta-feature-strip,
.ta-powered-strip,
.ta-stack-strip {
    display: none !important;
}

.ta-route-app + .ta-feature-strip,
.ta-feature-strip,
.ta-powered-strip,
.ta-stack-strip {
    display: none !important;
}

@media (max-width: 1200px) {
    body .ta-route-app {
        grid-template-columns: 280px 1fr !important;
    }

    .ta-right-panel {
        grid-column: 1 / -1 !important;
        position: relative !important;
        top: auto !important;
    }

    .ta-hotel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    body .ta-route-app {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
    }

    #ta-map {
        height: 420px !important;
    }

    .ta-hotel-grid {
        grid-template-columns: 1fr !important;
    }

    .ta-owner-cta {
        width: calc(100vw - 36px) !important;
    }
}

/* v1.3 Product Polish */
.ta-feature-strip,
.ta-powered-strip,
.ta-stack-strip {
    display: none !important;
}

.ta-hotel-card-v2 {
    display: grid !important;
    grid-template-columns: 120px 1fr !important;
    gap: 14px !important;
    padding: 14px !important;
    align-items: stretch !important;
    overflow: hidden !important;
}

.ta-hotel-card-v2 .ta-hotel-img {
    min-height: 150px !important;
    border-radius: 14px !important;
}

.ta-hotel-content {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.ta-hotel-content h4 {
    font-size: 14px !important;
    line-height: 1.2 !important;
    margin: 0 0 4px !important;
}

.ta-rating,
.ta-features {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.ta-hotel-score-row {
    margin-top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    color: #0f8e46 !important;
}

.ta-hotel-score-row span {
    font-size: 11px !important;
    font-weight: 800 !important;
}

.ta-hotel-score-row strong {
    font-size: 22px !important;
    line-height: 1 !important;
}

.ta-view-rates {
    margin-top: 10px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f92355 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-sizing: border-box !important;
}

.ta-extra-section {
    margin-top: 18px !important;
    background: #fff !important;
    border: 1px solid #e6ebf1 !important;
    border-radius: 18px !important;
    padding: 18px !important;
    box-shadow: 0 8px 26px rgba(6,17,31,.05) !important;
}

.ta-attraction-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.ta-attraction-card {
    background: #f8fafc !important;
    border: 1px solid #e8eef5 !important;
    border-radius: 16px !important;
    padding: 16px !important;
}

.ta-attraction-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    background: #eefafd !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    margin-bottom: 10px !important;
}

.ta-attraction-card h4 {
    margin: 0 0 6px !important;
    font-size: 15px !important;
}

.ta-attraction-card p {
    margin: 0 0 10px !important;
    font-size: 13px !important;
    color: #667085 !important;
}

.ta-attraction-card strong {
    font-size: 13px !important;
    color: #0f8e46 !important;
}

.ta-result-stay .ta-result-visual {
    background:
        radial-gradient(circle at 78% 24%, rgba(52,211,230,.28), transparent 34%),
        linear-gradient(135deg, #06111F, #34D3E6) !important;
}

.ta-savings-section {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr !important;
    gap: 24px !important;
    align-items: center !important;
    background: linear-gradient(135deg, #eefaf4, #ffffff) !important;
}

.ta-savings-section h3 {
    margin: 0 0 8px !important;
}

.ta-savings-section p {
    margin: 0 !important;
    color: #667085 !important;
}

.ta-savings-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
}

.ta-savings-grid div {
    background: #fff !important;
    border: 1px solid #dbeee3 !important;
    border-radius: 14px !important;
    padding: 14px !important;
    text-align: center !important;
}

.ta-savings-grid span {
    display: block !important;
    font-size: 11px !important;
    color: #667085 !important;
    margin-bottom: 6px !important;
}

.ta-savings-grid strong {
    display: block !important;
    font-size: 24px !important;
    color: #0f8e46 !important;
}

.ta-total-saving {
    background: #06111f !important;
}

.ta-total-saving span,
.ta-total-saving strong {
    color: #fff !important;
}

@media (max-width: 900px) {
    .ta-attraction-grid,
    .ta-savings-section,
    .ta-savings-grid {
        grid-template-columns: 1fr !important;
    }

    .ta-hotel-card-v2 {
        grid-template-columns: 1fr !important;
    }
}

/* v1.4 Final Polish */

.ta-route-app::after,
.ta-feature-strip,
.ta-powered-strip,
.ta-stack-strip {
    display: none !important;
}

/* Hotel card refinement */
.ta-hotel-card-v2 {
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(6,17,31,.06) !important;
}

.ta-hotel-content h4 {
    font-size: 15px !important;
    font-weight: 900 !important;
}

.ta-features {
    color: #475467 !important;
    min-height: 34px !important;
}

/* Attractions polish */
.ta-attraction-card {
    transition: .2s ease !important;
}

.ta-attraction-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 28px rgba(6,17,31,.08) !important;
}

/* Savings fix */
.ta-savings-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ta-savings-grid div:empty {
    display: none !important;
}

.ta-savings-grid .ta-total-saving {
    display: block !important;
}

.ta-total-saving::before {
    content: "Total Value";
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,.75);
    margin-bottom: 6px;
}

.ta-total-saving::after {
    content: "$59";
    display: block;
    font-size: 28px;
    line-height: 1;
    color: #fff;
    font-weight: 900;
}

/* Right sidebar premium treatment */
.ta-stop-panel {
    border-radius: 20px !important;
    box-shadow: 0 18px 40px rgba(6,17,31,.09) !important;
}

.ta-panel-head h2 {
    font-size: 30px !important;
    line-height: 1.08 !important;
}

.ta-score-box,
.ta-score-soft {
    box-shadow: inset 0 0 0 1px rgba(15,142,70,.08) !important;
}

/* Owner CTA polish */
.ta-owner-cta {
    background:
        radial-gradient(circle at 85% 20%, rgba(52,211,230,.22), transparent 30%),
        linear-gradient(135deg, #06111F, #0B2342) !important;
    box-shadow: 0 20px 50px rgba(6,17,31,.18) !important;
}

.ta-owner-cta .ta-primary-btn {
    box-shadow: 0 14px 30px rgba(249,35,85,.32) !important;
}

/* Reduce bottom whitespace */
.ta-owner-cta {
    margin-bottom: 26px !important;
}

/* v1.5 Surgical cleanup */

/* Remove stack-revealing strip */
.ta-route-app + .ta-extra-section + .ta-extra-section + div,
.ta-route-app ~ .ta-feature-strip,
.ta-route-app ~ .ta-powered-strip,
.ta-route-app ~ .ta-stack-strip {
    display: none !important;
}

/* Fix empty 4th savings card */
.ta-savings-grid div:empty {
    display: none !important;
}

.ta-savings-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ta-savings-grid::after {
    content: "Total Value\A$59";
    white-space: pre-line;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background: #06111f;
    border-radius: 14px;
    padding: 14px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.ta-savings-grid::after {
    font-size: 24px;
}

.ta-savings-grid::after:first-line {
    font-size: 11px;
    opacity: .8;
}

/* Lighten hotel image overlays */
.ta-hotel-card-v2 .ta-hotel-img {
    opacity: .95 !important;
    filter: saturate(1.05) brightness(1.08) !important;
}

/* Tighten bottom spacing */
.ta-owner-cta {
    margin-top: 28px !important;
    margin-bottom: 18px !important;
}

/* Cleaner page ending */
.ta-owner-cta + * {
    margin-top: 20px !important;
}

.ta-savings-grid::after {
    display: none !important;
    content: none !important;
}

.ta-savings-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ta-total-saving {
    background: #06111f !important;
    color: #fff !important;
}

.ta-total-saving span,
.ta-total-saving strong {
    color: #fff !important;
}

/* Sticky route toolbar */
body .ta-route-app .ta-toolbar {
    position: sticky !important;
    top: 112px !important;
    z-index: 80 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    background: rgba(245,247,250,.96) !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(6,17,31,.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body .ta-route-app .ta-toolbar button {
    flex: 0 0 auto !important;
}

@media (max-width: 768px) {
    body .ta-route-app .ta-toolbar {
        top: 96px !important;
        width: 100% !important;
        border-radius: 16px !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body .ta-route-app .ta-toolbar::-webkit-scrollbar {
        display: none !important;
    }

    body .ta-route-app .ta-toolbar button {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}

/* v1.6 Full-width lower route sections */

.ta-route-wide-sections {
    display: block !important;
    width: calc(100vw - 84px) !important;
    max-width: 1320px !important;
    margin: 24px auto 0 !important;
    box-sizing: border-box !important;
}

.ta-route-wide-sections .ta-extra-section {
    width: 100% !important;
    max-width: 100% !important;
}

.ta-route-wide-sections .ta-attraction-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ta-route-wide-sections .ta-savings-section {
    grid-template-columns: 1fr 1.4fr !important;
}

.ta-owner-cta {
    width: calc(100vw - 84px) !important;
    max-width: 1320px !important;
    margin-top: 28px !important;
}

/* Fix savings card */
.ta-savings-grid::after {
    display: none !important;
    content: none !important;
}

.ta-savings-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ta-total-saving {
    background: #06111f !important;
}

.ta-total-saving span,
.ta-total-saving strong {
    color: #ffffff !important;
}

@media (max-width: 900px) {
    .ta-route-wide-sections,
    .ta-owner-cta {
        width: calc(100vw - 36px) !important;
    }

    .ta-route-wide-sections .ta-attraction-grid,
    .ta-route-wide-sections .ta-savings-section,
    .ta-savings-grid {
        grid-template-columns: 1fr !important;
    }
}

/* v1.7 Wide sections final restore */
.ta-route-wide-sections {
    width: calc(100vw - 84px) !important;
    max-width: 1320px !important;
    margin: 24px auto 0 !important;
}

.ta-route-wide-sections .ta-extra-section {
    width: 100% !important;
}

.ta-savings-grid::after {
    display: none !important;
    content: none !important;
}

.ta-savings-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ta-total-saving {
    background: #06111f !important;
}

.ta-total-saving span,
.ta-total-saving strong {
    color: #fff !important;
}

.ta-stop {
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
    text-align: left !important;
}

.ta-stop.active {
    background: #f0f8ff !important;
    border-radius: 12px !important;
    padding: 10px !important;
}

.ta-stop:hover {
    background: #f7fbff !important;
    border-radius: 12px !important;
}

/* v1.9 Toolbar filters */
.ta-map-area {
    overflow: visible !important;
}

.ta-toolbar {
    position: sticky !important;
    top: 112px !important;
    z-index: 80 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    background: rgba(245,247,250,.96) !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 26px rgba(6,17,31,.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

.ta-toolbar.is-sticky {
    position: fixed !important;
    margin: 0 !important;
}

.ta-toolbar-placeholder {
    display: block;
    height: 0;
    margin: 0;
    padding: 0;
}

.ta-toolbar-placeholder.is-active {
    display: block;
}

.ta-toolbar button {
    height: 38px !important;
    border-radius: 8px !important;
    padding: 0 18px !important;
    background: #fff !important;
    border: 1px solid #cfd8e3 !important;
    color: #06111F !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.ta-toolbar .ta-route-options {
    margin-left: auto !important;
}

.ta-toolbar button[data-filter].active {
    background: #f92355 !important;
    color: #fff !important;
    border-color: #f92355 !important;
    box-shadow: 0 8px 18px rgba(249,35,85,.16) !important;
}

.ta-toolbar button[data-filter="route-options"] {
    position: relative !important;
}

.ta-route-options-menu {
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    z-index: 25 !important;
    width: 240px !important;
    padding: 8px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 18px 42px rgba(6,17,31,.16) !important;
}

.ta-route-options-menu[hidden] {
    display: none !important;
}

.ta-route-options-menu button {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #06111F !important;
    text-align: left !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.ta-route-options-menu button:hover {
    background: #eefbfe !important;
    color: #0879c9 !important;
}

.ta-route-options-menu button.active {
    background: #f92355 !important;
    color: #fff !important;
}

.ta-route-options-help {
    margin: 8px 6px 2px !important;
    color: #667085 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.ta-route-option-note {
    margin: 10px 0 0 !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    background: #eefbfe !important;
    color: #475467 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
}

.ta-stop.is-recommended {
    background: rgba(15,142,70,.06) !important;
    border-radius: 14px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.ta-stop-calc-score {
    display: inline-flex !important;
    margin-top: 4px !important;
    color: #0f8e46 !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
}

.ta-marker.stay {
    background: #34D3E6 !important;
    color: #06111F !important;
}

.ta-marker.attraction {
    background: #f59e0b !important;
}

.ta-marker.food {
    background: #0f8e46 !important;
}

.ta-marker.family {
    background: #6057d8 !important;
}

.ta-marker.ta-layer-representative {
    position: relative !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 0 !important;
    border-width: 2px !important;
    border-radius: 50% !important;
    font-size: 13px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    z-index: 8 !important;
}

.ta-marker.ta-layer-representative .ta-layer-marker-count {
    position: absolute !important;
    top: -6px !important;
    left: 50% !important;
    right: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 14px !important;
    height: 14px !important;
    padding: 0 3px !important;
    border: 1.5px solid #fff !important;
    border-radius: 999px !important;
    background: #06111f !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 3px 8px rgba(6,17,31,.22) !important;
    transform: translateX(-50%) !important;
}

.ta-layer-items-panel[hidden] {
    display: none !important;
}

.ta-layer-items-panel {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482990 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    pointer-events: none !important;
}

.ta-layer-items-panel__backdrop {
    position: absolute !important;
    inset: 0 !important;
    border: 0 !important;
    background: rgba(6,17,31,.42) !important;
    opacity: 0 !important;
    transition: opacity .18s ease !important;
    pointer-events: none !important;
}

.ta-layer-items-panel__dialog {
    position: relative !important;
    z-index: 1 !important;
    width: min(430px, calc(100vw - 40px)) !important;
    max-height: min(680px, calc(100vh - 80px)) !important;
    overflow: hidden !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 24px 60px rgba(6,17,31,.24) !important;
    opacity: 0 !important;
    transform: translateY(10px) scale(.98) !important;
    transition: opacity .18s ease, transform .18s ease !important;
    pointer-events: auto !important;
}

.ta-layer-items-panel.is-open .ta-layer-items-panel__backdrop,
.ta-layer-items-panel.is-open .ta-layer-items-panel__dialog {
    opacity: 1 !important;
}

.ta-layer-items-panel.is-open .ta-layer-items-panel__dialog {
    transform: translateY(0) scale(1) !important;
}

.ta-layer-items-panel__handle {
    display: none !important;
}

.ta-layer-items-panel__header {
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) 34px !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 16px 16px 12px !important;
    border-bottom: 1px solid #edf1f5 !important;
}

.ta-layer-items-panel__header small {
    display: block !important;
    margin-bottom: 3px !important;
    color: #667085 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

.ta-layer-items-panel__title {
    margin: 0 !important;
    color: #06111f !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
}

.ta-layer-items-panel__close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f2f4f7 !important;
    color: #06111f !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.ta-layer-items-panel__back {
    min-height: 34px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #35516d !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.ta-layer-items-panel__back[hidden] {
    display: none !important;
}

.ta-layer-items-panel__list {
    display: grid !important;
    max-height: min(560px, calc(100vh - 180px)) !important;
    overflow-y: auto !important;
    padding: 6px 16px 14px !important;
    -webkit-overflow-scrolling: touch !important;
}

.ta-layer-items-panel__footer[hidden] {
    display: none !important;
}

.ta-layer-items-panel__footer {
    padding: 0 16px max(14px, env(safe-area-inset-bottom)) !important;
}

.ta-layer-items-panel__footer-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #06111f !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.ta-layer-item-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #edf1f5 !important;
}

.ta-layer-item-row:last-child {
    border-bottom: 0 !important;
}

.ta-layer-item-row__copy {
    min-width: 0 !important;
}

.ta-layer-item-row__copy strong,
.ta-layer-item-row__copy span,
.ta-layer-item-row__copy small {
    display: block !important;
}

.ta-layer-item-row__recommended {
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    margin: 5px 0 0 !important;
    padding: 3px 7px !important;
    border-radius: 999px !important;
    background: #e6f7e9 !important;
    color: #11923b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.ta-layer-item-row__copy strong {
    overflow-wrap: anywhere !important;
    color: #06111f !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
}

.ta-layer-item-row__copy span {
    margin-top: 3px !important;
    color: #475467 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.ta-layer-item-row__copy small {
    margin-top: 3px !important;
    color: #667085 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

.ta-layer-item-row__action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #06111f !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

@media (max-width: 768px) {
    body.ta-layer-items-panel-open {
        overflow: hidden !important;
    }

    .ta-layer-items-panel {
        align-items: flex-end !important;
        padding: 12px !important;
        padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }

    .ta-layer-items-panel__dialog {
        width: min(100%, 430px) !important;
        max-height: calc(100svh - 48px) !important;
        border-radius: 22px !important;
        transform: translateY(calc(100% + 24px)) !important;
    }

    .ta-layer-items-panel.is-open .ta-layer-items-panel__dialog {
        transform: translateY(0) !important;
    }

    .ta-layer-items-panel__handle {
        display: block !important;
        width: 38px !important;
        height: 4px !important;
        margin: 8px auto 0 !important;
        border-radius: 999px !important;
        background: #d0d5dd !important;
    }

    .ta-layer-items-panel__header {
        padding-top: 10px !important;
    }

    .ta-layer-items-panel__list {
        max-height: calc(100svh - 170px) !important;
        padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ta-layer-items-panel__backdrop,
    .ta-layer-items-panel__dialog {
        transition: none !important;
    }
}

.ta-results-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    min-height: 286px !important;
    align-items: stretch !important;
}

.ta-result-card {
    min-width: 0 !important;
    min-height: 258px !important;
    padding: 14px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(6,17,31,.06) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.ta-stays {
    min-height: 344px !important;
}

.ta-hotel-grid {
    min-height: 286px !important;
    align-items: stretch !important;
}

.ta-hotel-card-v2 {
    min-height: 258px !important;
}

.ta-stays .ta-section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 6px 16px !important;
}

.ta-panel-helper {
    grid-column: 1 / -1 !important;
    margin: 5px 0 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

.ta-result-visual {
    width: 100% !important;
    min-height: 96px !important;
    margin-bottom: 12px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #06111F, #34D3E6) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 34px !important;
    font-weight: 950 !important;
}

.ta-result-content {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

.ta-result-card small {
    display: block !important;
    margin-bottom: 8px !important;
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

.ta-result-card h4 {
    margin: 0 0 8px !important;
    color: #06111F !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
}

.ta-result-card p {
    margin: 0 0 10px !important;
    color: #475467 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.ta-result-meta,
.ta-result-features {
    min-height: 34px !important;
}

.ta-result-score {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: auto !important;
    margin-bottom: 10px !important;
    color: #0F8E46 !important;
    font-weight: 950 !important;
}

.ta-result-score-row {
    margin-top: auto !important;
    margin-bottom: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    color: #0F8E46 !important;
}

.ta-result-score-row span {
    font-size: 11px !important;
    font-weight: 900 !important;
}

.ta-result-score-row strong {
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ta-result-actions {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 8px !important;
    align-items: center !important;
}

.ta-result-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #e9f8ef !important;
    color: #0F8E46 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.ta-result-card .ta-popup-cta,
.ta-result-card .ta-popup-secondary {
    margin-top: 4px !important;
}

.ta-result-charger {
    border-top: 4px solid #F92355 !important;
}

.ta-result-charger .ta-result-visual {
    background:
        radial-gradient(circle at 78% 24%, rgba(249,35,85,.34), transparent 34%),
        linear-gradient(135deg, #06111F, #F92355) !important;
}

.ta-result-charger.public {
    border-top-color: #1D8FFF !important;
}

.ta-result-charger.public .ta-result-visual {
    background:
        radial-gradient(circle at 78% 24%, rgba(52,211,230,.32), transparent 34%),
        linear-gradient(135deg, #06111F, #1D8FFF) !important;
}

.ta-result-attraction {
    border-top: 4px solid #F59E0B !important;
}

.ta-result-attraction .ta-result-visual {
    background:
        radial-gradient(circle at 78% 24%, rgba(245,158,11,.38), transparent 34%),
        linear-gradient(135deg, #06111F, #F59E0B) !important;
}

.ta-result-food {
    border-top: 4px solid #0F8E46 !important;
}

.ta-result-food .ta-result-visual {
    background:
        radial-gradient(circle at 78% 24%, rgba(52,211,230,.28), transparent 34%),
        linear-gradient(135deg, #06111F, #0F8E46) !important;
}

/* v1.7 Compact mockup-matched dynamic results panel */
.ta-stays {
    min-height: 214px !important;
    height: 214px !important;
    padding: 12px 14px !important;
    overflow: hidden !important;
}

.ta-stays .ta-section-head {
    margin-bottom: 10px !important;
}

.ta-panel-helper {
    display: none !important;
}

.ta-hotel-grid,
.ta-results-grid {
    min-height: 154px !important;
    height: 154px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.ta-hotel-card-v2,
.ta-result-card {
    min-height: 154px !important;
    height: 154px !important;
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 18px rgba(6,17,31,.055) !important;
    align-items: stretch !important;
}

.ta-hotel-content,
.ta-result-content {
    overflow: hidden !important;
}

.ta-hotel-card-v2 .ta-hotel-img,
.ta-result-visual {
    width: 92px !important;
    min-height: 134px !important;
    height: 134px !important;
    margin: 0 !important;
    border-radius: 10px !important;
}

.ta-result-visual {
    font-size: 28px !important;
}

.ta-hotel-content h4,
.ta-result-card h4 {
    font-size: 12px !important;
    line-height: 1.12 !important;
    margin-bottom: 3px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.ta-hotel-content small,
.ta-result-card small {
    font-size: 9.5px !important;
    line-height: 1.25 !important;
    margin-bottom: 2px !important;
}

.ta-rating,
.ta-features,
.ta-result-card p,
.ta-result-meta,
.ta-result-features {
    font-size: 9.5px !important;
    line-height: 1.22 !important;
    margin: 2px 0 !important;
    min-height: 0 !important;
}

.ta-rating,
.ta-result-meta {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ta-features,
.ta-result-features {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.ta-hotel-score-row,
.ta-result-score-row {
    margin-top: auto !important;
    margin-bottom: 5px !important;
}

.ta-hotel-score-row span,
.ta-result-score-row span {
    font-size: 9.5px !important;
}

.ta-hotel-score-row strong,
.ta-result-score-row strong {
    font-size: 17px !important;
}

.ta-view-rates,
.ta-result-card .ta-popup-cta {
    min-height: 28px !important;
    padding: 7px 10px !important;
    border-radius: 8px !important;
    font-size: 10.5px !important;
}

.ta-result-actions {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
}

.ta-result-pill {
    display: none !important;
}

@media (max-width: 900px) {
    .ta-stays,
    .ta-hotel-grid,
    .ta-results-grid,
    .ta-hotel-card-v2,
    .ta-result-card {
        height: auto !important;
    }

    .ta-results-grid {
        grid-template-columns: 1fr !important;
    }

    .ta-result-card {
        min-height: 0 !important;
    }

    .ta-result-actions {
        grid-template-columns: 1fr !important;
    }

    .ta-hotel-grid {
        grid-template-columns: 1fr !important;
    }
}

/* v1.8 Compact card readability without changing panel height */
.ta-hotel-card-v2,
.ta-result-card {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 9px !important;
}

.ta-hotel-card-v2 .ta-hotel-img,
.ta-result-visual {
    width: 86px !important;
    min-height: 136px !important;
    height: 136px !important;
}

.ta-hotel-content,
.ta-result-content {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.ta-hotel-content h4,
.ta-result-card h4 {
    font-size: 11.5px !important;
    line-height: 1.12 !important;
    margin-bottom: 2px !important;
}

.ta-hotel-content small,
.ta-result-card small,
.ta-rating,
.ta-features,
.ta-result-card p,
.ta-result-meta,
.ta-result-features {
    font-size: 9px !important;
    line-height: 1.18 !important;
}

.ta-hotel-content small,
.ta-result-card small,
.ta-rating,
.ta-result-meta,
.ta-result-features {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ta-features {
    -webkit-line-clamp: 1 !important;
}

.ta-result-card .ta-result-meta,
.ta-result-card .ta-result-features {
    min-height: 0 !important;
}

.ta-hotel-score-row,
.ta-result-score-row {
    min-height: 24px !important;
    margin-bottom: 4px !important;
}

.ta-hotel-score-row span,
.ta-result-score-row span {
    font-size: 8.5px !important;
    line-height: 1.05 !important;
}

.ta-hotel-score-row strong,
.ta-result-score-row strong {
    font-size: 16px !important;
}

.ta-view-rates,
.ta-result-card .ta-popup-cta,
.ta-result-card .ta-popup-secondary {
    min-height: 26px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
}

/* v1.9 Mockup-style Stay cards, no Stay22 mark */
.ta-hotel-card-v2 {
    min-height: 0 !important;
    height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 16px !important;
}

.ta-hotel-card-v2 .ta-hotel-img {
    width: 100% !important;
    min-height: 132px !important;
    height: 132px !important;
    border-radius: 14px !important;
}

.ta-hotel-card-v2 .ta-hotel-content {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.ta-hotel-card-v2 .ta-hotel-content h4 {
    font-size: 15px !important;
    line-height: 1.2 !important;
    margin: 0 0 6px !important;
    -webkit-line-clamp: 2 !important;
}

.ta-hotel-card-v2 .ta-hotel-content small,
.ta-hotel-card-v2 .ta-rating,
.ta-hotel-card-v2 .ta-features {
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin: 2px 0 !important;
}

.ta-hotel-card-v2 .ta-features {
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    min-height: 32px !important;
}

.ta-stay-card-footer {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-top: auto !important;
}

.ta-stay-card-meta {
    min-width: 0 !important;
}

.ta-hotel-card-v2 .ta-hotel-score-row {
    display: block !important;
    width: max-content !important;
    min-width: 76px !important;
    padding: 6px 8px !important;
    margin: 0 0 6px !important;
    border-radius: 8px !important;
    background: #e9f8ef !important;
}

.ta-hotel-card-v2 .ta-hotel-score-row span {
    display: block !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    color: #0F8E46 !important;
}

.ta-hotel-card-v2 .ta-hotel-score-row strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: #0F8E46 !important;
}

.ta-stay-price {
    margin: 0 !important;
    color: #06111F !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
}

.ta-stay-price span {
    display: block !important;
    color: #667085 !important;
    font-size: 8px !important;
    font-weight: 700 !important;
}

.ta-hotel-card-v2 .ta-view-rates {
    align-self: end !important;
    justify-self: auto !important;
    min-height: 34px !important;
    padding: 9px 12px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
}

.ta-stays,
.ta-hotel-grid {
    min-height: 0 !important;
    height: auto !important;
}

.ta-hotel-grid {
    align-items: start !important;
}

@media (max-width: 900px) {
    .ta-stays,
    .ta-hotel-grid,
    .ta-results-grid,
    .ta-hotel-card-v2,
    .ta-result-card {
        height: auto !important;
    }

    .ta-hotel-card-v2,
    .ta-result-card {
        min-height: 0 !important;
        grid-template-columns: 1fr !important;
    }

    .ta-hotel-card-v2 .ta-hotel-img,
    .ta-result-visual {
        width: 100% !important;
        min-height: 140px !important;
        height: 140px !important;
    }
}

body .ta-route-app #ta-map .mapboxgl-popup.ta-map-popup {
    z-index: 30 !important;
}

.ta-map-popup .mapboxgl-popup-content {
    width: min(320px, calc(100vw - 42px)) !important;
    padding: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 18px 42px rgba(6,17,31,.16) !important;
    background: #ffffff !important;
}

.ta-map-popup .mapboxgl-popup-close-button {
    width: 28px !important;
    height: 28px !important;
    right: 6px !important;
    top: 6px !important;
    border-radius: 999px !important;
    color: #06111F !important;
    background: rgba(255,255,255,.88) !important;
    font-size: 18px !important;
    line-height: 26px !important;
    z-index: 2 !important;
}

.ta-popup-card {
    display: grid !important;
    grid-template-columns: 92px 1fr !important;
    gap: 12px !important;
    padding: 12px !important;
    color: #06111F !important;
}

.ta-popup-thumb {
    min-height: 112px !important;
    border-radius: 14px !important;
    background-size: cover !important;
    background-position: center !important;
}

.ta-popup-body {
    min-width: 0 !important;
}

.ta-popup-body small {
    display: block !important;
    margin-bottom: 4px !important;
    color: #667085 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

.ta-popup-body h4 {
    margin: 0 28px 4px 0 !important;
    color: #06111F !important;
    font-size: 14px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
}

.ta-popup-body p {
    margin: 0 0 7px !important;
    color: #475467 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.ta-popup-meta {
    color: #f59e0b !important;
    font-weight: 850 !important;
}

.ta-popup-score strong,
.ta-popup-bottom span,
.ta-popup-status {
    color: #0f8e46 !important;
    font-weight: 950 !important;
}

.ta-popup-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-top: 8px !important;
}

.ta-popup-bottom a,
.ta-popup-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 10px !important;
    background: #f92355 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border:0 !important;
    cursor:pointer !important;
    font-family:inherit !important;
}

.ta-popup-secondary {
    color: #0879c9 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.ta-popup-chargers-action {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    min-height: 25px !important;
    margin-top: 1px !important;
    padding: 3px 8px !important;
    border: 1px solid rgba(52,211,230,.68) !important;
    border-radius: 999px !important;
    background: rgba(52,211,230,.14) !important;
    color: #0879c9 !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.ta-popup-chargers-action span {
    color: #34d3e6 !important;
    font-size: 12px !important;
}

.ta-popup-attraction,
.ta-popup-charger {
    grid-template-columns: 48px 1fr !important;
}

.ta-popup-icon {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    background: #eefbfe !important;
    font-size: 22px !important;
}

.ta-popup-icon-pink {
    background: rgba(249,35,85,.12) !important;
    color: #f92355 !important;
}

.ta-popup-icon-blue {
    background: rgba(29,143,255,.12) !important;
    color: #1D8FFF !important;
}

.ta-family-highlight {
    animation: taFamilyPulse 1.5s ease !important;
    box-shadow: 0 0 0 4px rgba(52,211,230,.22), 0 18px 34px rgba(15,142,70,.16) !important;
}

.ta-sidebar-note {
    margin: 8px 0 0 !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

@keyframes taFamilyPulse {
    0% { transform: translateY(0); }
    35% { transform: translateY(-2px); }
    100% { transform: translateY(0); }
}

/* v1.8 Premium route stop sidebar */
.ta-right-panel {
    position: sticky !important;
    top: 118px !important;
    align-self: start !important;
    min-width: 0 !important;
    z-index: 6 !important;
}

.ta-stop-panel-premium {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    padding: 16px !important;
    background: #fff !important;
    border: 1px solid #dbe4ee !important;
    box-shadow: 0 18px 42px rgba(6,17,31,.1) !important;
}

.ta-panel-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto 22px !important;
    align-items: start !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

.ta-panel-title-row {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 8px !important;
}

.ta-stop-number-badge {
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #1d8fff !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

.ta-panel-top h2 {
    min-width: 0 !important;
    margin: 0 !important;
    color: #06111F !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ta-recommended-pill,
.ta-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    border-radius: 999px !important;
    background: #dff6e7 !important;
    color: #0f8e46 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    padding: 7px 9px !important;
    white-space: nowrap !important;
}

.ta-route-best-badges,
.ta-stop-best-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 8px !important;
}

.ta-route-best-badge,
.ta-stop-best-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: #f4f8ff !important;
    border: 1px solid #d7e5ff !important;
    color: #184b9b !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
}

.ta-route-best-badge strong {
    color: inherit !important;
    font-weight: 950 !important;
}

.ta-route-best-badge-charging,
.ta-stop-best-badge-charging {
    background: #fff4f6 !important;
    border-color: #ffd2dc !important;
    color: #c51645 !important;
}

.ta-route-best-badge-food,
.ta-stop-best-badge-food {
    background: #fff8ed !important;
    border-color: #f5dfb8 !important;
    color: #9a5b00 !important;
}

.ta-route-best-badge-family,
.ta-stop-best-badge-family {
    background: #f2fbef !important;
    border-color: #cdecc6 !important;
    color: #137a31 !important;
}

.ta-route-best-badge-overnight,
.ta-stop-best-badge-overnight {
    background: #f2f7ff !important;
    border-color: #d6e2ff !important;
    color: #1d4fa5 !important;
}

.ta-panel-close {
    width: 22px !important;
    height: 22px !important;
    border: 0 !important;
    background: transparent !important;
    color: #667085 !important;
    font-size: 22px !important;
    line-height: 20px !important;
    cursor: default !important;
    padding: 0 !important;
}

.ta-stop-score-card {
    margin-top: 0 !important;
    padding: 14px !important;
    border-radius: 14px !important;
    border: 1px solid #dfe7ef !important;
    background: #fff !important;
}

.ta-score-card-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 8px !important;
}

.ta-score-card-head small,
.ta-score-card-soft small {
    display: block !important;
    color: #06111F !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}

.ta-info-dot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 13px !important;
    height: 13px !important;
    margin-left: 4px !important;
    border-radius: 999px !important;
    background: #eef2f6 !important;
    color: #667085 !important;
    font-size: 9px !important;
    font-style: normal !important;
    text-transform: none !important;
}

.ta-score-main-row {
    display: grid !important;
    grid-template-columns: 1fr 112px !important;
    align-items: center !important;
    gap: 10px !important;
}

.ta-score-main-row #ta-stop-score {
    display: block !important;
    color: #0f8e46 !important;
    font-size: 42px !important;
    line-height: .95 !important;
    font-weight: 950 !important;
}

.ta-score-main-row #ta-stop-score span {
    font-size: 16px !important;
}

#ta-stop-score-caption {
    margin: 5px 0 0 !important;
    color: #0f8e46 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.ta-score-gauge {
    position: relative !important;
    width: 104px !important;
    height: 58px !important;
    overflow: hidden !important;
}

.ta-score-gauge::before {
    content: "" !important;
    position: absolute !important;
    left: 9px !important;
    top: 8px !important;
    width: 78px !important;
    height: 78px !important;
    border-radius: 999px !important;
    border: 12px solid #e8f4ee !important;
    border-top-color: #19a85b !important;
    border-left-color: #19a85b !important;
    transform: rotate(45deg) !important;
}

.ta-score-gauge span {
    position: absolute !important;
    left: 62px !important;
    top: 42px !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #c8d0d8 !important;
}

.ta-stop-panel-premium .ta-mini-scores {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin-top: 12px !important;
}

.ta-stop-panel-premium .ta-mini-scores div {
    min-width: 0 !important;
    padding: 8px 4px !important;
    border-radius: 8px !important;
    background: #f4fbf7 !important;
    color: #667085 !important;
    text-align: center !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

.ta-stop-panel-premium .ta-mini-scores b {
    display: block !important;
    margin-top: 2px !important;
    color: #0f8e46 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

.ta-charging-block {
    margin-top: 14px !important;
}

.ta-charging-block h4,
.ta-sidebar-list-head h4 {
    margin: 0 !important;
    color: #06111F !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.ta-charging-row {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 10px !important;
    margin-top: 9px !important;
}

.ta-charger-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #f92355 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ta-charging-block #ta-stop-charger {
    margin: 0 !important;
    color: #475467 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.ta-charging-block #ta-stop-charger strong {
    display: block !important;
    color: #06111F !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 950 !important;
}

.ta-charging-block .ta-registry-confidence {
    display: inline-block !important;
    margin: 5px 0 2px !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.ta-charging-block .ta-registry-confidence--verified {
    color: #0b6f38 !important;
    background: #e9f8ef !important;
}

.ta-charging-block .ta-registry-confidence--community {
    color: #5f4a00 !important;
    background: #fff6d8 !important;
}

.ta-charging-block .ta-registry-power {
    display: block !important;
}

.ta-charging-block #ta-stop-charge-time {
    margin: 10px 0 0 34px !important;
    color: #0f8e46 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.ta-score-card-soft {
    display: grid !important;
    grid-template-columns: 54px 1fr !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
    background: linear-gradient(135deg, #f6fbf8, #fff) !important;
    box-shadow: 0 10px 24px rgba(6,17,31,.04) !important;
}

.ta-soft-icon {
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #dff6e7 !important;
    color: #0f8e46 !important;
    font-size: 24px !important;
}

.ta-score-card-soft strong {
    display: block !important;
    margin-top: 4px !important;
    color: #0f8e46 !important;
    font-size: 27px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ta-score-card-soft p {
    margin: 2px 0 0 !important;
    color: #0f8e46 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
}

.ta-sidebar-attraction-list {
    margin-top: 14px !important;
}

.ta-sidebar-list-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}

.ta-sidebar-list-head a {
    flex: 0 0 auto !important;
    color: #0879c9 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.ta-sidebar-attraction-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #edf1f5 !important;
    align-items: center !important;
    text-decoration: none !important;
    color: inherit !important;
}

.ta-sidebar-attraction-row:last-child {
    border-bottom: 0 !important;
}

.ta-sidebar-attraction-row strong {
    display: block !important;
    color: #06111F !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 950 !important;
}

.ta-sidebar-attraction-row small {
    display: block !important;
    margin-top: 2px !important;
    color: #667085 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

.ta-sidebar-poi-row strong {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
}

.ta-sidebar-poi-row small {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ta-sidebar-attraction-row span {
    color: #f59e0b !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

.ta-sidebar-attraction-row span::before {
    content: "★ " !important;
}

.ta-sidebar-poi-row span::before {
    content: "" !important;
}

.ta-panel-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

.ta-panel-actions a {
    min-height: 42px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.ta-panel-actions .ta-primary-btn {
    background: #f92355 !important;
    color: #fff !important;
}

.ta-panel-actions .ta-secondary-btn {
    background: #fff !important;
    color: #06111F !important;
}

@media (max-width: 1200px) {
    .ta-right-panel {
        position: relative !important;
        top: auto !important;
        grid-column: 1 / -1 !important;
    }

    .ta-stop-panel-premium {
        max-width: 520px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 520px) {
    .ta-panel-top {
        grid-template-columns: 1fr 22px !important;
    }

    .ta-recommended-pill {
        grid-column: 1 / -1 !important;
        margin-left: 30px !important;
    }

    .ta-score-main-row {
        grid-template-columns: 1fr !important;
    }

    .ta-score-gauge {
        display: none !important;
    }

    .ta-panel-actions {
        grid-template-columns: 1fr !important;
    }
}

/* v2.0 Integrated mockup toolbar */
.ta-route-workspace {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
}

body .ta-route-app .ta-route-workspace .ta-toolbar,
body .ta-route-app .ta-toolbar {
    position: sticky !important;
    top: 136px !important;
    z-index: 80 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-height: 46px !important;
    margin: 0 0 10px !important;
    padding: 3px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body .ta-route-app .ta-toolbar.is-sticky {
    position: fixed !important;
    top: 136px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    background: rgba(255,255,255,.84) !important;
    border: 1px solid #e6edf3 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 6px rgba(6,17,31,.04) !important;
    box-sizing: border-box !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

body > .ta-toolbar.is-sticky {
    position: fixed !important;
    top: 136px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    background: rgba(255,255,255,.84) !important;
    border: 1px solid #e6edf3 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 6px rgba(6,17,31,.04) !important;
    box-sizing: border-box !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

body .ta-route-app .ta-toolbar.is-sticky button:not(.active),
body > .ta-toolbar.is-sticky button:not(.active) {
    background: rgba(255,255,255,.9) !important;
}

body .ta-route-app .ta-toolbar button {
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 12px !important;
    padding: 0 18px !important;
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    color: #06111F !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

body > .ta-toolbar.is-sticky button {
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 12px !important;
    padding: 0 18px !important;
    background: #ffffff !important;
    border: 1px solid #dbe4ee !important;
    color: #06111F !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

body .ta-route-app .ta-toolbar button[data-filter].active {
    background: #F92355 !important;
    border-color: #F92355 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body > .ta-toolbar.is-sticky button[data-filter].active {
    background: #F92355 !important;
    border-color: #F92355 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .ta-route-app .ta-toolbar .ta-route-options {
    margin-left: auto !important;
}

body > .ta-toolbar.is-sticky .ta-route-options {
    margin-left: auto !important;
}

body .ta-route-app .ta-map-wrap {
    margin-top: 0 !important;
}

@media (max-width: 768px) {
    body .ta-route-app .ta-route-workspace .ta-toolbar,
    body .ta-route-app .ta-toolbar {
        top: 96px !important;
        min-height: 46px !important;
        padding: 3px 0 !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body .ta-route-app .ta-toolbar.is-sticky {
        top: 96px !important;
        padding: 4px 6px !important;
    }

    body .ta-route-app .ta-toolbar::-webkit-scrollbar {
        display: none !important;
    }
}

/* Route Directory Generator v1 */
.ta-routes-directory,
.ta-routes-directory *{box-sizing:border-box}
.ta-routes-directory{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:34px 0 54px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#06111f}
.ta-routes-hero{position:relative;overflow:hidden;border:1px solid #dbe4ee;border-radius:24px;padding:42px;background:radial-gradient(circle at 82% 18%,rgba(52,211,230,.23),transparent 30%),linear-gradient(135deg,#06111f 0%,#0b2342 52%,#112f4a 100%);color:#fff;box-shadow:0 22px 55px rgba(6,17,31,.14)}
.ta-routes-hero>span{display:inline-flex;margin-bottom:12px;color:#34d3e6;font-size:12px;font-weight:950;letter-spacing:.12em}
.ta-routes-hero h1{margin:0;color:#fff;font-size:clamp(38px,6vw,72px);line-height:.95;letter-spacing:0}
.ta-routes-hero p{max-width:660px;margin:18px 0 0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.55}
.ta-route-search{display:grid;grid-template-columns:1fr 1fr minmax(180px,.75fr) auto;gap:12px;align-items:end;margin-top:30px;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.ta-route-search label{display:block;min-width:0}
.ta-route-search label span{display:block;margin-bottom:7px;color:rgba(255,255,255,.72);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.ta-route-search input,.ta-route-search select{width:100%;height:46px;border:1px solid rgba(219,228,238,.95);border-radius:12px;padding:0 14px;background:#fff;color:#06111f;font-size:14px;font-weight:700}
.ta-route-search button{height:46px;border:0;border-radius:12px;padding:0 24px;background:#f92355;color:#fff;font-weight:950;white-space:nowrap;box-shadow:0 12px 24px rgba(249,35,85,.28)}
.ta-route-search .ta-route-search-message{grid-column:1/-1;min-height:18px;margin:0;color:#ffd6df;font-size:12px;font-weight:900}
.ta-route-directory-section{margin-top:42px}
.ta-route-directory-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.ta-route-directory-head span{display:block;margin-bottom:5px;color:#f92355;font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.ta-route-directory-head h2,.ta-route-directory-section-shell h2{margin:0;color:#06111f;font-size:30px;line-height:1.1}
.ta-route-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ta-route-card{overflow:hidden;border:1px solid #dbe4ee;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(6,17,31,.07);transition:transform .2s ease,box-shadow .2s ease}
.ta-route-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(6,17,31,.11)}
.ta-route-card-hero{position:relative;min-height:132px;background:radial-gradient(circle at 78% 24%,rgba(52,211,230,.36),transparent 28%),linear-gradient(135deg,rgba(6,17,31,.96),rgba(9,53,82,.84)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=900&q=70') center/cover}
.ta-route-card-badge,.ta-route-card-score{position:absolute;display:inline-flex;align-items:center;border-radius:999px;font-size:11px;font-weight:950}
.ta-route-card-badge{left:16px;top:16px;padding:7px 10px;background:rgba(249,35,85,.96);color:#fff}
.ta-route-card-score{right:16px;bottom:16px;padding:8px 11px;background:#e8f8ee;color:#0f8e46;box-shadow:0 8px 20px rgba(6,17,31,.12)}
.ta-route-card-body{padding:18px}
.ta-route-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ta-route-card-tags span{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:4px 9px;background:#eefafd;color:#0879c9;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}
.ta-route-card h3{margin:0;color:#06111f;font-size:20px;line-height:1.18}
.ta-route-card p{margin:8px 0 0;color:#667085;font-size:14px;line-height:1.4}
.ta-route-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}
.ta-route-card-stats div{min-width:0;border:1px solid #e7edf4;border-radius:12px;padding:10px 7px;background:#fbfdff;text-align:center}
.ta-route-card-stats strong{display:block;color:#06111f;font-size:14px;line-height:1.1}
.ta-route-card-stats small{display:block;margin-top:4px;color:#667085;font-size:10px;font-weight:800}
.ta-route-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #edf1f5}
.ta-route-card-footer span{color:#0f8e46;font-size:12px;font-weight:900}
.ta-route-card-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:11px;padding:0 16px;background:#f92355;color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:950;white-space:nowrap}
.ta-routes-empty{margin:0;border:1px solid #dbe4ee;border-radius:16px;padding:22px;background:#fff;color:#667085;font-weight:800}
.ta-route-directory-section-shell{display:none}
@media(max-width:1024px){.ta-route-search{grid-template-columns:1fr 1fr}.ta-route-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.ta-routes-directory{width:min(100%,calc(100vw - 22px));padding:18px 0 36px}.ta-routes-hero{padding:26px 18px;border-radius:18px}.ta-routes-hero p{font-size:15px}.ta-route-search,.ta-route-card-grid,.ta-route-card-stats{grid-template-columns:1fr}.ta-route-directory-head h2{font-size:25px}}

/* Dynamic Route Search v2 */
.ta-dynamic-planner,.ta-dynamic-planner *{box-sizing:border-box}
.ta-dynamic-planner{width:min(1320px,calc(100vw - 32px));margin:0 auto;padding:28px 0 54px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#06111f}
.ta-dynamic-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden;border-radius:22px;padding:34px 38px;background:radial-gradient(circle at 82% 15%,rgba(52,211,230,.25),transparent 32%),linear-gradient(135deg,#06111f,#0b2342);color:#fff;box-shadow:0 20px 48px rgba(6,17,31,.14)}
.ta-dynamic-hero>div:first-child{max-width:760px}.ta-dynamic-hero span,.ta-dynamic-section-head span,.ta-dynamic-request span{display:block;color:#34d3e6;font-size:11px;font-weight:950;letter-spacing:.12em}.ta-dynamic-hero h1{margin:8px 0 10px;color:#fff;font-size:clamp(34px,5vw,62px);line-height:1}.ta-dynamic-hero p{margin:0;color:rgba(255,255,255,.78);font-size:16px;line-height:1.55}
.ta-dynamic-status{min-width:220px;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}.ta-dynamic-status small,.ta-dynamic-status strong,.ta-dynamic-status span{display:block}.ta-dynamic-status small{color:rgba(255,255,255,.62);font-size:10px;text-transform:uppercase}.ta-dynamic-status strong{margin:5px 0;color:#fff;font-size:22px}.ta-dynamic-status span{color:#9cebdc;font-size:12px;letter-spacing:0}
.ta-dynamic-search{display:grid;grid-template-columns:1fr 1fr minmax(190px,.65fr) auto;gap:12px;align-items:end;margin:18px 0 0;border:1px solid #dbe4ee;border-radius:16px;padding:14px;background:#fff;box-shadow:0 10px 26px rgba(6,17,31,.06)}.ta-dynamic-search label span{display:block;margin:0 0 6px;color:#475467;font-size:10px;font-weight:950;text-transform:uppercase}.ta-dynamic-search input,.ta-dynamic-search select{width:100%;height:44px;border:1px solid #cfd9e5;border-radius:10px;padding:0 13px;background:#fff;color:#06111f;font-size:13px}.ta-dynamic-search button{height:44px;border:0;border-radius:10px;padding:0 22px;background:#f92355;color:#fff;font-weight:950;white-space:nowrap}.ta-dynamic-message{min-height:20px;margin:10px 2px;color:#b42318;font-size:13px;font-weight:800}
.ta-dynamic-workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.ta-dynamic-map-column,.ta-dynamic-side,.ta-dynamic-lower{border:1px solid #dbe4ee;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(6,17,31,.06)}.ta-dynamic-map{width:100%;height:560px;border-radius:18px 18px 0 0;background:#eef2f6}.ta-dynamic-summary{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:0;border-top:1px solid #e6edf3}.ta-dynamic-summary>div{min-width:0;padding:15px 17px;border-right:1px solid #e6edf3}.ta-dynamic-summary>div:last-child{border-right:0}.ta-dynamic-summary small,.ta-dynamic-summary strong{display:block}.ta-dynamic-summary small{margin-bottom:5px;color:#667085;font-size:10px;text-transform:uppercase;font-weight:900}.ta-dynamic-summary strong{overflow:hidden;color:#06111f;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.ta-dynamic-side{position:sticky;top:112px;overflow:hidden}.ta-dynamic-side-head{padding:20px;border-bottom:1px solid #e6edf3}.ta-dynamic-side-head span{color:#f92355;font-size:10px;font-weight:950;letter-spacing:.1em}.ta-dynamic-side-head h2{margin:5px 0;color:#06111f;font-size:24px}.ta-dynamic-side-head p{margin:0;color:#667085;font-size:12px;line-height:1.45}.ta-dynamic-card-list{display:flex;max-height:570px;overflow:auto;flex-direction:column;gap:10px;padding:14px}.ta-dynamic-empty{border:1px dashed #cfd9e5;border-radius:12px;padding:18px;color:#667085;font-size:13px;line-height:1.45}
.ta-dynamic-charger-card{border:1px solid #e1e8f0;border-radius:13px;padding:13px;background:#fbfdff}.ta-dynamic-charger-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.ta-dynamic-charger-card h3{margin:0;color:#06111f;font-size:14px;line-height:1.25}.ta-dynamic-charger-card span{display:inline-flex;border-radius:999px;padding:4px 7px;background:#e6f7e9;color:#0f8e46;font-size:9px;font-weight:950}.ta-dynamic-charger-card p{margin:7px 0;color:#667085;font-size:11px;line-height:1.4}.ta-dynamic-charger-card a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:9px;padding:0 12px;background:#f92355;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:950}
.ta-dynamic-lower{margin-top:18px;padding:20px}.ta-dynamic-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:14px}.ta-dynamic-section-head span{color:#f92355}.ta-dynamic-section-head h2{margin:5px 0 0;font-size:26px}.ta-dynamic-section-head p{max-width:440px;margin:0;color:#667085;font-size:12px;text-align:right}.ta-dynamic-stay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ta-dynamic-stay-card{position:relative;overflow:hidden;min-height:150px;border:1px solid #dce5ee;border-radius:15px;padding:20px;background:linear-gradient(135deg,#f8fbfd,#eefafd)}.ta-dynamic-stay-card span{color:#0f8e46;font-size:10px;font-weight:950;text-transform:uppercase}.ta-dynamic-stay-card h3{margin:7px 0;font-size:19px}.ta-dynamic-stay-card p{max-width:520px;margin:0;color:#667085;font-size:13px;line-height:1.5}.ta-dynamic-stay-card a{display:inline-flex;margin-top:16px;border-radius:9px;padding:10px 14px;background:#f92355;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:950}
.ta-dynamic-request{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;border-radius:20px;padding:28px 32px;background:radial-gradient(circle at 85% 20%,rgba(52,211,230,.22),transparent 28%),linear-gradient(135deg,#06111f,#0b2342);color:#fff}.ta-dynamic-request h2{margin:6px 0;color:#fff;font-size:28px}.ta-dynamic-request p{margin:0;color:rgba(255,255,255,.75);font-size:13px}.ta-dynamic-request a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:11px;padding:0 18px;background:#f92355;color:#fff!important;text-decoration:none!important;font-weight:950;white-space:nowrap}
.ta-dynamic-marker{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border:3px solid #fff;border-radius:999px;background:#f92355;color:#fff;font-size:16px;box-shadow:0 8px 20px rgba(249,35,85,.32)}.ta-dynamic-marker.endpoint{background:#1d8fff}.ta-dynamic-popup .mapboxgl-popup-content{border-radius:13px;padding:13px;box-shadow:0 14px 34px rgba(6,17,31,.2)}.ta-dynamic-popup strong{display:block;margin-bottom:4px;color:#06111f;font-size:13px}.ta-dynamic-popup span{color:#667085;font-size:11px}.ta-dynamic-popup .ta-dynamic-popup-confidence{margin:3px 0;color:#0f8e46;font-weight:800}
@media(max-width:980px){.ta-dynamic-search{grid-template-columns:1fr 1fr}.ta-dynamic-workspace{grid-template-columns:1fr}.ta-dynamic-side{position:relative;top:auto}.ta-dynamic-card-list{display:grid;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.ta-dynamic-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.ta-dynamic-planner{width:min(100%,calc(100vw - 20px));padding:12px 0 34px}.ta-dynamic-hero{display:block;padding:25px 19px}.ta-dynamic-status{margin-top:20px}.ta-dynamic-search,.ta-dynamic-card-list,.ta-dynamic-stay-grid{grid-template-columns:1fr}.ta-dynamic-map{height:430px}.ta-dynamic-summary{grid-template-columns:1fr 1fr}.ta-dynamic-section-head,.ta-dynamic-request{display:block}.ta-dynamic-section-head p{margin-top:8px;text-align:left}.ta-dynamic-request a{margin-top:18px}}

/* Compact Smart Trip Savings strip */
.ta-savings-strip,
.ta-savings-strip * {
    box-sizing: border-box !important;
}

.ta-savings-strip {
    display: grid !important;
    grid-template-columns: minmax(250px, .9fr) minmax(0, 1.35fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 142px !important;
    margin: 14px 0 0 !important;
    padding: 14px !important;
    border: 1px solid #dce5ee !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #eefaf4 0%, #f8fcfa 52%, #ffffff 100%) !important;
    box-shadow: 0 10px 26px rgba(6,17,31,.05) !important;
    color: #06111f !important;
}

.ta-savings-intro {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 124px !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.ta-savings-intro-copy {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.ta-savings-icon {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    background: #dff6e7 !important;
    color: #0f8e46 !important;
    font-size: 20px !important;
    font-weight: 950 !important;
}

.ta-savings-intro h3 {
    margin: 0 0 5px !important;
    color: #06111f !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
}

.ta-savings-intro p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
}

.ta-savings-total {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    border: 1px solid #cfe9d9 !important;
    border-radius: 14px !important;
    padding: 10px !important;
    background: #0f8e46 !important;
    text-align: center !important;
}

.ta-savings-total span,
.ta-savings-total small {
    color: rgba(255,255,255,.8) !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.ta-savings-total strong {
    display: block !important;
    margin: 5px 0 2px !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ta-savings-metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    min-width: 0 !important;
}

.ta-savings-metric {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    border: 1px solid #dbeee3 !important;
    border-radius: 14px !important;
    padding: 9px 7px !important;
    background: rgba(255,255,255,.92) !important;
    text-align: center !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.ta-savings-metric-icon {
    color: #0f8e46 !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.ta-savings-metric small {
    display: block !important;
    margin-top: 5px !important;
    color: #667085 !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

.ta-savings-metric strong {
    display: block !important;
    margin-top: 4px !important;
    color: #0f8e46 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.ta-savings-metric p {
    margin: 5px 0 0 !important;
    color: #667085 !important;
    font-size: 8.5px !important;
    line-height: 1.25 !important;
}

.ta-savings-metric:focus-visible {
    outline: 2px solid #34d3e6 !important;
    outline-offset: 2px !important;
}

.ta-savings-metric.is-active {
    border-color: #b9dfc6 !important;
    background: #f6fbf8 !important;
    box-shadow: 0 10px 20px rgba(15,142,70,.08) !important;
}

.ta-savings-detail {
    display: grid !important;
    gap: 4px !important;
    margin-top: 10px !important;
    padding: 12px 14px !important;
    border: 1px solid #dbeee3 !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 10px 24px rgba(6,17,31,.05) !important;
}

.ta-savings-detail[hidden] {
    display: none !important;
}

.ta-savings-detail strong {
    color: #06111f !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

.ta-savings-detail p {
    margin: 0 !important;
    color: #475467 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

@media (max-width: 1100px) {
    .ta-savings-strip {
        grid-template-columns: 1fr !important;
    }

    .ta-savings-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .ta-savings-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .ta-savings-strip {
        min-height: 0 !important;
        padding: 12px !important;
    }

    .ta-savings-intro {
        grid-template-columns: 1fr !important;
    }

    .ta-savings-total {
        min-height: 92px !important;
    }

    .ta-savings-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ta-savings-metric {
        min-height: 112px !important;
    }
}

.ta-dynamic-preview-badge {
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    margin-top: 7px !important;
    padding: 5px 9px !important;
    border: 1px solid rgba(249,35,85,.22) !important;
    border-radius: 999px !important;
    background: rgba(249,35,85,.08) !important;
    color: #f92355 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.ta-route-fallback {
    width: min(760px, calc(100% - 32px));
    margin: 36px auto;
    padding: 24px;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(6,17,31,.06);
    color: #475467;
    font: 700 15px/1.5 Inter, system-ui, sans-serif;
    text-align: center;
}

/* Dynamic Route Planner V3 */
.ta-add-stop-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;align-items:center}.ta-add-stop-row .ta-input-row{margin:0}.ta-add-stop-row button{height:38px;border:1px solid #cfd9e5;border-radius:6px;background:#fff;color:#f92355;font-size:21px;font-weight:800;cursor:pointer}.ta-input-card label small{color:#667085;font-size:9px}
.ta-alternate-route-pills{position:absolute;top:10px;left:50%;z-index:3;display:flex;max-width:calc(100% - 390px);gap:4px;transform:translateX(-50%);overflow-x:auto}.ta-route-pill{flex:0 0 auto;border:1px solid rgba(6,17,31,.14);border-radius:999px;padding:3px 7px;background:rgba(255,255,255,.9);color:#06111f;font-size:8px;font-weight:900;text-decoration:none;box-shadow:0 2px 6px rgba(6,17,31,.05);cursor:pointer;line-height:1.15}.ta-route-pill.active{border-color:#1d8fff;background:#1d8fff;color:#fff}
.ta-legend-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.ta-legend-heading strong{margin:0}.ta-filter-row{width:100%;display:flex;align-items:center;gap:9px;margin:7px 0;padding:5px 6px;border:0;border-radius:8px;background:transparent;color:#06111f;font-size:11px;font-weight:800;text-align:left;cursor:pointer}.ta-filter-row:hover,.ta-filter-row.active{background:#f3f8fb}.ta-filter-row b{margin-left:auto;color:#667085;font-size:10px}.ta-filter-row[hidden]{display:none!important}.ta-filter-row i{width:14px;height:14px;border-radius:999px;display:block;flex:0 0 14px}.ta-filter-row span{min-width:0}.ta-filter-row em{margin-left:4px;padding:0 3px;border:1px solid #dbe4ee;border-radius:6px;background:#fff;color:#475467;font-style:normal;font-size:10px;line-height:17px}.ta-map-legend .navy{background:#06111f}.ta-charging-filter-panel{position:absolute;left:calc(100% + 8px);top:42px;width:190px;margin:0;padding:10px;border:1px solid #dbe4ee;border-radius:9px;background:#fff;box-shadow:0 12px 24px rgba(6,17,31,.12)}.ta-charging-filter-panel strong{font-size:10px}.ta-charging-filter-panel label{display:flex;align-items:center;gap:7px;margin:7px 0;color:#344054;font-size:10px;line-height:1.3}.ta-charging-filter-panel label span{display:block;line-height:1.3}.ta-charging-filter-panel input{margin:0;accent-color:#f92355;flex:0 0 auto}
.ta-savings-strip{min-height:138px!important}.ta-savings-intro-copy p{max-width:360px}
@media(max-width:768px){.ta-alternate-route-pills{left:12px;right:12px;max-width:none;transform:none}.ta-map-legend{top:18px}.ta-charging-filter-panel{left:0;top:100%;width:100%;margin-top:6px}.ta-savings-strip{min-height:0!important}}

/* Emergency route-template restore: compact map, legend, and savings overlay */
body .ta-route-app .ta-map-area {
    min-width: 0 !important;
    overflow: visible !important;
}

body .ta-route-app .ta-route-workspace {
    width: 100% !important;
    min-width: 0 !important;
}

body .ta-route-app .ta-map-wrap {
    position: relative !important;
    width: 100% !important;
    height: 560px !important;
    min-height: 560px !important;
    overflow: hidden !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 18px !important;
    background: #eef4f8 !important;
    box-shadow: 0 10px 30px rgba(6,17,31,.06) !important;
}

body .ta-route-app #ta-map {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 560px !important;
    border: 0 !important;
    border-radius: 18px !important;
}

body .ta-route-app #ta-map .mapboxgl-canvas {
    width: 100% !important;
    height: 100% !important;
}

body .ta-route-app .ta-map-legend {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    z-index: 8 !important;
    display: block !important;
    width: 170px !important;
    max-width: 170px !important;
    min-height: 0 !important;
    padding: 13px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 10px 24px rgba(6,17,31,.10) !important;
    backdrop-filter: blur(10px) !important;
}

body .ta-route-app .ta-map-legend .ta-legend-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
}

body .ta-route-app .ta-map-legend .ta-legend-heading strong {
    margin: 0 !important;
    color: #06111f !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
}

body .ta-route-app .ta-map-legend .ta-filter-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: 100% !important;
    height: 26px !important;
    min-height: 0 !important;
    margin: 4px 0 !important;
    padding: 3px 4px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #06111f !important;
    font-size: 10.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

body .ta-route-app .ta-map-legend .ta-filter-row:hover,
body .ta-route-app .ta-map-legend .ta-filter-row.active {
    background: #f3f8fb !important;
}

body .ta-route-app .ta-map-legend .ta-filter-row i {
    flex: 0 0 11px !important;
    width: 11px !important;
    height: 11px !important;
    margin: 0 !important;
    border-radius: 999px !important;
}

body .ta-route-app .ta-map-legend .ta-filter-row span {
    display: inline !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
}

body .ta-route-app .ta-map-legend .ta-filter-row b {
    margin-left: auto !important;
    color: #667085 !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
}

body .ta-route-app .ta-map-legend .ta-filter-row em {
    flex: 0 0 auto !important;
    margin-left: 2px !important;
    padding: 0 3px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #475467 !important;
    font-size: 9px !important;
    font-style: normal !important;
    line-height: 15px !important;
}

body .ta-route-app .ta-charging-filter-panel {
    left: 13px !important;
    top: 108px !important;
    z-index: 10 !important;
    width: 190px !important;
    padding: 10px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 12px 24px rgba(6,17,31,.12) !important;
}

body .ta-route-app .ta-savings-strip.ta-savings-overlay {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 16px !important;
    z-index: 7 !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(15,142,70,.16) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.93) !important;
    box-shadow: 0 10px 24px rgba(6,17,31,.12) !important;
    backdrop-filter: blur(10px) !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-intro {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-intro-copy {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 9px !important;
    font-size: 15px !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-intro h3 {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-intro p,
body .ta-route-app .ta-savings-overlay .ta-savings-metric p {
    display: none !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-total,
body .ta-route-app .ta-savings-overlay .ta-savings-metric {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 46px !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-total {
    min-width: 100px !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-total strong {
    margin: 2px 0 !important;
    font-size: 20px !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-total span,
body .ta-route-app .ta-savings-overlay .ta-savings-total small,
body .ta-route-app .ta-savings-overlay .ta-savings-metric small {
    font-size: 8px !important;
    line-height: 1 !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-metrics {
    display: grid !important;
    flex: 1 1 auto !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-metric-icon {
    display: none !important;
}

body .ta-route-app .ta-savings-overlay .ta-savings-metric strong {
    margin-top: 3px !important;
    font-size: 15px !important;
}

@media (max-width: 768px) {
    body .ta-route-app .ta-map-wrap {
        height: 450px !important;
        min-height: 450px !important;
    }

    body .ta-route-app #ta-map {
        min-height: 450px !important;
    }

    body .ta-route-app .ta-map-legend {
        top: 12px !important;
        left: 12px !important;
        width: 158px !important;
        max-width: 158px !important;
    }

    body .ta-route-app .ta-savings-strip.ta-savings-overlay {
        display: none !important;
    }
}

.ta-ev-app-mode header#masthead,.ta-ev-app-mode .site-header,.ta-ev-app-mode .main-header-bar,.ta-ev-app-mode .ast-primary-header-bar,.ta-ev-app-mode .main-navigation,.ta-ev-app-mode nav[aria-label="Primary Navigation"],.ta-ev-app-mode nav[aria-label="Main Navigation"],.ta-ev-app-mode footer#colophon,.ta-ev-app-mode .site-footer,.ta-ev-app-mode .entry-header,.ta-ev-app-mode .post-navigation,.ta-ev-app-mode .nav-links,.ta-ev-app-mode .breadcrumb,.ta-ev-app-mode .breadcrumbs,.ta-ev-app-mode .ast-breadcrumbs-wrapper,.ta-ev-app-mode #secondary,.ta-ev-app-mode .widget-area,.ta-ev-app-mode aside.sidebar,.ta-ev-app-mode .et-mobile-panel-wrapper,.ta-ev-app-mode .et-mobile-panel,.ta-ev-app-mode .etheme-elementor-header-wrapper,.ta-ev-app-mode .elementor-location-header{display:none!important}
.ta-ev-app-mode #content,.ta-ev-app-mode .site-content,.ta-ev-app-mode .content-area,.ta-ev-app-mode .entry-content,.ta-ev-app-mode .inside-article{margin:0!important;padding-top:0!important;padding-bottom:0!important;max-width:none!important}
.ta-ev-app-mode{background:#f4f7fb}
.ta-app-shell{width:min(1440px,calc(100vw - 24px));margin:0 auto;padding:12px 0 36px;color:#06111f;overflow-x:clip}
.ta-app-shell__topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;margin-bottom:14px;padding:10px 12px;border:1px solid #dbe4ee;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(6,17,31,.06);backdrop-filter:blur(14px)}
.ta-app-shell__back{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #dbe4ee;border-radius:50%;background:#fff;color:#06111f;font-size:20px;line-height:1;cursor:pointer;touch-action:manipulation}.ta-app-shell__back:hover,.ta-app-shell__back:focus-visible{border-color:#34d3e6;background:#eefbfe;outline:0}.ta-app-shell__back[hidden]{display:none}
.ta-app-shell__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
.ta-app-shell__brand,.ta-app-shell__context{min-width:0}
.ta-app-shell__brand-kicker,.ta-app-shell__eyebrow{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:999px;background:#eefafc;color:#0f6f85;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ta-app-shell__brand strong{display:block;margin-top:6px;font-size:18px;line-height:1.05;font-weight:950;color:#06111f}
.ta-app-shell__brand p{margin:4px 0 0;color:#667085;font-size:12px;line-height:1.4}
.ta-app-shell__context h1,.ta-app-hero-card h2{margin:6px 0 0;letter-spacing:-.03em;color:#06111f;text-wrap:balance;overflow-wrap:anywhere}
.ta-app-shell__context h1{font-size:24px;line-height:1.05}
.ta-app-nav{display:flex;align-items:center;gap:8px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.ta-app-nav::-webkit-scrollbar{display:none}
.ta-app-nav-mobile{display:none}
.ta-app-nav-item{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px;border-radius:14px;border:1px solid transparent;background:#f8fafc;color:#06111f;text-decoration:none!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;touch-action:manipulation}
.ta-app-nav-item:hover,.ta-app-nav-item:focus-visible{background:#fff;border-color:#dbe4ee;box-shadow:0 10px 22px rgba(6,17,31,.08);transform:translateY(-1px)}
.ta-app-nav-item.is-active{background:#06111f;color:#fff}
.ta-app-nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px}
.ta-app-nav-icon svg{width:22px;height:22px;display:block}
.ta-app-nav-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.ta-app-nav-text strong{font-size:13px;font-weight:900;line-height:1.1}
.ta-app-nav-text small{font-size:10px;line-height:1.2;color:#667085}
.ta-app-nav-item.is-active .ta-app-nav-text small{color:rgba(255,255,255,.78)}
[data-ta-top-menu-only]{margin:0 0 14px;scroll-margin-top:calc(16px + env(safe-area-inset-top,0px))}
[data-ta-top-menu-only] .ta-app-nav{width:100%}
.ta-app-shell__content{display:grid;gap:16px;min-width:0}
.ta-app-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.ta-app-hero-card,.ta-app-hero-form,.ta-app-section,.ta-app-info-card,.ta-app-placeholder__card,.ta-app-article-card{background:#fff;border:1px solid #dbe4ee;border-radius:24px;box-shadow:0 12px 28px rgba(6,17,31,.05)}
.ta-app-hero-card,.ta-app-hero-form,.ta-app-section,.ta-app-info-card,.ta-app-placeholder__card,.ta-app-article-card{padding:20px}
.ta-app-hero-card h2,.ta-app-hero-form h2,.ta-app-section h2,.ta-app-info-card h3,.ta-app-placeholder__card h2,.ta-app-article-card h3{margin:8px 0 0;color:#06111f;letter-spacing:-.03em}
.ta-app-hero-card h2{font-size:34px;line-height:1.05}
.ta-app-hero-card p,.ta-app-info-card p,.ta-app-placeholder__card p,.ta-app-article-card p{margin:10px 0 0;color:#475467;line-height:1.55}
.ta-app-hero-eyebrow,.ta-app-section-head span,.ta-app-info-card span,.ta-app-placeholder__eyebrow,.ta-app-article-kicker{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:#eefafc;color:#0f6f85;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ta-app-hero-points,.ta-app-info-grid,.ta-app-score-grid,.ta-app-placeholder__list{display:grid;gap:10px}
.ta-app-hero-points{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.ta-app-hero-points div,.ta-app-score-pill,.ta-app-placeholder__item{padding:12px 14px;border-radius:18px;background:#f8fafc;border:1px solid #e5edf4}
.ta-app-hero-points strong,.ta-app-score-pill strong{display:block;font-size:15px;font-weight:900;color:#06111f}
.ta-app-hero-points small,.ta-app-score-pill small{display:block;margin-top:4px;font-size:11px;color:#667085}
.ta-app-plan-form{display:grid;grid-template-columns:1fr;gap:12px;align-items:end}
.ta-app-plan-form label{display:block}
.ta-app-plan-form .ta-plan-field--wide,.ta-app-plan-form button,.ta-app-plan-form .ta-app-plan-message{grid-column:1 / -1}
.ta-app-plan-form label span{display:block;margin:0 0 6px;font-size:12px;font-weight:900;color:#06111f}
.ta-app-plan-form input,.ta-app-plan-form select{width:100%;min-height:48px;padding:0 14px;border:1px solid #cfd9e5;border-radius:14px;background:#fff;color:#101828;font-size:14px}
.ta-app-plan-form input:focus,.ta-app-plan-form select:focus{outline:0;border-color:#34d3e6;box-shadow:0 0 0 3px rgba(52,211,230,.16)}
.ta-app-plan-form button,.ta-app-placeholder__card a,.ta-app-article-card a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border-radius:14px;background:#f92355;color:#fff!important;text-decoration:none!important;font-weight:900;white-space:nowrap;touch-action:manipulation}
.ta-app-plan-form button{width:100%}
.ta-app-plan-form-planner button,.ta-app-plan-form-planner .ta-app-plan-message{grid-column:1 / -1}
.ta-app-plan-message{min-height:18px;margin:0;font-size:12px;color:#667085}
.ta-place-autocomplete-field{position:relative}
.ta-app-plan-form .ta-place-autocomplete-menu,
body .ta-app-plan-form .ta-place-autocomplete-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;display:block;max-height:min(42svh,360px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid #dbe4ee;border-radius:14px;background:#fff !important;box-shadow:0 18px 36px rgba(6,17,31,.12)}
.ta-app-plan-form .ta-place-autocomplete-option,
body .ta-app-plan-form .ta-place-autocomplete-option{box-sizing:border-box;appearance:none !important;-webkit-appearance:none !important;display:block !important;width:100% !important;height:auto !important;min-height:0 !important;padding:11px 14px !important;margin:0 !important;border:0 !important;border-left:4px solid transparent !important;border-radius:0 !important;background:#fff !important;color:#06111f !important;text-align:left !important;text-decoration:none !important;text-transform:none !important;letter-spacing:0 !important;font-weight:700 !important;line-height:1.45 !important;white-space:normal !important;overflow:visible !important;box-shadow:none !important;cursor:pointer}
.ta-app-plan-form .ta-place-autocomplete-option + .ta-place-autocomplete-option,
body .ta-app-plan-form .ta-place-autocomplete-option + .ta-place-autocomplete-option{border-top:1px solid #edf1f5}
.ta-app-plan-form .ta-place-autocomplete-option strong,
body .ta-app-plan-form .ta-place-autocomplete-option strong{display:block;overflow:visible;color:#06111f !important;font-size:13px !important;line-height:1.45 !important;font-weight:800 !important;white-space:normal !important}
.ta-app-plan-form .ta-place-autocomplete-option small,
body .ta-app-plan-form .ta-place-autocomplete-option small{display:block;margin-top:2px;color:#667085 !important;font-size:11px !important;line-height:1.35 !important;font-weight:600 !important}
.ta-app-plan-form .ta-place-autocomplete-option.is-active,
.ta-app-plan-form .ta-place-autocomplete-option:hover,
.ta-app-plan-form .ta-place-autocomplete-option:focus-visible,
body .ta-app-plan-form .ta-place-autocomplete-option.is-active,
body .ta-app-plan-form .ta-place-autocomplete-option:hover,
body .ta-app-plan-form .ta-place-autocomplete-option:focus-visible{border-left-color:#f92355 !important;background:#fff0f4 !important;color:#8f1237 !important;outline:0}
.ta-app-plan-form .ta-place-autocomplete-option.is-active strong,
.ta-app-plan-form .ta-place-autocomplete-option:hover strong,
.ta-app-plan-form .ta-place-autocomplete-option:focus-visible strong{color:#8f1237 !important}
.ta-app-plan-form .ta-place-autocomplete-option.is-empty,
body .ta-app-plan-form .ta-place-autocomplete-option.is-empty{cursor:default}
.ta-app-plan-form .ta-place-autocomplete-option.is-empty strong,
body .ta-app-plan-form .ta-place-autocomplete-option.is-empty strong{color:#667085 !important;font-weight:800 !important}
@media (max-width: 768px){.ta-place-autocomplete-menu{max-height:min(42svh,320px);overflow-y:auto;-webkit-overflow-scrolling:touch}}
.ta-app-section-compact{padding:18px}
.ta-app-section-copy{margin:10px 0 0;color:#667085;font-size:14px;line-height:1.55}
.ta-app-planner-state{display:grid;gap:14px}
.ta-app-planner-state-card{padding:20px;border:1px solid #f6cad7;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#fff7f9 100%);box-shadow:0 12px 24px rgba(249,35,85,.06)}
.ta-app-planner-state-card h2{margin:10px 0 0;font-size:28px;line-height:1.08;color:#06111f;letter-spacing:-.03em}
.ta-app-planner-state-card p{margin:10px 0 0;color:#475467;line-height:1.55}
.ta-app-planner-state-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ta-app-state-primary,.ta-app-state-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-radius:14px;text-decoration:none!important;font-weight:900}
.ta-app-state-primary{background:#f92355;color:#fff!important}
.ta-app-state-secondary{background:#fff;color:#06111f!important;border:1px solid #dbe4ee}
.ta-app-section{display:grid;gap:14px}
.ta-app-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px}
.ta-app-section-head h2{margin:6px 0 0;font-size:22px;line-height:1.15}
.ta-app-route-groups{display:grid;gap:18px}
.ta-app-route-group{display:grid;gap:12px}
.ta-app-route-group-head{display:flex;align-items:end;justify-content:space-between;gap:12px}
.ta-app-route-group-head strong{display:block;color:#06111f;font-size:18px;line-height:1.15}
.ta-app-route-group-head small{display:block;color:#667085;font-size:12px;font-weight:800}
.ta-app-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ta-app-score-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ta-app-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ta-app-article-card small{display:block;margin-top:10px;color:#667085;font-size:11px}
.ta-app-article-card a{margin-top:14px;background:#06111f}
.ta-app-placeholder{display:grid;place-items:center}
.ta-app-placeholder__card{max-width:760px;text-align:center}
.ta-app-placeholder__list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.ta-app-placeholder__item{text-align:left;font-weight:800}
.ta-app-placeholder__card strong{display:block;margin-top:18px;color:#0f8e46}
.ta-saved-trips{scroll-margin-top:18px}.ta-saved-trips__status{margin:12px 0 0;color:#667085;font-size:13px;line-height:1.45}.ta-saved-trips__list{display:grid;gap:10px;margin-top:14px}.ta-saved-trip-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.ta-saved-trip-card__link{display:grid;gap:4px;min-width:0;color:#06111f!important;text-decoration:none!important}.ta-saved-trip-card__link strong{overflow:hidden;font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.ta-saved-trip-card__link span{color:#667085;font-size:12px;line-height:1.35}.ta-saved-trip-card__remove,.ta-save-trip-button,.ta-save-collection-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border:1px solid #dbe4ee;border-radius:9px;background:#fff;color:#344054;font:inherit;font-size:11px;font-weight:850;line-height:1;text-decoration:none!important;white-space:nowrap;touch-action:manipulation}.ta-saved-trip-card__remove:hover,.ta-saved-trip-card__remove:focus-visible,.ta-save-trip-button:hover,.ta-save-trip-button:focus-visible,.ta-save-collection-button:hover,.ta-save-collection-button:focus-visible{border-color:#34d3e6;background:#eefbfe}.ta-save-trip-button.is-saved,.ta-save-collection-button.is-saved{border-color:#bde7cb;background:#effaf2;color:#0f7a3c}.ta-save-trip-button--summary{margin:-3px 0 12px}.ta-result-actions .ta-save-collection-button{min-height:32px;padding:0 10px}.ta-save-collection-button--stop-inline{position:absolute;right:34px;top:50%;z-index:2;min-height:25px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.88);font-size:9.5px;box-shadow:0 6px 14px rgba(9,26,50,.08);transform:translateY(-50%);backdrop-filter:blur(10px)}.ta-save-collection-button--stop-inline.is-saved{background:#effaf2}.ta-saved-trips__login{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:14px;padding:0 14px;border-radius:10px;background:#06111f;color:#fff!important;font-size:12px;font-weight:900;text-decoration:none!important}
.ta-app-shell .ta-route-card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.ta-route-card{cursor:pointer}
.ta-route-card:focus-within{transform:translateY(-3px);box-shadow:0 20px 44px rgba(6,17,31,.11)}
@media (max-width: 1024px){
    .ta-app-hero,.ta-app-info-grid,.ta-app-article-grid{grid-template-columns:1fr}
    .ta-app-shell__intro{grid-template-columns:1fr}
    .ta-app-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width: 900px){
    .ta-app-hero{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)}
    .ta-app-plan-form{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ta-app-route-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 768px){
    .ta-app-shell{width:min(100%,calc(100vw - 14px));padding:6px 0 94px}
    .ta-app-shell__topbar{gap:6px;padding:8px 10px;border-radius:16px;margin-bottom:8px}
    .ta-app-shell__intro{grid-template-columns:1fr}
    .ta-app-shell__brand strong{font-size:15px}
    .ta-app-shell__brand p{display:none}
    .ta-app-shell__context h1{font-size:20px;line-height:1.08}
    .ta-app-hero-card h2{font-size:24px;line-height:1.08}
    .ta-app-hero-card,.ta-app-hero-form,.ta-app-section,.ta-app-info-card,.ta-app-placeholder__card,.ta-app-article-card,.ta-app-planner-state-card{padding:14px}
    .ta-app-hero-points{grid-template-columns:1fr}
    .ta-app-nav-desktop{display:none}
    .ta-app-nav-mobile{position:fixed;left:10px;right:10px;bottom:10px;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0 auto;padding:6px;border-radius:20px;background:rgba(255,255,255,.96);border:1px solid #dbe4ee;box-shadow:0 14px 30px rgba(6,17,31,.14);backdrop-filter:blur(14px);max-width:calc(100vw - 20px)}
    .ta-app-nav-mobile .ta-app-nav-item{justify-content:center;flex-direction:column;min-height:56px;padding:8px 4px;border-radius:14px;background:transparent;min-width:0}
    .ta-app-nav-mobile .ta-app-nav-text{align-items:center}
    .ta-app-nav-mobile .ta-app-nav-text small{display:none}
    .ta-app-nav-mobile .ta-app-nav-text strong{font-size:10px;line-height:1.1}
    .ta-app-nav-mobile .ta-app-nav-icon{width:18px;height:18px}
    .ta-app-nav-mobile .ta-app-nav-icon svg{width:18px;height:18px}
    [data-ta-top-menu-only] .ta-app-nav-mobile{position:static;left:auto;right:auto;bottom:auto;z-index:auto;max-width:none;margin:0;padding:6px}
    .ta-app-placeholder__list{grid-template-columns:1fr}
    .ta-app-shell .ta-route-card-grid{grid-template-columns:1fr}
}

/* v0.3.1 mobile overflow hotfix */
.ta-ev-app-mode,
.ta-ev-app-mode body,
.ta-ev-app-mode #page,
.ta-ev-app-mode #content,
.ta-ev-app-mode .site,
.ta-ev-app-mode .site-content,
.ta-ev-app-mode .content-area,
.ta-ev-app-mode .entry-content,
.ta-ev-app-mode .inside-article{
    max-width:100% !important;
    overflow-x:hidden !important;
}

.ta-ev-app-mode .sharedaddy,
.ta-ev-app-mode .jp-sharing,
.ta-ev-app-mode .heateor_sss_sharing_container,
.ta-ev-app-mode .entry-footer,
.ta-ev-app-mode .footer-social-icons,
.ta-ev-app-mode .social-share,
.ta-ev-app-mode .shareaholic-canvas,
.ta-ev-app-mode [class*="share"],
.ta-ev-app-mode [class*="social"]{
    display:none !important;
}

.ta-app-shell,
.ta-app-shell *,
.ta-app-shell__content,
.ta-app-hero,
.ta-app-hero-card,
.ta-app-hero-form,
.ta-app-section,
.ta-app-route-groups,
.ta-app-route-group,
.ta-route-card-grid,
.ta-route-card,
.ta-route-card-body,
.ta-route-card-stats,
.ta-app-plan-form,
.ta-app-plan-form label,
.ta-app-plan-form input,
.ta-app-plan-form select,
.ta-app-plan-form button{
    max-width:100%;
    min-width:0;
}

body .ta-route-app,
body .ta-route-app *,
body .ta-route-app .ta-route-workspace,
body .ta-route-app .ta-map-area,
body .ta-route-app .ta-left-panel,
body .ta-route-app .ta-right-panel,
body .ta-route-app .ta-map-wrap,
body .ta-route-app .ta-toolbar,
body .ta-route-app .ta-toolbar button,
body .ta-route-app .ta-result-card,
body .ta-route-app .ta-extra-section,
body .ta-route-app .ta-panel-buttons{
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}

@media (max-width: 768px){
    html,
    body.ta-ev-app-mode{
        overflow-x:hidden !important;
        width:100% !important;
        max-width:100% !important;
    }

    .ta-app-shell{
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        padding:6px 7px 92px !important;
        overflow-x:hidden !important;
    }

    .ta-app-shell__content,
    .ta-app-hero,
    .ta-app-route-groups,
    .ta-app-info-grid,
    .ta-app-score-grid,
    .ta-app-placeholder__list{
        grid-template-columns:1fr !important;
    }

    .ta-app-shell__topbar{
        position:relative !important;
        overflow:hidden !important;
    }

    .ta-app-shell__brand-kicker,
    .ta-app-shell__eyebrow{
        max-width:100% !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .ta-app-nav-desktop{
        display:none !important;
    }

    .ta-app-nav-mobile{
        overflow:hidden !important;
    }

    .ta-route-card-grid,
    .ta-route-card-stats,
    .ta-app-shell .ta-route-card-grid{
        grid-template-columns:1fr !important;
    }

    .ta-route-card-footer{
        flex-direction:column !important;
        align-items:flex-start !important;
    }

    .ta-route-card-cta{
        width:100% !important;
    }

    .ta-app-plan-form,
    .ta-app-plan-form-planner{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ta-app-plan-form .ta-plan-field--wide,
    .ta-app-plan-form button,
    .ta-app-plan-form .ta-app-plan-message{
        grid-column:1 / -1 !important;
    }

    .ta-app-plan-form input,
    .ta-app-plan-form select,
    .ta-app-plan-form button{
        width:100% !important;
    }

    body .ta-route-app{
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        transform:none !important;
        padding:0 7px 18px !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
        overflow-x:hidden !important;
    }

    body .ta-route-app .ta-toolbar,
    body .ta-route-app .ta-route-workspace .ta-toolbar{
        width:100% !important;
        max-width:100% !important;
        padding:2px 0 !important;
    }

    body .ta-route-app .ta-map-wrap{
        width:100% !important;
        max-width:100% !important;
        height:420px !important;
        min-height:420px !important;
    }

    body .ta-route-app #ta-map{
        width:100% !important;
        min-height:420px !important;
    }

    body .ta-route-app .ta-map-legend{
        width:min(148px,calc(100vw - 36px)) !important;
        max-width:min(148px,calc(100vw - 36px)) !important;
        left:10px !important;
        top:10px !important;
        padding:10px !important;
    }

    body .ta-route-app .ta-hotel-grid,
    body .ta-route-app .ta-attraction-grid,
    body .ta-route-app .ta-result-grid,
    body .ta-route-app .ta-mini-scores,
    body .ta-route-app .ta-stats-grid,
    body .ta-route-app .ta-panel-buttons{
        grid-template-columns:1fr !important;
    }
}

/* v0.3.1 SaaS-style UI scale refinement */
.ta-ev-app-mode{
    --ta-app-radius:14px;
    --ta-app-radius-sm:10px;
    --ta-app-border:#e5eaf1;
    --ta-app-shadow:0 6px 18px rgba(6,17,31,.05);
    --ta-app-shadow-hover:0 10px 24px rgba(6,17,31,.08);
    --ta-app-gap:12px;
    --ta-app-gap-lg:16px;
    --ta-app-pad:14px;
    --ta-app-pad-sm:11px;
    --ta-app-title:clamp(2rem,2.8vw,2.5rem);
    --ta-app-section-title:clamp(1.25rem,1.8vw,1.65rem);
    --ta-app-card-title:clamp(1rem,1.4vw,1.25rem);
    --ta-app-body:14px;
    --ta-app-meta:12px;
    --ta-app-nav:13px;
}

.ta-app-shell{
    width:min(1320px,100%);
    padding:10px 0 28px;
}

.ta-app-shell__topbar{
    gap:8px;
    margin-bottom:12px;
    padding:10px 12px;
    border-radius:var(--ta-app-radius);
    border:1px solid var(--ta-app-border);
    box-shadow:var(--ta-app-shadow);
}

.ta-app-shell__intro{
    gap:10px;
    align-items:center;
}

.ta-app-shell__brand-kicker,
.ta-app-shell__eyebrow{
    min-height:20px;
    padding:0 8px;
    font-size:10px;
}

.ta-app-shell__brand strong{
    margin-top:4px;
    font-size:16px;
    line-height:1.05;
}

.ta-app-shell__brand p{
    margin-top:3px;
    font-size:12px;
    line-height:1.35;
}

.ta-app-shell__context h1{
    font-size:var(--ta-app-title);
    line-height:1.02;
}

.ta-app-nav{
    gap:6px;
}

.ta-app-nav-item{
    min-height:36px;
    padding:6px 10px;
    border-radius:12px;
    font-size:var(--ta-app-nav);
    box-shadow:none;
}

.ta-app-nav-item:hover,
.ta-app-nav-item:focus-visible{
    box-shadow:var(--ta-app-shadow-hover);
}

.ta-app-nav-icon{
    width:18px;
    height:18px;
}

.ta-app-nav-icon svg{
    width:18px;
    height:18px;
}

.ta-app-nav-text strong{
    font-size:13px;
}

.ta-app-nav-text small{
    font-size:10px;
}

.ta-app-shell__content{
    gap:12px;
}

.ta-app-hero{
    gap:12px;
}

.ta-app-hero-card,
.ta-app-hero-form,
.ta-app-section,
.ta-app-info-card,
.ta-app-placeholder__card,
.ta-app-article-card,
.ta-app-planner-state-card{
    padding:var(--ta-app-pad);
    border-radius:var(--ta-app-radius);
    border:1px solid var(--ta-app-border);
    box-shadow:var(--ta-app-shadow);
}

.ta-app-hero-card h2{
    font-size:var(--ta-app-title);
    line-height:1.02;
}

.ta-app-section h2,
.ta-app-info-card h3,
.ta-app-placeholder__card h2,
.ta-app-article-card h3,
.ta-app-planner-state-card h2{
    font-size:var(--ta-app-section-title);
    line-height:1.08;
}

.ta-app-hero-card p,
.ta-app-info-card p,
.ta-app-placeholder__card p,
.ta-app-article-card p,
.ta-app-planner-state-card p,
.ta-app-section-copy{
    font-size:var(--ta-app-body);
    line-height:1.45;
}

.ta-app-hero-points{
    margin-top:14px;
    gap:8px;
}

.ta-app-hero-points div,
.ta-app-score-pill,
.ta-app-placeholder__item{
    padding:10px 11px;
    border-radius:12px;
}

.ta-app-hero-points strong,
.ta-app-score-pill strong{
    font-size:13px;
}

.ta-app-hero-points small,
.ta-app-score-pill small,
.ta-app-section-head span,
.ta-app-info-card span,
.ta-app-hero-eyebrow,
.ta-app-placeholder__eyebrow,
.ta-app-article-kicker{
    font-size:10px;
}

.ta-app-section,
.ta-app-planner-state,
.ta-app-route-group,
.ta-app-info-grid,
.ta-app-score-grid,
.ta-app-route-groups{
    gap:12px;
}

.ta-app-section-head{
    gap:10px;
}

.ta-app-route-group-head strong{
    font-size:16px;
}

.ta-app-route-group-head small,
.ta-app-article-card small,
.ta-app-plan-message{
    font-size:11px;
}

.ta-app-plan-form{
    gap:10px;
}

.ta-app-plan-form label span{
    margin-bottom:5px;
    font-size:11px;
}

.ta-app-plan-form input,
.ta-app-plan-form select{
    min-height:42px;
    padding:0 12px;
    border-radius:12px;
    font-size:14px;
}

.ta-app-plan-form button,
.ta-app-placeholder__card a,
.ta-app-article-card a,
.ta-app-state-primary,
.ta-app-state-secondary{
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    font-size:13px;
}

.ta-route-card{
    border-radius:16px;
    border:1px solid var(--ta-app-border);
    box-shadow:var(--ta-app-shadow);
}

.ta-route-card:hover,
.ta-route-card:focus-within{
    transform:translateY(-2px);
    box-shadow:var(--ta-app-shadow-hover);
}

.ta-route-card-hero{
    min-height:96px;
}

.ta-route-card-badge{
    left:12px;
    top:12px;
    padding:5px 8px;
    font-size:10px;
}

.ta-route-card-score{
    right:12px;
    bottom:12px;
    padding:6px 8px;
    font-size:10px;
}

.ta-route-card-body{
    padding:14px;
}

.ta-route-card-tags{
    gap:5px;
    margin-bottom:10px;
}

.ta-route-card-tags span{
    min-height:20px;
    padding:3px 8px;
    font-size:9px;
}

.ta-route-card h3{
    font-size:18px;
    line-height:1.12;
}

.ta-route-card p{
    margin-top:6px;
    font-size:13px;
    line-height:1.35;
}

.ta-route-card-stats{
    gap:6px;
    margin:12px 0;
}

.ta-route-card-stats div{
    border-radius:10px;
    padding:8px 6px;
}

.ta-route-card-stats strong{
    font-size:12px;
}

.ta-route-card-stats small{
    margin-top:3px;
    font-size:9px;
}

.ta-route-card-footer{
    gap:10px;
    padding-top:10px;
}

.ta-route-card-footer span{
    font-size:11px;
}

.ta-route-card-cta{
    min-height:36px;
    border-radius:10px;
    padding:0 12px;
    font-size:12px;
}

body .ta-route-app{
    gap:18px !important;
    padding-top:18px !important;
    padding-bottom:14px !important;
    background:#f4f7fb !important;
}

body .ta-route-app .ta-input-card,
body .ta-route-app .ta-summary-card,
body .ta-route-app .ta-tip-card,
body .ta-route-app .ta-stop-panel,
body .ta-route-app .ta-hotel-card,
body .ta-route-app .ta-score-box,
body .ta-route-app .ta-score-soft,
body .ta-route-app .ta-stays{
    border-radius:12px !important;
    border:1px solid var(--ta-app-border) !important;
    box-shadow:var(--ta-app-shadow) !important;
}

body .ta-route-app .ta-input-card,
body .ta-route-app .ta-summary-card,
body .ta-route-app .ta-tip-card,
body .ta-route-app .ta-stop-panel,
body .ta-route-app .ta-stays{
    padding:12px !important;
}

body .ta-route-app .ta-route-title{
    font-size:14px !important;
    margin-bottom:12px !important;
}

body .ta-route-app .ta-route-title span{
    font-size:9px !important;
    padding:4px 7px !important;
}

body .ta-route-app .ta-toolbar{
    gap:8px !important;
    margin-bottom:10px !important;
}

body .ta-route-app .ta-toolbar button{
    height:34px !important;
    padding:0 14px !important;
    border-radius:10px !important;
    font-size:11px !important;
}

body .ta-route-app .ta-map-wrap{
    border-radius:16px !important;
}

body .ta-route-app .ta-panel-head h2{
    font-size:17px !important;
}

body .ta-route-app .ta-panel-head span{
    font-size:9px !important;
}

body .ta-route-app .ta-score-box strong{
    font-size:34px !important;
}

body .ta-route-app .ta-score-box strong span{
    font-size:15px !important;
}

body .ta-route-app .ta-score-box p,
body .ta-route-app .ta-score-soft p,
body .ta-route-app .ta-info-block p,
body .ta-route-app .ta-info-block li,
body .ta-route-app .ta-stop span,
body .ta-route-app .ta-stop small{
    font-size:11px !important;
}

body .ta-route-app .ta-mini-scores div{
    padding:6px 4px !important;
    font-size:8.5px !important;
}

body .ta-route-app .ta-panel-buttons{
    gap:8px !important;
}

body .ta-route-app .ta-primary-btn,
body .ta-route-app .ta-secondary-btn{
    min-height:38px !important;
    padding:10px 12px !important;
    border-radius:10px !important;
    font-size:12px !important;
    box-shadow:none !important;
}

@media (prefers-reduced-motion: reduce){
    .ta-app-nav-item,
    .ta-route-card,
    .ta-route-card:hover,
    .ta-route-card:focus-within,
    body .ta-route-app .ta-hotel-card:hover{
        transition:none !important;
        transform:none !important;
    }
}

@media (max-width: 768px){
    .ta-ev-app-mode{
        --ta-app-title:clamp(1.5rem,7vw,1.85rem);
        --ta-app-section-title:clamp(1.1rem,5.3vw,1.35rem);
    }

    .ta-app-shell{
        padding:4px 7px calc(86px + env(safe-area-inset-bottom,0px)) !important;
    }

    .ta-app-shell__topbar{
        padding:7px 9px !important;
        gap:5px !important;
        margin-bottom:6px !important;
    }

    .ta-app-shell__brand strong{
        font-size:14px;
    }

    .ta-app-shell__context h1{
        font-size:var(--ta-app-title) !important;
    }

    .ta-app-hero-card,
    .ta-app-hero-form,
    .ta-app-section,
    .ta-app-info-card,
    .ta-app-placeholder__card,
    .ta-app-article-card,
    .ta-app-planner-state-card{
        padding:12px !important;
    }

    .ta-app-nav-mobile{
        left:8px !important;
        right:8px !important;
        bottom:max(8px,env(safe-area-inset-bottom,0px)) !important;
        padding:5px !important;
        gap:3px !important;
        border-radius:18px !important;
    }

    .ta-app-nav-mobile .ta-app-nav-item{
        min-height:52px !important;
        padding:7px 3px !important;
    }

    .ta-app-nav-mobile .ta-app-nav-text strong{
        font-size:9.5px !important;
    }

    .ta-route-card-hero{
        min-height:84px;
    }

    body .ta-route-app{
        padding:0 7px 14px !important;
        gap:12px !important;
    }

    body .ta-route-app .ta-map-wrap{
        height:400px !important;
        min-height:400px !important;
    }

    body .ta-route-app #ta-map{
        min-height:400px !important;
    }
}

/* v0.3.2 mobile workspace app experience */
.ta-workspace-switcher,
.ta-mobile-summary-card,
.ta-mobile-explore-panel,
.ta-mobile-stops-list{
    display:none;
}

.ta-workspace-switcher{
    width:min(1320px,calc(100vw - 28px));
    margin:0 auto 10px;
    padding:4px;
    border:1px solid var(--ta-app-border,#e5eaf1);
    border-radius:12px;
    background:#fff;
    box-shadow:var(--ta-app-shadow,0 6px 18px rgba(6,17,31,.05));
}

.ta-workspace-switcher button{
    min-width:0;
    min-height:34px;
    border:0;
    border-radius:9px;
    padding:0 10px;
    background:transparent;
    color:#475467;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}

.ta-workspace-switcher button.is-active{
    background:#06111f;
    color:#fff;
}

.ta-mobile-summary-card,
.ta-mobile-explore-panel{
    padding:12px;
    border:1px solid var(--ta-app-border,#e5eaf1);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--ta-app-shadow,0 6px 18px rgba(6,17,31,.05));
}

.ta-mobile-summary-grid,
.ta-mobile-nav-actions,
.ta-mobile-explore-grid{
    display:grid;
    gap:8px;
}

.ta-mobile-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.ta-mobile-summary-grid div,
.ta-mobile-confidence,
.ta-mobile-explore-grid article{
    min-width:0;
    padding:10px;
    border:1px solid #edf1f5;
    border-radius:12px;
    background:#fbfdff;
}

.ta-mobile-summary-grid small,
.ta-mobile-confidence small,
.ta-mobile-explore-grid span{
    display:block;
    color:#667085;
    font-size:10px;
    font-weight:850;
    letter-spacing:0;
}

.ta-mobile-summary-grid strong,
.ta-mobile-confidence strong,
.ta-mobile-explore-grid strong{
    display:block;
    margin-top:3px;
    color:#06111f;
    font-size:14px;
    line-height:1.2;
}

.ta-mobile-confidence{
    margin-top:8px;
}

.ta-mobile-confidence span{
    display:block;
    margin-top:4px;
    color:#667085;
    font-size:12px;
    line-height:1.35;
}

.ta-mobile-nav-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:8px;
}

.ta-mobile-nav-actions a,
.ta-mobile-explore-grid a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    border-radius:10px;
    background:#06111f;
    color:#fff!important;
    text-decoration:none!important;
    font-size:11px;
    font-weight:900;
}

.ta-mobile-explore-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.ta-mobile-explore-grid article{
    display:grid;
    gap:8px;
}

.ta-mobile-explore-grid a{
    background:#f92355;
}

.ta-mobile-stops-list{
    margin-bottom:12px;
}

.ta-mobile-stops-list h3{
    margin:0 0 8px;
    color:#06111f;
    font-size:16px;
    line-height:1.15;
}

.ta-mobile-stops-list__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}

.ta-mobile-stops-list__header h3{
    margin:0;
}

.ta-workspace-overview{
    flex:0 0 auto;
    min-height:32px;
    padding:0 10px;
    border:1px solid #dbe4ee;
    border-radius:999px;
    background:#fff;
    color:#06111f;
    font-size:11px;
    font-weight:900;
}

.ta-mobile-stop-card{
    display:grid;
    width:100%;
    gap:5px;
    margin:0 0 8px;
    padding:10px;
    border:1px solid #e5eaf1;
    border-radius:12px;
    background:#fbfdff;
    color:#06111f;
    text-align:left;
}

.ta-mobile-stop-card>span{
    display:inline-flex;
    width:22px;
    height:22px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#06111f;
    color:#fff;
    font-size:11px;
    font-weight:950;
}

.ta-mobile-stop-card strong{
    font-size:14px;
    line-height:1.2;
}

.ta-mobile-stop-card small{
    color:#667085;
    font-size:11px;
}

.ta-mobile-stop-card div{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:3px;
}

.ta-mobile-stop-card em{
    display:inline-flex;
    border-radius:999px;
    padding:4px 7px;
    background:#eefafc;
    color:#0f6f85;
    font-size:10px;
    font-style:normal;
    font-weight:850;
}

.ta-owner-mobile-copy,
.ta-owner-coming-soon{
    display:none;
}

@media (max-width: 768px){
    .ta-workspace-switcher{
        position:sticky;
        top:4px;
        z-index:35;
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        width:100%;
        max-width:100%;
        margin:0 0 8px;
    }

    .ta-workspace-switcher button{
        padding:0 5px;
        font-size:11px;
    }

    .ta-route-app{
        min-height:calc(100svh - 154px);
    }

    .ta-route-app [data-ta-workspace-panel]{
        display:none !important;
    }

    .ta-route-app [data-ta-workspace-panel].is-workspace-active{
        display:block !important;
    }

    .ta-route-app .ta-left-panel.is-workspace-active,
    .ta-route-app .ta-right-panel.is-workspace-active{
        display:flex !important;
    }

    .ta-route-app .ta-map-area{
        display:none !important;
    }

    .ta-route-app .ta-map-area.is-workspace-container-active{
        display:block !important;
    }

    .ta-route-app .ta-savings-strip{
        display:none !important;
    }

    .ta-mobile-summary-card.is-workspace-active,
    .ta-mobile-explore-panel.is-workspace-active,
    .ta-mobile-stops-list{
        display:block !important;
    }

    .ta-mobile-summary-grid,
    .ta-mobile-explore-grid{
        grid-template-columns:1fr !important;
    }

    .ta-mobile-nav-actions{
        grid-template-columns:1fr !important;
    }

    .ta-route-app .ta-left-panel,
    .ta-route-app .ta-right-panel,
    .ta-route-app .ta-map-area,
    .ta-route-app .ta-route-workspace,
    .ta-route-app .ta-stays,
    .ta-route-app .ta-mobile-summary-card,
    .ta-route-app .ta-mobile-explore-panel{
        max-height:calc(100svh - 190px);
        overflow-y:auto;
        overflow-x:hidden;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;
    }

    .ta-route-app .ta-route-workspace{
        max-height:none;
        overflow:visible;
    }

    .ta-route-app .ta-stop-panel{
        max-height:none;
        overflow:visible;
    }
}

/* v0.4.0 mobile app UX redesign: keep behavior intact, reduce visual weight. */
.ta-mobile-plan-head{
    display:none;
}

.ta-ev-app-mode{
    --ta-app-title:clamp(2rem,4vw,2.5rem);
    --ta-app-section-title:clamp(1.35rem,2.2vw,1.75rem);
}

.ta-app-shell__topbar,
.ta-app-hero-card,
.ta-app-hero-form,
.ta-app-section,
.ta-route-card,
.ta-app-info-card,
.ta-app-placeholder__card,
.ta-mobile-summary-card,
.ta-mobile-explore-panel,
.ta-mobile-stop-card{
    box-shadow:0 8px 22px rgba(6,17,31,.045);
}

.ta-app-nav-item,
.ta-app-plan-form button,
.ta-route-card,
.ta-mobile-nav-actions a,
.ta-mobile-explore-grid a{
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;
}

.ta-app-nav-item:hover,
.ta-app-nav-item:focus-visible,
.ta-route-card:hover,
.ta-route-card:focus-within{
    transform:translateY(-1px);
}

@media (max-width: 768px){
    .ta-ev-app-mode{
        --ta-app-title:clamp(1.35rem,6vw,1.65rem);
        --ta-app-section-title:clamp(1rem,4.5vw,1.2rem);
        background:#f7f9fc;
        max-width:100%;
        overflow-x:hidden;
    }

    .ta-ev-app-mode *,
    .ta-ev-app-mode *::before,
    .ta-ev-app-mode *::after{
        box-sizing:border-box;
    }

    .ta-app-shell,
    .ta-route-app,
    .ta-route-app *,
    .ta-app-shell *{
        max-width:100%;
        min-width:0;
    }

    .ta-app-shell{
        width:100%;
        padding:0 12px calc(82px + env(safe-area-inset-bottom,0px)) !important;
        background:#f7f9fc;
    }

    .ta-app-shell__topbar{
        position:sticky;
        top:0;
        z-index:40;
        margin:0 -12px 10px !important;
        padding:9px 12px !important;
        border:0 !important;
        border-bottom:1px solid rgba(226,232,240,.9) !important;
        border-radius:0 !important;
        background:rgba(247,249,252,.94) !important;
        box-shadow:none !important;
        backdrop-filter:blur(18px);
    }

    .ta-app-shell__brand{
        gap:1px !important;
    }

    .ta-app-shell__brand-kicker,
    .ta-app-shell__context .ta-app-shell__eyebrow,
    .ta-app-nav-desktop{
        display:none !important;
    }

    .ta-app-shell__brand strong{
        font-size:17px !important;
        letter-spacing:-.03em;
    }

    .ta-app-shell__context{
        align-items:flex-end;
        text-align:right;
    }

    .ta-app-shell__context h1{
        max-width:46vw;
        margin:0;
        font-size:15px !important;
        line-height:1.1;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .ta-app-nav-mobile{
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        width:100% !important;
        max-width:100% !important;
        padding:6px 8px calc(7px + env(safe-area-inset-bottom,0px)) !important;
        gap:2px !important;
        border:0 !important;
        border-top:1px solid rgba(226,232,240,.96) !important;
        border-radius:18px 18px 0 0 !important;
        background:rgba(255,255,255,.96) !important;
        box-shadow:0 -10px 24px rgba(6,17,31,.08) !important;
        backdrop-filter:blur(18px);
    }

    .ta-app-nav-mobile .ta-app-nav-item{
        min-height:48px !important;
        padding:5px 2px !important;
        border:0 !important;
        border-radius:13px !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    .ta-app-nav-mobile .ta-app-nav-item.is-active{
        background:#f1f5f9 !important;
        color:#06111f !important;
    }

    .ta-app-nav-mobile .ta-app-nav-icon{
        font-size:15px !important;
        line-height:1;
    }

    .ta-app-nav-mobile .ta-app-nav-text span{
        display:none !important;
    }

    .ta-app-nav-mobile .ta-app-nav-text strong{
        font-size:10.5px !important;
        letter-spacing:-.01em;
    }

    .ta-app-hero{
        display:block !important;
        margin:0 !important;
    }

    .ta-app-hero-card{
        display:none !important;
    }

    .ta-app-hero-form,
    .ta-app-section,
    .ta-app-info-card,
    .ta-app-placeholder__card,
    .ta-app-planner-state-card{
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        padding:0 !important;
    }

    .ta-mobile-plan-head{
        display:grid;
        gap:2px;
        margin:4px 0 14px;
    }

    .ta-mobile-plan-head strong{
        color:#667085;
        font-size:12px;
        font-weight:900;
        letter-spacing:.04em;
        text-transform:uppercase;
    }

    .ta-mobile-plan-head span{
        color:#06111f;
        font-size:clamp(1.45rem,7vw,1.8rem);
        font-weight:950;
        letter-spacing:-.045em;
        line-height:1.02;
    }

    .ta-app-plan-form{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
        width:100%;
    }

    .ta-app-plan-form .ta-plan-field--wide,
    .ta-app-plan-form button,
    .ta-app-plan-form .ta-app-plan-message{
        grid-column:1 / -1 !important;
    }

    .ta-app-plan-form label{
        gap:5px !important;
    }

    .ta-app-plan-form label span{
        color:#475467;
        font-size:11px !important;
        font-weight:850;
        letter-spacing:.01em;
    }

    .ta-app-plan-form input,
    .ta-app-plan-form select{
        width:100% !important;
        min-height:42px !important;
        border-radius:12px !important;
        border-color:#dbe3ee !important;
        background:#fff !important;
        font-size:14px !important;
        box-shadow:none !important;
    }

    .ta-app-plan-form button{
        width:100% !important;
        min-height:46px !important;
        border-radius:13px !important;
        font-size:14px !important;
        box-shadow:0 8px 18px rgba(249,35,85,.16) !important;
    }

    .ta-app-route-library{
        display:grid !important;
        gap:10px !important;
        margin-top:16px !important;
    }

    .ta-app-section{
        margin-top:20px !important;
    }

    .ta-app-section-head{
        gap:3px !important;
        margin-bottom:10px !important;
    }

    .ta-app-section-head h2{
        font-size:19px !important;
        letter-spacing:-.035em;
    }

    .ta-app-section-head p,
    .ta-app-route-group-head small,
    .ta-app-info-card p,
    .ta-app-placeholder__card p{
        font-size:13px !important;
        line-height:1.42 !important;
    }

    .ta-app-route-group{
        gap:8px !important;
    }

    .ta-route-card{
        display:grid !important;
        grid-template-columns:76px minmax(0,1fr);
        gap:10px !important;
        padding:9px !important;
        border-radius:14px !important;
        box-shadow:0 6px 16px rgba(6,17,31,.045) !important;
    }

    .ta-route-card-hero{
        min-height:74px !important;
        height:74px !important;
        border-radius:11px !important;
    }

    .ta-route-card-body{
        padding:0 !important;
        gap:6px !important;
    }

    .ta-route-card-body h3{
        font-size:15px !important;
        line-height:1.18 !important;
    }

    .ta-route-card-body p{
        display:none !important;
    }

    .ta-route-card-stats{
        gap:4px !important;
    }

    .ta-route-card-stats span,
    .ta-route-card-link,
    .ta-route-card-badge{
        min-height:auto !important;
        padding:4px 6px !important;
        border-radius:8px !important;
        font-size:10px !important;
    }

    .ta-app-info-grid,
    .ta-app-score-grid,
    .ta-app-articles{
        gap:8px !important;
    }

    body .ta-route-app{
        width:100% !important;
        min-height:calc(100svh - 132px) !important;
        padding:0 0 12px !important;
        gap:10px !important;
        overflow-x:hidden !important;
    }

    .ta-workspace-switcher{
        position:sticky !important;
        top:46px !important;
        z-index:36 !important;
        margin:0 0 10px !important;
        padding:3px !important;
        border-radius:11px !important;
        border-color:#e2e8f0 !important;
        background:rgba(255,255,255,.92) !important;
        box-shadow:none !important;
        backdrop-filter:blur(16px);
    }

    .ta-workspace-switcher button{
        min-height:31px !important;
        border-radius:9px !important;
        padding:0 4px !important;
        font-size:10.5px !important;
        font-weight:900 !important;
    }

    .ta-route-app .ta-left-panel,
    .ta-route-app .ta-right-panel,
    .ta-route-app .ta-map-area,
    .ta-route-app .ta-stays,
    .ta-route-app .ta-mobile-summary-card,
    .ta-route-app .ta-mobile-explore-panel{
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        padding:0 !important;
        max-height:calc(100svh - 154px) !important;
    }

    body .ta-route-app .ta-brand-block,
    body .ta-route-app .ta-input-card,
    body .ta-route-app .ta-route-summary,
    body .ta-route-app .ta-score-box,
    body .ta-route-app .ta-score-soft,
    body .ta-route-app .ta-info-block,
    body .ta-route-app .ta-stop,
    body .ta-route-app .ta-hotel-card,
    .ta-mobile-summary-grid div,
    .ta-mobile-confidence,
    .ta-mobile-explore-grid article,
    .ta-mobile-stop-card{
        border-radius:13px !important;
        border:1px solid #e2e8f0 !important;
        background:#fff !important;
        box-shadow:0 6px 16px rgba(6,17,31,.04) !important;
    }

    body .ta-route-app .ta-brand-block{
        padding:10px !important;
    }

    body .ta-route-app .ta-brand-block strong{
        font-size:10px !important;
    }

    body .ta-route-app .ta-input-card{
        gap:8px !important;
        padding:10px !important;
    }

    body .ta-route-app .ta-input-card label{
        font-size:10.5px !important;
    }

    body .ta-route-app .ta-input-row,
    body .ta-route-app .ta-input-card input,
    body .ta-route-app .ta-input-card select{
        min-height:40px !important;
        border-radius:11px !important;
        font-size:13px !important;
    }

    body .ta-route-app .ta-map-wrap{
        height:44svh !important;
        min-height:280px !important;
        max-height:390px !important;
        border-radius:14px !important;
    }

    body .ta-route-app #ta-map{
        min-height:280px !important;
    }

    .ta-mobile-summary-card,
    .ta-mobile-explore-panel{
        padding:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        border:0 !important;
    }

    .ta-mobile-summary-grid,
    .ta-mobile-explore-grid{
        gap:8px !important;
    }

    .ta-mobile-summary-grid div,
    .ta-mobile-confidence,
    .ta-mobile-explore-grid article{
        padding:10px !important;
    }

    .ta-mobile-summary-grid strong,
    .ta-mobile-confidence strong,
    .ta-mobile-explore-grid strong{
        font-size:13px !important;
    }

    .ta-mobile-nav-actions{
        grid-template-columns:1fr !important;
        gap:7px !important;
    }

    .ta-mobile-nav-actions a,
    .ta-mobile-explore-grid a{
        min-height:38px !important;
        border-radius:11px !important;
        font-size:11px !important;
        box-shadow:none !important;
    }

    .ta-mobile-stops-list h3{
        font-size:15px !important;
        margin-bottom:8px !important;
    }

    .ta-mobile-stop-card{
        grid-template-columns:22px minmax(0,1fr);
        align-items:start;
        gap:4px 8px !important;
        margin-bottom:8px !important;
        padding:10px !important;
    }

    .ta-mobile-stop-card strong,
    .ta-mobile-stop-card small,
    .ta-mobile-stop-card div{
        grid-column:2;
    }

    .ta-mobile-stop-card strong{
        font-size:14px !important;
    }

    .ta-mobile-stop-card em{
        border-radius:8px !important;
        padding:3px 6px !important;
        background:#f1f5f9 !important;
        color:#344054 !important;
        font-size:9.5px !important;
    }

    .ta-right-panel .ta-stop-panel > :not(.ta-mobile-stops-list){
        display:none !important;
    }

    .ta-mobile-stops-list{
        width:100%;
        margin:0 !important;
    }

    .ta-mobile-stop-item{
        position:relative;
        width:100%;
        margin:0 0 8px;
    }

    .ta-endpoint-readiness{
        display:grid;
        gap:9px;
        width:100%;
        margin:0 0 9px;
        padding:10px;
        border:1px solid #cbdde3;
        border-left:3px solid #34d3e6;
        border-radius:11px;
        background:#f7fcfd;
        box-shadow:none;
    }

    .ta-endpoint-readiness--destination{
        margin-top:2px;
        border-left-color:#f92355;
        background:#fff9fb;
    }

    .ta-endpoint-readiness__copy span,
    .ta-endpoint-readiness__copy strong,
    .ta-endpoint-readiness__copy small{
        display:block;
    }

    .ta-endpoint-readiness__copy span{
        color:#08798a;
        font-size:9px;
        font-weight:900;
        letter-spacing:.06em;
        text-transform:uppercase;
    }

    .ta-endpoint-readiness--destination .ta-endpoint-readiness__copy span{
        color:#c91643;
    }

    .ta-endpoint-readiness__copy strong{
        margin-top:2px;
        color:#06111f;
        font-size:13px;
        line-height:1.25;
    }

    .ta-endpoint-readiness__copy small{
        margin-top:3px;
        color:#667085;
        font-size:10px;
        line-height:1.35;
    }

    .ta-endpoint-readiness__actions{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:5px;
    }

    .ta-endpoint-readiness__actions button{
        min-width:0;
        min-height:34px;
        padding:6px 4px;
        border:1px solid #d8e4e8;
        border-radius:8px;
        background:#fff;
        color:#243142;
        font-size:8.5px;
        font-weight:850;
        line-height:1.15;
        text-align:center;
        touch-action:manipulation;
    }

    .ta-endpoint-readiness__actions button:active{
        background:#eef7f9;
    }

    .ta-mobile-stop-card{
        position:relative;
        display:grid !important;
        grid-template-columns:28px minmax(0,1fr) auto 18px !important;
        align-items:center !important;
        gap:8px !important;
        width:100%;
        min-height:58px;
        margin:0 !important;
        padding:9px 76px 9px 10px !important;
        border:1px solid #e2e8f0 !important;
        border-radius:13px !important;
        background:#fff !important;
        box-shadow:none !important;
        text-align:left;
    }

    .ta-mobile-stop-card[aria-expanded="true"]{
        border-color:rgba(15,142,70,.32) !important;
        border-radius:13px 13px 8px 8px !important;
        background:#fbfefc !important;
    }

    .ta-mobile-stop-card .ta-mobile-stop-number{
        grid-column:1 !important;
        display:flex !important;
        align-items:center;
        justify-content:center;
        width:27px !important;
        min-width:27px !important;
        height:27px !important;
        margin:0 !important;
        border-radius:999px !important;
        background:#06111f !important;
        color:#fff !important;
        font-size:11px !important;
        font-weight:950;
    }

    .ta-mobile-stop-item--origin .ta-mobile-stop-card .ta-mobile-stop-number{
        background:#1d8fff !important;
    }

    .ta-mobile-stop-item--destination .ta-mobile-stop-card .ta-mobile-stop-number{
        background:#16a34a !important;
    }

    .ta-mobile-stop-copy{
        grid-column:2 !important;
        display:block !important;
        min-width:0;
        width:auto !important;
        height:auto !important;
        margin:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        color:inherit !important;
    }

    .ta-mobile-stop-copy strong,
    .ta-mobile-stop-copy small{
        display:block;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .ta-mobile-stop-copy strong{
        color:#06111f;
        font-size:13.5px !important;
        line-height:1.25;
    }

    .ta-mobile-stop-copy small{
        margin-top:3px;
        color:#667085;
        font-size:10px !important;
        line-height:1.2;
    }

    .ta-mobile-stop-badges{
        grid-column:3 !important;
        display:flex !important;
        align-items:flex-end;
        flex-direction:column;
        gap:3px;
        width:auto !important;
        height:auto !important;
        margin:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        color:inherit !important;
    }

    .ta-mobile-stop-item{
        padding-right:52px;
    }

    .ta-mobile-stop-item .ta-save-collection-button--stop-inline{
        right:12px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:32px;
        min-width:32px;
        height:32px;
        min-height:32px;
        padding:0;
        border-radius:50%;
        font-size:0;
    }

    .ta-mobile-stop-item .ta-save-collection-button--stop-inline::before{
        content:"1";
        color:#667085;
        font-size:16px;
        line-height:1;
    }

    .ta-mobile-stop-item .ta-save-collection-button--stop-inline.is-saved::before,
    .ta-mobile-stop-item .ta-save-collection-button--stop-inline[aria-pressed="true"]::before{
        content:"5";
        color:#079455;
    }

    .ta-mobile-stop-badges b{
        color:#0f8e46;
        font-size:12px;
        font-weight:950;
        white-space:nowrap;
    }

    .ta-mobile-stop-badges em{
        padding:2px 5px !important;
        border-radius:999px !important;
        background:#eaf8ee !important;
        color:#0f7a3c !important;
        font-size:8px !important;
        line-height:1.2;
        white-space:nowrap;
    }

    .ta-mobile-stop-chevron{
        grid-column:4 !important;
        display:block !important;
        width:auto !important;
        height:auto !important;
        margin:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        color:#667085 !important;
        font-size:16px !important;
        line-height:1;
        transform:rotate(0deg);
        transition:transform .18s ease;
    }

    .ta-mobile-stop-card[aria-expanded="true"] .ta-mobile-stop-chevron{
        transform:rotate(180deg);
    }

    .ta-mobile-stop-score[hidden]{
        display:none !important;
    }

    .ta-mobile-stop-score{
        display:block;
        margin:4px 0 0;
        padding:12px;
        border:1px solid rgba(15,142,70,.24);
        border-radius:8px 8px 14px 14px;
        background:linear-gradient(180deg,#f4fcf6 0%,#fff 100%);
        box-shadow:0 8px 20px rgba(15,142,70,.07);
    }

    .ta-mobile-stop-score__hero{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
    }

    .ta-mobile-stop-score__hero small,
    .ta-mobile-stop-score__hero strong,
    .ta-mobile-stop-score__hero p{
        display:block;
        margin:0;
    }

    .ta-mobile-stop-score__hero small{
        color:#0f7a3c;
        font-size:10px;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.04em;
    }

    .ta-mobile-stop-score__hero strong{
        margin-top:2px;
        color:#0f8e46;
        font-size:30px;
        line-height:1;
    }

    .ta-mobile-stop-score__hero strong i{
        font-size:12px;
        font-style:normal;
    }

    .ta-mobile-stop-score__hero p{
        margin-top:3px;
        color:#344054;
        font-size:11px;
        font-weight:850;
    }

    .ta-mobile-stop-score__gauge{
        display:grid;
        width:48px;
        height:48px;
        flex:0 0 48px;
        place-items:center;
        border-radius:999px;
        background:conic-gradient(#0f8e46 calc(var(--ta-stop-score) * 1%),#dcefe2 0);
    }

    .ta-mobile-stop-score__gauge span{
        width:36px;
        height:36px;
        border-radius:999px;
        background:#fff;
    }

    .ta-mobile-stop-score__factors{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:5px;
        margin-top:10px;
    }

    .ta-mobile-stop-score__factors>button{
        position:relative !important;
        display:block !important;
        appearance:none !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        min-height:52px !important;
        height:auto !important;
        aspect-ratio:auto !important;
        padding:8px 18px 7px 7px !important;
        border:1px solid #dcefe2 !important;
        border-radius:10px !important;
        background:#fbfefc !important;
        color:#06111f !important;
        box-shadow:0 3px 8px rgba(6,17,31,.07) !important;
        text-align:left !important;
        cursor:pointer !important;
        overflow:hidden !important;
        clip-path:none !important;
        pointer-events:auto !important;
        z-index:2 !important;
        transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease,background .17s ease;
        touch-action:manipulation !important;
    }

    .ta-mobile-stop-score__factors>button:hover,
    .ta-mobile-stop-score__factors>button:focus-visible{
        border-color:rgba(15,142,70,.34) !important;
        box-shadow:0 5px 11px rgba(6,17,31,.1) !important;
        transform:translateY(-1px) !important;
    }

    .ta-mobile-stop-score__factors>button:active{
        box-shadow:0 1px 4px rgba(6,17,31,.08) !important;
        transform:translateY(1px) scale(.985) !important;
    }

    .ta-mobile-stop-score__factors small,
    .ta-mobile-stop-score__factors b{
        position:relative;
        z-index:1;
        display:block;
    }

    .ta-mobile-stop-score__factors small{
        overflow:hidden;
        color:#667085;
        font-size:8px;
        font-weight:800;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .ta-mobile-stop-score__factors b{
        margin-top:2px;
        color:#0f7a3c;
        font-size:13px;
    }

    .ta-mobile-stop-score__factors i{
        position:absolute;
        z-index:1;
        top:6px;
        right:7px;
        color:#98a2b3;
        font-size:9px;
        font-style:normal;
        line-height:1;
    }

    .ta-mobile-stop-score__takeaway{
        margin:9px 0 0;
        color:#344054;
        font-size:10.5px;
        font-weight:750;
        line-height:1.4;
    }

    .ta-mobile-stop-score__charging{
        display:grid;
        gap:4px;
        margin-top:9px;
        padding-top:9px;
        border-top:1px solid #dcefe2;
    }

    .ta-mobile-stop-score__charging>strong{
        color:#06111f;
        font-size:11px;
    }

    .ta-mobile-stop-score__charging span,
    .ta-mobile-stop-score__charging small{
        color:#667085;
        font-size:9.5px;
        line-height:1.35;
    }

    .ta-owner-cta{
        display:flex !important;
        align-items:center !important;
        flex-wrap:wrap;
        gap:6px 8px !important;
        margin:10px 8px calc(12px + env(safe-area-inset-bottom)) !important;
        padding:10px 12px !important;
        border:1px solid #e2e8f0 !important;
        border-radius:13px !important;
        background:#fff !important;
        box-shadow:none !important;
    }

    .ta-mobile-stops-list > .ta-owner-cta{
        position:static !important;
        inset:auto !important;
        width:100% !important;
        max-width:100% !important;
        margin:10px 0 0 !important;
    }

    .ta-owner-cta .ta-owner-icon,
    .ta-owner-cta h2,
    .ta-owner-cta p{
        display:none !important;
    }

    .ta-owner-cta>div{
        order:3;
        flex:1 0 100%;
    }

    .ta-owner-mobile-copy{
        display:block !important;
        color:#667085;
        font-size:9.5px;
        line-height:1.25;
    }

    .ta-owner-coming-soon{
        display:inline-flex !important;
        order:2;
        margin-left:auto;
        padding:3px 6px;
        border-radius:999px;
        background:#eef2f6;
        color:#475467;
        font-size:8.5px;
        font-weight:900;
        text-transform:uppercase;
    }

    .ta-owner-cta .ta-primary-btn.small{
        order:1;
        width:auto !important;
        min-height:auto !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        color:#06111f !important;
        font-size:12px !important;
        box-shadow:none !important;
    }

    .ta-stop-best-badges,
    .ta-stop-best-badge{
        display:none !important;
    }

    .ta-ev-app-mode footer,
    .ta-ev-app-mode .site-footer,
    .ta-ev-app-mode .sharedaddy,
    .ta-ev-app-mode .sd-sharing-enabled,
    .ta-ev-app-mode .post-navigation{
        display:none !important;
    }
}

@media (min-width: 769px){
    .ta-app-shell__topbar{
        padding:14px 18px !important;
    }

    .ta-app-shell__context h1{
        font-size:clamp(1.9rem,3vw,2.45rem) !important;
    }

    .ta-app-section{
        padding:20px !important;
    }

    .ta-route-card{
        border-radius:16px !important;
    }
}

@media (prefers-reduced-motion: reduce){
    .ta-app-nav-item,
    .ta-app-plan-form button,
    .ta-route-card,
    .ta-mobile-nav-actions a,
    .ta-mobile-explore-grid a{
        transition:none !important;
        transform:none !important;
    }
}

/* v0.4.1 mobile Summary polish: route pages use one route-specific nav. */
.ta-mobile-route-header,
.ta-mobile-savings-compact,
.ta-mobile-quick-stats{
    display:none;
}

@media (max-width: 768px){
    .ta-app-shell[data-app-screen="summary"]{
        padding-bottom:14px !important;
    }

    .ta-app-shell[data-app-screen="summary"] .ta-app-shell__topbar,
    .ta-app-shell[data-app-screen="summary"] .ta-app-nav-mobile{
        display:none !important;
    }

    .ta-mobile-route-header{
        position:sticky;
        top:0;
        z-index:42;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        margin:0 -12px 0;
        padding:9px 12px 8px;
        border-bottom:1px solid rgba(226,232,240,.92);
        background:rgba(247,249,252,.96);
        backdrop-filter:blur(18px);
    }

    .ta-mobile-route-header > div:first-child{
        display:grid;
        gap:2px;
        min-width:0;
    }

    .ta-mobile-route-header span{
        color:#667085;
        font-size:10px;
        font-weight:900;
        letter-spacing:.06em;
        line-height:1;
        text-transform:uppercase;
    }

    .ta-mobile-route-header strong{
        display:block;
        max-width:calc(100vw - 148px);
        overflow:hidden;
        color:#06111f;
        font-size:17px;
        font-weight:950;
        letter-spacing:-.035em;
        line-height:1.08;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .ta-mobile-route-header a{
        flex:0 0 auto;
        min-height:30px;
        padding:7px 10px;
        border:1px solid #dbe4ee;
        border-radius:999px;
        background:#fff;
        color:#06111f!important;
        font-size:11px;
        font-weight:900;
        line-height:1;
        text-decoration:none!important;
    }

    .ta-mobile-route-header__actions{
        display:flex !important;
        align-items:center;
        flex:0 0 auto;
        gap:5px;
    }

    .ta-mobile-route-header__actions .ta-save-trip-button{
        min-height:30px;
        padding:0 9px;
        border-radius:999px;
        font-size:10px;
    }

    .ta-workspace-switcher{
        top:42px !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        margin:0 -2px 8px !important;
        width:calc(100% + 4px) !important;
    }

    .ta-workspace-switcher::before,
    .ta-workspace-switcher::after{
        align-self:center;
        color:#98a2b3;
        font-size:13px;
        font-weight:900;
        line-height:1;
        pointer-events:none;
    }

    .ta-workspace-switcher::before{
        content:"←";
        position:absolute;
        left:9px;
    }

    .ta-workspace-switcher::after{
        content:"→";
        position:absolute;
        right:9px;
    }

    .ta-workspace-switcher button:first-child{
        margin-left:14px;
    }

    .ta-workspace-switcher button:last-child{
        margin-right:14px;
    }

    .ta-route-app{
        min-height:calc(100svh - 86px) !important;
    }

    .ta-route-app .ta-left-panel{
        display:none !important;
    }

    .ta-route-app .ta-map-area.is-workspace-container-active,
    .ta-route-app .ta-map-area{
        max-height:none !important;
    }

    body .ta-route-app .ta-map-wrap{
        height:52svh !important;
        min-height:360px !important;
        max-height:470px !important;
        border-radius:18px !important;
    }

    body .ta-route-app #ta-map{
        min-height:360px !important;
        border-radius:18px !important;
    }

    body .ta-route-app .ta-map-legend{
        top:10px !important;
        left:10px !important;
        width:144px !important;
        max-width:calc(100% - 20px) !important;
        max-height:36px !important;
        overflow:hidden !important;
        padding:6px !important;
        border-radius:999px !important;
        box-shadow:0 8px 18px rgba(6,17,31,.10) !important;
        transition:max-height .18s ease,border-radius .18s ease;
    }

    body .ta-route-app .ta-map-legend:focus-within{
        max-height:232px !important;
        border-radius:14px !important;
    }

    body .ta-route-app .ta-map-legend .ta-legend-heading{
        margin:0 !important;
        padding:0 8px !important;
        min-height:24px !important;
    }

    body .ta-route-app .ta-map-legend .ta-legend-heading strong{
        font-size:0 !important;
    }

    body .ta-route-app .ta-map-legend .ta-legend-heading strong::after{
        content:"Recommended ▼";
        color:#06111f;
        font-size:11px;
        font-weight:950;
        letter-spacing:0;
        text-transform:none;
    }

    body .ta-route-app .ta-map-legend .ta-filter-row{
        display:none !important;
        height:27px !important;
        margin:3px 0 !important;
        padding:4px 8px !important;
        border-radius:10px !important;
    }

    body .ta-route-app .ta-map-legend .ta-filter-row.active,
    body .ta-route-app .ta-map-legend:focus-within .ta-filter-row{
        display:flex !important;
    }

    body .ta-route-app .ta-map-legend .ta-filter-row.active{
        background:#f1f5f9 !important;
    }

    body .ta-route-app .ta-charging-filter-panel{
        top:42px !important;
        left:0 !important;
        width:210px !important;
        max-width:calc(100vw - 24px) !important;
    }

    body .ta-route-app .ta-alternate-route-pills{
        top:10px !important;
        right:10px !important;
        left:auto !important;
        bottom:auto !important;
        width:auto !important;
        max-width:128px !important;
        display:grid !important;
        gap:4px !important;
        padding:4px !important;
        border:1px solid #dbe4ee !important;
        border-radius:999px !important;
        background:rgba(255,255,255,.94) !important;
        box-shadow:0 8px 18px rgba(6,17,31,.10) !important;
        overflow:hidden !important;
    }

    body .ta-route-app .ta-route-pill{
        display:none !important;
        min-height:28px !important;
        padding:0 10px !important;
        border:0 !important;
        border-radius:999px !important;
        background:transparent !important;
        color:#06111f !important;
        font-size:11px !important;
        font-weight:950 !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    body .ta-route-app .ta-route-pill.active,
    body .ta-route-app .ta-alternate-route-pills:focus-within .ta-route-pill{
        display:block !important;
    }

    body .ta-route-app .ta-route-pill.active::after{
        content:" ▼";
        color:#667085;
    }

    body .ta-route-app .mapboxgl-ctrl-top-left,
    body .ta-route-app .mapboxgl-ctrl-top-right{
        display:none !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right{
        right:8px !important;
        bottom:68px !important;
    }

    .ta-mobile-summary-grid{
        display:none !important;
    }

    .ta-mobile-quick-stats{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:5px;
        margin:8px 0 0;
        padding:8px;
        border:1px solid #e2e8f0;
        border-radius:14px;
        background:rgba(255,255,255,.94);
        box-shadow:0 6px 16px rgba(6,17,31,.045);
    }

    .ta-mobile-quick-stats div{
        min-width:0;
        text-align:center;
    }

    .ta-mobile-quick-stats strong{
        display:block;
        overflow:hidden;
        color:#06111f;
        font-size:12px;
        font-weight:950;
        line-height:1.1;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .ta-mobile-quick-stats small{
        display:block;
        margin-top:3px;
        color:#667085;
        font-size:9px;
        font-weight:850;
        line-height:1;
    }

    .ta-mobile-confidence{
        display:none !important;
    }

    .ta-mobile-nav-actions{
        margin-top:8px !important;
    }

    body .ta-route-app .ta-savings-strip.ta-savings-overlay{
        left:10px !important;
        right:auto !important;
        bottom:12px !important;
        z-index:9 !important;
        display:block !important;
        width:auto !important;
        max-width:calc(100% - 76px) !important;
        padding:0 !important;
        border:0 !important;
        border-radius:15px !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    .ta-mobile-savings-compact{
        display:flex !important;
        align-items:center;
        justify-content:space-between;
        gap:8px;
        width:100%;
        min-height:36px;
        padding:8px 10px;
        border:1px solid rgba(15,142,70,.18);
        border-radius:15px;
        background:rgba(255,255,255,.94);
        box-shadow:0 10px 22px rgba(6,17,31,.12);
        color:#06111f;
        font-size:12px;
        font-weight:950;
        line-height:1;
        backdrop-filter:blur(12px);
    }

    .ta-mobile-savings-compact small{
        color:#0f8e46;
        font-size:10px;
        font-weight:950;
    }

    body .ta-route-app .ta-savings-overlay .ta-savings-intro,
    body .ta-route-app .ta-savings-overlay .ta-savings-total,
    body .ta-route-app .ta-savings-overlay .ta-savings-metrics,
    body .ta-route-app .ta-savings-overlay .ta-savings-detail{
        display:none !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded{
        max-width:calc(100% - 20px) !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-metrics{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:6px !important;
        margin-top:6px !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-detail:not([hidden]){
        display:grid !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-metric{
        display:grid !important;
        min-height:44px !important;
        height:auto !important;
        padding:7px !important;
        border:1px solid #e2e8f0 !important;
        border-radius:12px !important;
        background:rgba(255,255,255,.95) !important;
        box-shadow:0 8px 18px rgba(6,17,31,.08) !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-metric small{
        font-size:9px !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-metric strong{
        font-size:13px !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-detail{
        margin-top:6px !important;
        padding:10px 12px !important;
        border-radius:12px !important;
        background:rgba(255,255,255,.97) !important;
        box-shadow:0 8px 18px rgba(6,17,31,.08) !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-detail strong{
        font-size:12px !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-detail p{
        font-size:10px !important;
    }

    .ta-info-dot{
        display:none !important;
    }
}

/* v0.4.2 mobile Summary final polish */
.ta-mobile-detail-panel{
    display:none;
}

@media (max-width: 768px){
    .ta-ev-app-mode{
        overflow-x:hidden;
    }

    .ta-workspace-switcher{
        top:42px !important;
        position:sticky !important;
        z-index:39 !important;
        display:flex !important;
        gap:6px !important;
        width:calc(100% + 4px) !important;
        margin:0 -2px 10px !important;
        padding:0 18px 4px 0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scrollbar-width:none;
        white-space:nowrap;
    }

    .ta-workspace-switcher::-webkit-scrollbar{
        display:none;
    }

    .ta-workspace-switcher::before{
        display:none !important;
    }

    .ta-workspace-switcher::after{
        content:"→";
        position:sticky;
        right:0;
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 18px;
        width:18px;
        color:#98a2b3;
        font-size:12px;
        font-weight:900;
        background:linear-gradient(90deg,rgba(247,249,252,0),#f7f9fc 55%);
        pointer-events:none;
    }

    .ta-workspace-switcher button,
    .ta-workspace-switcher button:first-child,
    .ta-workspace-switcher button:last-child{
        flex:0 0 auto !important;
        margin:0 !important;
        min-height:32px !important;
        padding:0 12px !important;
        border:1px solid #dbe4ee !important;
        border-radius:999px !important;
        background:#fff !important;
        color:#475467 !important;
        font-size:11px !important;
        font-weight:900 !important;
        white-space:nowrap !important;
    }

    .ta-workspace-switcher button.is-active{
        border-color:#06111f !important;
        background:#06111f !important;
        color:#fff !important;
        box-shadow:0 8px 18px rgba(6,17,31,.12) !important;
    }

    body .ta-route-app .ta-map-legend,
    body .ta-route-app .ta-alternate-route-pills{
        width:auto !important;
        max-width:calc(100% - 20px) !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    body .ta-route-app .ta-map-legend{
        top:10px !important;
        left:10px !important;
    }

    body .ta-route-app .ta-alternate-route-pills{
        top:10px !important;
        right:10px !important;
        left:auto !important;
        transform:none !important;
        display:block !important;
    }

    .ta-map-chip-trigger{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        min-height:38px;
        height:38px;
        padding:0 13px;
        border:1px solid rgba(219,228,238,.96);
        border-radius:999px;
        background:rgba(255,255,255,.96);
        color:#06111f;
        font-size:13px;
        font-weight:950;
        line-height:1;
        box-shadow:0 10px 22px rgba(6,17,31,.10);
        backdrop-filter:blur(14px);
    }

    .ta-map-chip-menu{
        position:absolute;
        z-index:11;
    }

    .ta-map-chip-dropdown{
        position:absolute;
        top:40px;
        left:0;
        min-width:156px;
        max-width:min(220px,calc(100vw - 24px));
        display:grid;
        gap:4px;
        padding:6px;
        border:1px solid #dbe4ee;
        border-radius:14px;
        background:rgba(255,255,255,.97);
        box-shadow:0 14px 28px rgba(6,17,31,.14);
        max-height:min(240px,calc(100svh - 220px));
        overflow-y:auto;
        opacity:0;
        transform:translateY(-4px) scale(.98);
        transform-origin:top left;
        transition:opacity .16s ease,transform .16s ease;
        backdrop-filter:blur(14px);
    }

    body .ta-route-app .ta-map-chip-dropdown{
        display:none !important;
    }

    .ta-map-chip-menu.is-open{
        z-index:60;
    }

    .ta-map-chip-menu.is-open .ta-map-chip-dropdown{
        opacity:1;
        transform:translateY(0) scale(1);
    }

    .ta-map-chip-menu.is-open .ta-filter-row,
    .ta-map-chip-menu.is-open .ta-route-pill{
        display:flex !important;
    }

    .ta-map-chip-menu .ta-filter-row,
    .ta-map-chip-menu .ta-route-pill{
        display:flex !important;
        align-items:center;
        justify-content:flex-start;
        width:100%;
        min-height:32px;
        margin:0 !important;
        padding:0 10px !important;
        border:0 !important;
        border-radius:10px !important;
        background:transparent !important;
        color:#06111f !important;
        font-size:11px !important;
        font-weight:850 !important;
        box-shadow:none !important;
        white-space:nowrap;
    }

    .ta-map-chip-menu .ta-filter-row.active,
    .ta-map-chip-menu .ta-route-pill.active{
        background:#06111f !important;
        color:#fff !important;
    }

    .ta-map-chip-menu .ta-filter-row.active em{
        border-color:rgba(255,255,255,.18) !important;
        background:rgba(255,255,255,.1) !important;
        color:#fff !important;
    }

    .ta-map-chip-menu .ta-filter-row i{
        width:10px !important;
        height:10px !important;
        flex:0 0 10px !important;
    }

    .ta-map-chip-menu .ta-filter-row em{
        margin-left:auto !important;
    }

    .ta-map-chip-menu .ta-charging-filter-panel{
        position:static !important;
        width:100% !important;
        max-width:none !important;
        margin:2px 0 0 !important;
        border-radius:10px !important;
        box-shadow:none !important;
        background:#f8fafc !important;
    }

    .ta-route-chip-trigger + .ta-map-chip-dropdown{
        left:auto;
        right:0;
        transform-origin:top right;
        min-width:132px;
    }

    .ta-ev-mobile-control-sheet[hidden]{
        display:none !important;
    }

    .ta-ev-mobile-control-sheet{
        position:fixed;
        inset:0;
        z-index:2147483000;
        display:flex;
        align-items:flex-end;
        justify-content:center;
        padding:12px;
        padding-bottom:max(12px,env(safe-area-inset-bottom));
    }

    .ta-ev-mobile-control-sheet__backdrop{
        position:absolute;
        inset:0;
        border:0;
        background:rgba(6,17,31,.42);
        opacity:0;
        transition:opacity .18s ease;
    }

    .ta-ev-mobile-control-sheet__panel{
        position:relative;
        z-index:1;
        width:min(100%,430px);
        max-height:calc(100svh - 56px);
        overflow-y:auto;
        padding:8px 14px max(14px,env(safe-area-inset-bottom));
        border:1px solid rgba(219,228,238,.96);
        border-radius:22px;
        background:#fff;
        box-shadow:0 -18px 44px rgba(6,17,31,.18);
        transform:translateY(calc(100% + 24px));
        transition:transform .22s ease;
        -webkit-overflow-scrolling:touch;
    }

    .ta-ev-mobile-control-sheet.is-open .ta-ev-mobile-control-sheet__backdrop{
        opacity:1;
    }

    .ta-ev-mobile-control-sheet.is-open .ta-ev-mobile-control-sheet__panel{
        transform:translateY(0);
    }

    .ta-ev-mobile-control-sheet__handle{
        width:38px;
        height:4px;
        margin:2px auto 8px;
        border-radius:999px;
        background:#d0d5dd;
    }

    .ta-ev-mobile-control-sheet__header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:3px 2px 10px;
    }

    .ta-ev-mobile-control-sheet__title{
        margin:0;
        color:#06111f;
        font-size:17px;
        font-weight:900;
        line-height:1.2;
    }

    .ta-ev-mobile-control-sheet__close{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        padding:0;
        border:0;
        border-radius:999px;
        background:#f2f4f7;
        color:#06111f;
        font-size:20px;
        line-height:1;
    }

    .ta-ev-mobile-control-sheet__options{
        display:grid;
    }

    .ta-ev-mobile-control-sheet__option{
        display:grid;
        grid-template-columns:18px minmax(0,1fr) 20px;
        align-items:center;
        gap:11px;
        width:100%;
        min-height:50px;
        padding:0 4px;
        border:0;
        border-top:1px solid #edf1f5;
        border-radius:0;
        background:#fff;
        color:#06111f;
        font-size:14px;
        font-weight:800;
        text-align:left;
        text-decoration:none;
    }

    .ta-ev-mobile-control-sheet__dot{
        width:11px;
        height:11px;
        border:2px solid #98a2b3;
        border-radius:999px;
        background:#fff;
    }

    .ta-ev-mobile-control-sheet__option.is-active .ta-ev-mobile-control-sheet__dot{
        border-color:#06111f;
        background:#06111f;
        box-shadow:inset 0 0 0 2px #fff;
    }

    .ta-ev-mobile-control-sheet__check{
        color:#06111f;
        font-size:16px;
        font-weight:950;
        text-align:center;
    }

    body.ta-ev-app-mode.ta-mobile-map-sheet-open{
        overflow:hidden !important;
    }

    body .ta-route-app .mapboxgl-ctrl-logo{
        display:none !important;
    }

    body .ta-route-app .mapboxgl-ctrl-attrib.mapboxgl-compact:not(.mapboxgl-compact-show){
        padding:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    body .ta-route-app .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button{
        position:relative !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:20px !important;
        min-width:20px !important;
        height:20px !important;
        min-height:20px !important;
        padding:0 !important;
        border:1px solid rgba(6,17,31,.14) !important;
        border-radius:999px !important;
        background:#fff !important;
        background-image:none !important;
        color:#06111f !important;
        font-size:0 !important;
        box-shadow:0 2px 7px rgba(6,17,31,.14) !important;
    }

    body .ta-route-app .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button::before{
        content:"i" !important;
        position:absolute !important;
        inset:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:100% !important;
        height:100% !important;
        box-sizing:border-box !important;
        font-family:Georgia,serif !important;
        font-size:13px !important;
        font-weight:700 !important;
        line-height:1 !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right{
        right:8px !important;
        bottom:60px !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-end !important;
        gap:6px !important;
        width:auto !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-group{
        display:block !important;
        width:32px !important;
        margin:0 !important;
        border:1px solid rgba(219,228,238,.96) !important;
        border-radius:10px !important;
        background:#fff !important;
        box-shadow:0 8px 18px rgba(6,17,31,.12) !important;
        overflow:hidden !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-group button{
        position:relative !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:32px !important;
        min-width:32px !important;
        max-width:32px !important;
        height:32px !important;
        min-height:32px !important;
        max-height:32px !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:#fff !important;
        color:#06111f !important;
        font-size:0 !important;
        line-height:1 !important;
        box-shadow:none !important;
    }

    /* Overview uses a text icon; keep it visible above the mobile font-size reset. */
    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-group button[aria-label="Overview"]{
        font-size:20px !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-group button + button{
        border-top:1px solid #e4e9ef !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,
    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{
        display:none !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-in::before{
        content:"+" !important;
        font-size:21px !important;
        font-weight:500 !important;
        line-height:1 !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-zoom-out::before{
        content:"−" !important;
        font-size:21px !important;
        font-weight:500 !important;
        line-height:1 !important;
    }

    .ta-mobile-nav-actions{
        display:block !important;
        margin-top:8px !important;
        position:relative;
        z-index:4;
    }

    .ta-mobile-maps-menu{
        position:relative;
        width:100%;
    }

    .ta-mobile-maps-trigger{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        width:100%;
        min-height:38px;
        padding:0 14px;
        border:1px solid #dbe4ee;
        border-radius:999px;
        background:#06111f;
        color:#fff;
        font-size:12px;
        font-weight:900;
        line-height:1;
        box-shadow:0 10px 22px rgba(6,17,31,.12);
    }

    .ta-mobile-maps-trigger::after{
        content:"▾";
        color:rgba(255,255,255,.78);
        font-size:12px;
        line-height:1;
        transition:transform .16s ease;
    }

    .ta-mobile-maps-menu.is-open .ta-mobile-maps-trigger::after{
        transform:rotate(180deg);
    }

    .ta-mobile-maps-options{
        position:static;
        width:100%;
        display:grid;
        gap:0;
        margin-top:8px;
        padding:0;
        border:1px solid #dbe4ee;
        border-radius:18px;
        background:#fff;
        box-shadow:0 14px 30px rgba(6,17,31,.10);
        opacity:0;
        transform:translateY(-4px) scale(.98);
        transform-origin:top center;
        transition:opacity .16s ease,transform .16s ease;
        overflow:hidden;
    }

    .ta-mobile-maps-menu.is-open .ta-mobile-maps-options{
        opacity:1;
        transform:translateY(0) scale(1);
    }

    .ta-mobile-maps-options a{
        display:flex !important;
        align-items:center;
        justify-content:space-between;
        min-height:54px;
        padding:0 16px;
        border-radius:0;
        background:#fff;
        color:#06111f !important;
        font-size:14px;
        font-weight:850;
        text-decoration:none !important;
    }

    .ta-mobile-maps-options a + a{
        border-top:1px solid #edf1f5;
    }

    .ta-mobile-map-option-icon{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:28px;
        height:28px;
        margin-right:12px;
        border-radius:999px;
        background:#f7f9fc;
        color:#06111f;
        font-size:15px;
        font-weight:900;
        line-height:1;
        flex:0 0 auto;
    }

    .ta-mobile-map-option-label{
        display:flex;
        align-items:center;
        flex:1 1 auto;
        min-width:0;
    }

    .ta-mobile-maps-options a[data-map-app="google"] .ta-mobile-map-option-icon{
        color:#0f8e46;
    }

    .ta-mobile-maps-options a[data-map-app="apple"] .ta-mobile-map-option-icon{
        color:#1d8fff;
    }

    .ta-mobile-maps-options a[data-map-app="waze"] .ta-mobile-map-option-icon{
        color:#f59e0b;
    }

    .ta-mobile-maps-options a::after{
        content:"›";
        color:#98a2b3;
        font-size:18px;
        line-height:1;
    }

    .ta-mobile-quick-stats{
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:4px !important;
        padding:6px 8px !important;
        border-radius:12px !important;
        background:rgba(255,255,255,.86) !important;
        box-shadow:none !important;
    }

    .ta-mobile-quick-stats div{
        padding:2px 0;
    }

    .ta-mobile-quick-stats strong{
        font-size:11.5px !important;
    }

    .ta-mobile-quick-stats small{
        font-size:8.5px !important;
    }

    body .ta-route-app .ta-savings-strip.ta-savings-overlay{
        max-width:calc(100% - 84px) !important;
    }

    .ta-mobile-savings-compact{
        padding:8px 11px !important;
        border-radius:999px !important;
        box-shadow:0 10px 22px rgba(6,17,31,.12) !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded{
        max-width:calc(100% - 20px) !important;
        padding-bottom:2px !important;
    }

    body .ta-route-app .ta-savings-overlay.is-mobile-expanded .ta-savings-metrics{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .ta-mobile-detail-panel.is-workspace-active{
        display:block !important;
    }

    .ta-mobile-detail-grid{
        display:grid;
        gap:8px;
    }

    .ta-mobile-detail-card{
        display:grid;
        gap:4px;
        padding:11px;
        border:1px solid #e2e8f0;
        border-radius:14px;
        background:#fff;
        box-shadow:0 6px 16px rgba(6,17,31,.04);
    }

    .ta-mobile-detail-card span{
        font-size:16px;
        line-height:1;
    }

    .ta-mobile-detail-card strong{
        color:#06111f;
        font-size:14px;
        line-height:1.2;
    }

    .ta-mobile-detail-card small{
        color:#667085;
        font-size:11px;
        line-height:1.4;
    }

    .ta-mobile-detail-card em{
        color:#344054;
        font-size:10px;
        font-style:normal;
        font-weight:850;
    }

    .ta-mobile-detail-card em b{
        margin-left:5px;
        color:#087dcc;
        font-weight:900;
    }

    .ta-mobile-detail-card--link{
        position:relative;
        color:inherit !important;
        text-decoration:none !important;
        cursor:pointer;
        transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
    }

    .ta-mobile-detail-card--link::after{
        content:"↗";
        position:absolute;
        top:10px;
        right:11px;
        color:#087dcc;
        font-size:13px;
        font-weight:900;
    }

    .ta-mobile-detail-card--link:active{
        transform:scale(.99);
    }

    .ta-mobile-detail-card--link:focus-visible{
        outline:2px solid #34d3e6;
        outline-offset:2px;
    }

    /* Keep mobile workspace headings readable rather than marketing-style caps. */
    #ta-stays-title,
    #ta-mobile-attractions-title{
        font-size:22px !important;
        font-weight:900 !important;
        letter-spacing:-.035em !important;
        line-height:1.08 !important;
        text-transform:none !important;
    }

    .ta-mobile-detail-card--attraction{
        gap:0;
        overflow:hidden;
        padding:0;
    }

    .ta-mobile-detail-card--attraction .ta-mobile-detail-card__visual{
        width:100%;
        height:128px;
        border-radius:0;
        background-position:center;
        background-size:cover;
    }

    .ta-mobile-detail-card--attraction .ta-mobile-detail-card__body{
        display:grid;
        gap:4px;
        padding:11px;
    }

    .ta-mobile-detail-empty{
        margin:0;
        padding:12px;
        color:#667085;
        font-size:13px;
        line-height:1.4;
    }

    .ta-ev-app-mode .sharedaddy,
    .ta-ev-app-mode .sd-sharing-enabled,
    .ta-ev-app-mode .jp-sharing-input-touch,
    .ta-ev-app-mode .wp-block-social-links,
    .ta-ev-app-mode .joinchat,
    .ta-ev-app-mode .joinchat--chatbox,
    .ta-ev-app-mode .chaty-widget,
    .ta-ev-app-mode .ask-ai-widget,
    .ta-ev-app-mode [class*="ask-button"],
    .ta-ev-app-mode [class*="floating"][class*="chat"]{
        display:none !important;
    }

    .ta-owner-cta{
        position:relative;
        z-index:1;
    }
}

@media (max-width: 390px){
    .ta-mobile-quick-stats{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width: 1023px){
    .ta-navigation-sheet[hidden]{
        display:none !important;
    }

    .ta-navigation-sheet{
        position:fixed;
        inset:0;
        z-index:100120;
    }

    .ta-navigation-sheet__backdrop{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        padding:0;
        border:0;
        background:rgba(6,17,31,.42);
        opacity:0;
        transition:opacity .27s ease;
    }

    .ta-navigation-sheet__panel{
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        max-height:min(78svh,620px);
        padding:8px 14px calc(12px + env(safe-area-inset-bottom));
        border-radius:24px 24px 0 0;
        background:#fff;
        box-shadow:0 -18px 44px rgba(6,17,31,.2);
        transform:translateY(calc(100% + 24px));
        transition:transform .27s cubic-bezier(.22,.8,.24,1);
        overflow-y:auto;
        overscroll-behavior:contain;
    }

    .ta-navigation-sheet.is-open .ta-navigation-sheet__backdrop{opacity:1}
    .ta-navigation-sheet.is-open .ta-navigation-sheet__panel{transform:translateY(0)}

    .ta-navigation-sheet__handle{
        width:38px;
        height:4px;
        margin:1px auto 10px;
        border-radius:999px;
        background:#d0d5dd;
    }

    .ta-navigation-sheet__header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:2px 2px 10px;
    }

    .ta-navigation-sheet__title{
        margin:0;
        color:#06111f;
        font-size:18px;
        font-weight:900;
        line-height:1.2;
    }

    .ta-navigation-sheet__close{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        padding:0;
        border:0;
        border-radius:999px;
        background:#f2f4f7;
        color:#06111f;
        font-size:20px;
    }

    .ta-navigation-sheet__options{
        overflow:hidden;
        border:1px solid #e2e8f0;
        border-radius:16px;
        background:#fff;
    }

    .ta-navigation-sheet__option{
        display:grid;
        grid-template-columns:32px minmax(0,1fr) 18px;
        align-items:center;
        gap:10px;
        width:100%;
        min-height:54px;
        padding:0 14px;
        border:0;
        background:#fff;
        color:#06111f;
        font-size:14px;
        font-weight:850;
        text-align:left;
        text-decoration:none !important;
    }

    .ta-navigation-sheet__option + .ta-navigation-sheet__option{border-top:1px solid #edf1f5}
    .ta-navigation-sheet__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#f7f9fc;font-size:15px}
    .ta-navigation-sheet__chevron{color:#98a2b3;font-size:19px;text-align:right}

    .ta-navigation-sheet__cancel{
        width:100%;
        min-height:46px;
        margin-top:10px;
        border:0;
        border-radius:14px;
        background:#f2f4f7;
        color:#06111f;
        font-size:14px;
        font-weight:900;
    }

    body.ta-navigation-sheet-open{overflow:hidden !important}

    .ta-navigation-toast{
        position:fixed;
        left:50%;
        bottom:calc(24px + env(safe-area-inset-bottom));
        z-index:100140;
        max-width:calc(100vw - 32px);
        padding:10px 14px;
        border-radius:999px;
        background:#06111f;
        color:#fff;
        font-size:12px;
        font-weight:850;
        opacity:0;
        transform:translate(-50%,12px);
        transition:opacity .2s ease,transform .2s ease;
        pointer-events:none;
        white-space:nowrap;
    }

    .ta-navigation-toast.is-visible{opacity:1;transform:translate(-50%,0)}
}

@media (min-width: 769px) and (max-width: 1023px){
    .ta-mobile-maps-menu.ta-tablet-navigation-menu{
        display:block !important;
        width:min(100%,520px);
        margin:12px auto 0;
    }
}

@media (min-width: 769px){
    .ta-map-chip-trigger,
    .ta-mobile-route-header,
    .ta-mobile-quick-stats,
    .ta-mobile-maps-menu,
    .ta-mobile-detail-panel{
        display:none !important;
    }

    body .ta-route-app .ta-map-legend{
        top:18px !important;
        left:18px !important;
        width:170px !important;
        max-width:170px !important;
        padding:13px !important;
        border:1px solid #dbe4ee !important;
        border-radius:12px !important;
        background:rgba(255,255,255,.94) !important;
        box-shadow:0 10px 24px rgba(6,17,31,.10) !important;
        backdrop-filter:blur(10px) !important;
    }

    body .ta-route-app .ta-map-legend .ta-map-chip-dropdown,
    body .ta-route-app .ta-map-legend .ta-map-chip-dropdown[hidden]{
        position:static !important;
        display:block !important;
        min-width:0 !important;
        max-width:none !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        opacity:1 !important;
        transform:none !important;
        backdrop-filter:none !important;
    }

    body .ta-route-app .ta-map-legend .ta-filter-row{
        display:flex !important;
    }

    body .ta-route-app .ta-alternate-route-pills{
        position:absolute !important;
        top:10px !important;
        left:50% !important;
        right:auto !important;
        z-index:3 !important;
        display:flex !important;
        max-width:calc(100% - 390px) !important;
        gap:4px !important;
        transform:translateX(-50%) !important;
        overflow-x:auto !important;
        padding:0 !important;
        border:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    body .ta-route-app .ta-alternate-route-pills .ta-map-chip-dropdown,
    body .ta-route-app .ta-alternate-route-pills .ta-map-chip-dropdown[hidden]{
        position:static !important;
        display:flex !important;
        gap:4px !important;
        min-width:0 !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        opacity:1 !important;
        transform:none !important;
        backdrop-filter:none !important;
    }

    body .ta-route-app .ta-alternate-route-pills .ta-route-pill{
        display:inline-flex !important;
        flex:0 0 auto !important;
        border:1px solid rgba(6,17,31,.14) !important;
        border-radius:999px !important;
        padding:3px 7px !important;
        background:rgba(255,255,255,.9) !important;
        color:#06111f !important;
        font-size:8px !important;
        font-weight:900 !important;
        box-shadow:0 2px 6px rgba(6,17,31,.05) !important;
        cursor:pointer !important;
        line-height:1.15 !important;
        min-height:auto !important;
    }

    body .ta-route-app .ta-alternate-route-pills .ta-route-pill.active{
        border-color:#1d8fff !important;
        background:#1d8fff !important;
        color:#fff !important;
    }

    body .ta-route-app .mapboxgl-ctrl-logo{
        display:block !important;
    }

    body .ta-route-app .mapboxgl-ctrl-bottom-right{
        right:12px !important;
        bottom:16px !important;
        gap:0 !important;
    }
}

@media (prefers-reduced-motion: reduce){
    .ta-map-chip-dropdown,
    .ta-mobile-maps-options{
        transition:none !important;
        transform:none !important;
    }

    .ta-navigation-sheet__backdrop,
    .ta-navigation-sheet__panel,
    .ta-navigation-toast,
    .ta-mobile-stop-score__factors>button{
        transition:none !important;
    }

}

@media (max-width: 768px) and (prefers-reduced-motion: reduce){
    .ta-ev-mobile-control-sheet__backdrop,
    .ta-ev-mobile-control-sheet__panel{
        transition:none !important;
    }
}

/* Mobile-only workspace selectors stay out of the desktop dashboard. */
.ta-mobile-workspace-stop-switcher{
    display:none;
}

/* v0.5.9o: flat Apple/Tesla-style route workspace tabs. */
@media (max-width: 768px){
    .ta-workspace-switcher{
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:0 !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 0 10px !important;
        padding:0 4px !important;
        overflow:visible !important;
        border:0 !important;
        border-bottom:1px solid #dbe4ee !important;
        border-radius:0 !important;
        background:rgba(255,255,255,.94) !important;
        box-shadow:none !important;
    }

    .ta-workspace-switcher::before,
    .ta-workspace-switcher::after{
        content:none !important;
        display:none !important;
    }

    .ta-workspace-switcher button,
    .ta-workspace-switcher button:first-child,
    .ta-workspace-switcher button:last-child{
        min-width:0 !important;
        min-height:42px !important;
        margin:0 !important;
        padding:0 2px !important;
        overflow:hidden !important;
        border:0 !important;
        border-bottom:2px solid transparent !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        color:#667085 !important;
        font-size:clamp(9.5px,2.7vw,11.5px) !important;
        font-weight:800 !important;
        line-height:1 !important;
        text-overflow:clip !important;
        white-space:nowrap !important;
        transform:none !important;
    }

    .ta-workspace-switcher button.is-active{
        border-bottom-color:#f92355 !important;
        background:transparent !important;
        color:#06111f !important;
        box-shadow:none !important;
    }

    .ta-workspace-switcher button:focus-visible{
        outline:2px solid #34d3e6 !important;
        outline-offset:-3px !important;
    }
}

/* v0.5.9p: keep mobile workspace content in normal document flow. */
@media (max-width: 768px){
    .ta-workspace-switcher{
        margin-bottom:4px !important;
    }

    body .ta-route-app{
        gap:0 !important;
    }

    body .ta-route-app .ta-map-area.is-workspace-container-active,
    body .ta-route-app .ta-stays.is-workspace-active{
        max-height:none !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
        overscroll-behavior:auto !important;
    }

    body .ta-route-app .ta-stays.is-workspace-active,
    body .ta-route-app .ta-mobile-detail-panel.is-workspace-active{
        margin-top:0 !important;
        padding-top:4px !important;
        padding-bottom:calc(112px + env(safe-area-inset-bottom)) !important;
    }

    body .ta-route-app .ta-stays.is-workspace-active .ta-section-head,
    body .ta-route-app .ta-mobile-detail-panel.is-workspace-active .ta-section-head{
        margin-top:0 !important;
    }

    /* v0.5.9v: keep Food/Coffee focused on the route stop being explored. */
    body .ta-route-app [data-ta-workspace-panel="food"] .ta-section-head{
        align-items:center !important;
        gap:10px !important;
        margin-bottom:5px !important;
    }

    body .ta-route-app #ta-mobile-food-title{
        color:#06111f !important;
        font-size:clamp(17px,5.3vw,21px) !important;
        line-height:1.12 !important;
        letter-spacing:-.025em !important;
        text-transform:none !important;
    }

    body .ta-route-app #ta-mobile-food-view-all{
        flex:0 0 auto !important;
        font-size:11px !important;
        line-height:1.2 !important;
        white-space:nowrap !important;
    }

    .ta-mobile-food-stop-switcher,
    .ta-mobile-workspace-stop-switcher{
        display:block;
        margin:0 0 10px;
    }

    .ta-mobile-food-stop-all,
    .ta-mobile-workspace-stop-all{
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        min-height:38px;
        padding:0 12px;
        border:1px solid #dbe4ee;
        border-radius:11px;
        background:#fff;
        color:#06111f;
        font:inherit;
        font-size:11px;
        font-weight:850;
        line-height:1;
    }

    .ta-mobile-food-stop-current,
    .ta-mobile-workspace-stop-current{
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .ta-mobile-food-stop-all em,
    .ta-mobile-workspace-stop-all em{
        color:#0879c9;
        font-size:10px;
        font-style:normal;
        white-space:nowrap;
    }

    .ta-mobile-food-stop-list,
    .ta-mobile-workspace-stop-list{
        display:grid;
        gap:4px;
        margin-top:6px;
        padding:6px;
        border:1px solid #e4ebf2;
        border-radius:10px;
        background:#f8fafc;
    }

    .ta-mobile-food-stop-list button,
    .ta-mobile-workspace-stop-list button{
        min-height:32px;
        padding:0 9px;
        border:0;
        border-radius:7px;
        background:transparent;
        color:#344054;
        font:inherit;
        font-size:11px;
        font-weight:800;
        text-align:left;
    }

    .ta-mobile-food-stop-list button.is-active,
    .ta-mobile-workspace-stop-list button.is-active{
        background:#fff;
        color:#06111f;
        box-shadow:0 2px 5px rgba(6,17,31,.06);
    }

    .ta-mobile-food-stop-all:focus-visible,
    .ta-mobile-food-stop-list button:focus-visible,
    .ta-mobile-workspace-stop-all:focus-visible,
    .ta-mobile-workspace-stop-list button:focus-visible{
        outline:2px solid #34d3e6;
        outline-offset:1px;
    }
}

/* v0.6.1: clear but low-weight disclosure for booking and ticket partner links. */
.ta-affiliate-disclosure{
    margin:10px 0 0;
    color:#667085;
    font-size:11px;
    font-weight:650;
    line-height:1.45;
}

/* v0.6.3: anonymous feedback is isolated to expanded, mobile route-stop cards. */
.ta-stop-feedback{display:none;}

@media (max-width:768px){
    .ta-affiliate-disclosure{
        margin:8px 2px 0;
        font-size:10px;
        line-height:1.4;
    }

    .ta-stop-feedback{
        display:grid;
        gap:7px;
        margin-top:10px;
        padding-top:10px;
        border-top:1px solid #dcefe2;
    }

    .ta-stop-feedback>strong{
        color:#06111f;
        font-size:11px;
    }

    .ta-stop-feedback>p{
        margin:0;
        color:#475467;
        font-size:10px;
        font-weight:750;
    }

    /* Keep the feedback choices compact rather than inheriting site-wide button sizing. */
    body .ta-route-app .ta-stop-feedback__choices{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:6px !important;
    }

    body .ta-route-app .ta-stop-feedback__choices button{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        min-height:32px !important;
        height:32px !important;
        max-height:32px !important;
        margin:0 !important;
        padding:0 10px !important;
        border:1px solid #dbe4ee !important;
        border-radius:8px !important;
        background:#fff !important;
        color:#475467 !important;
        box-shadow:none !important;
        font:inherit !important;
        font-size:10px !important;
        font-weight:800 !important;
        line-height:1 !important;
        white-space:nowrap !important;
        touch-action:manipulation;
        transition:transform .16s ease, border-color .16s ease, background-color .16s ease;
    }

    body .ta-route-app .ta-stop-feedback__choices button.is-selected{
        border-color:#0f8e46 !important;
        background:#effaf2 !important;
        color:#0f7a3c !important;
        box-shadow:inset 0 0 0 1px rgba(15,142,70,.08) !important;
    }

    body .ta-route-app .ta-stop-feedback__choices button:active{
        transform:scale(.97) !important;
    }

    .ta-stop-feedback textarea{
        width:100%;
        min-height:48px;
        resize:vertical;
        padding:8px;
        border:1px solid #dbe4ee;
        border-radius:8px;
        background:#fff;
        color:#344054;
        font:inherit;
        font-size:10px;
        line-height:1.35;
    }

    body .ta-route-app .ta-stop-feedback__submit{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        justify-self:start !important;
        width:auto !important;
        min-width:0 !important;
        min-height:32px !important;
        height:32px !important;
        max-height:32px !important;
        margin:0 !important;
        padding:0 11px !important;
        border:0 !important;
        border-radius:8px !important;
        background:#06111f !important;
        color:#fff !important;
        box-shadow:none !important;
        font:inherit !important;
        font-size:10px !important;
        font-weight:850 !important;
        line-height:1 !important;
        white-space:nowrap !important;
        touch-action:manipulation;
    }

    .ta-stop-feedback__submit:disabled{
        opacity:.65;
    }

    .ta-stop-feedback small{
        color:#667085;
        font-size:9px;
        line-height:1.35;
    }

    .ta-stop-feedback.is-submitted textarea,
    .ta-stop-feedback.is-submitted .ta-stop-feedback__choices,
    .ta-stop-feedback.is-submitted .ta-stop-feedback__submit{
        display:none;
    }

    .ta-stop-feedback.is-submitted [data-ta-feedback-status]{
        color:#0f7a3c;
        font-weight:800;
    }

    body .ta-route-app .ta-mobile-stop-close{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        justify-self:end !important;
        gap:5px !important;
        width:fit-content !important;
        min-width:0 !important;
        min-height:30px !important;
        height:30px !important;
        margin:10px 0 0 auto !important;
        padding:0 9px !important;
        border:1px solid #d8e4e8 !important;
        border-radius:8px !important;
        background:#fff !important;
        color:#475467 !important;
        box-shadow:none !important;
        font:inherit !important;
        font-size:9.5px !important;
        font-weight:800 !important;
        line-height:1 !important;
        touch-action:manipulation;
    }

    body .ta-route-app .ta-mobile-stop-close span{
        color:#667085;
        font-size:13px;
        line-height:1;
    }

    /* Keep the expanded Stops workspace in normal document flow above fixed mobile controls. */
    body .ta-route-app .ta-right-panel.is-workspace-active{
        max-height:none !important;
        height:auto !important;
        min-height:0 !important;
        overflow:visible !important;
        padding-bottom:calc(176px + env(safe-area-inset-bottom)) !important;
    }

    .ta-stop-feedback textarea{
        scroll-margin-bottom:calc(210px + env(safe-area-inset-bottom));
    }

    /* The third-party Ask control is not part of the EV Travel app experience on mobile. */
    .ta-ev-app-mode [class*="ask" i],
    .ta-ev-app-mode [id*="ask" i],
    .ta-ev-app-mode iframe[title*="ask" i]{
        display:none !important;
    }

    .ta-ev-app-mode #taFloatingAskBtn{
        display:none !important;
    }
}

/* v0.8.0c desktop route workspace fix.
 * Route summaries need the same wide dashboard canvas as the established
 * production pages. Keep the app header centered, but let the route workspace
 * break out of the theme's narrow content column on desktop only. */
@media (min-width:769px){
    body.ta-ev-app-mode #page,
    body.ta-ev-app-mode #content,
    body.ta-ev-app-mode .site,
    body.ta-ev-app-mode .site-content,
    body.ta-ev-app-mode .content-area,
    body.ta-ev-app-mode .entry-content,
    body.ta-ev-app-mode .inside-article{
        overflow-x:visible !important;
    }

    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"]{
        width:100vw !important;
        max-width:100vw !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
        padding:12px 0 36px !important;
        overflow:visible !important;
    }

    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-app-shell__topbar,
    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-app-shell__content{
        width:min(1440px,calc(100vw - 24px)) !important;
        max-width:none !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-app-shell__content{
        grid-template-columns:minmax(0,1fr) !important;
    }

    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-route-app{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        transform:none !important;
        padding:28px 24px !important;
        grid-template-columns:300px minmax(0,1fr) 330px !important;
    }
}

@media (min-width:769px) and (max-width:1400px){
    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-route-app{
        grid-template-columns:280px minmax(0,1fr) !important;
    }

    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-route-app .ta-right-panel{
        grid-column:1 / -1 !important;
        position:relative !important;
        top:auto !important;
    }
}

/* v0.8.0e route planner reliability and restrained desktop sidebar controls. */
body .ta-route-app .ta-route-place-autocomplete{
    position:relative;
    min-width:0;
}

body .ta-route-app .ta-route-place-autocomplete .ta-place-autocomplete-menu{
    position:absolute;
    top:calc(100% + 5px);
    right:0;
    left:0;
    z-index:100;
    display:grid;
    overflow:hidden;
    border:1px solid #dbe4ee;
    border-radius:12px;
    background:#fff;
    box-shadow:0 16px 30px rgba(6,17,31,.14);
}

body .ta-route-app .ta-route-place-autocomplete .ta-place-autocomplete-menu[hidden]{
    display:none !important;
}

body .ta-route-app .ta-route-place-autocomplete .ta-place-autocomplete-option{
    display:block;
    width:100%;
    padding:9px 12px;
    border:0;
    border-radius:0;
    background:#fff;
    color:#06111f;
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    text-align:left;
    white-space:normal;
    cursor:pointer;
}

body .ta-route-app .ta-route-place-autocomplete .ta-place-autocomplete-option + .ta-place-autocomplete-option{
    border-top:1px solid #edf1f5;
}

body .ta-route-app .ta-route-place-autocomplete .ta-place-autocomplete-option:hover,
body .ta-route-app .ta-route-place-autocomplete .ta-place-autocomplete-option:focus-visible,
body .ta-route-app .ta-route-place-autocomplete .ta-place-autocomplete-option.is-active{
    background:#f7fafc;
    outline:0;
}

body .ta-route-app .ta-add-stop-row{
    grid-template-columns:minmax(0,1fr) 38px !important;
    width:100%;
    min-width:0;
}

body .ta-route-app .ta-add-stop-row .ta-input-row{
    min-width:0;
}

body .ta-route-app .ta-add-stop-row button{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:10px !important;
    font-size:18px !important;
    line-height:1 !important;
}

body .ta-route-app .ta-added-stops-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
}

body .ta-route-app .ta-added-stop-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:4px 7px 4px 9px;
    border:1px solid #dbe4ee;
    border-radius:8px;
    background:#f8fafc;
    color:#344054;
    font-size:10px;
    font-weight:800;
}

body .ta-route-app .ta-added-stop-chip button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#e9eef5;
    color:#475467;
    font-size:14px;
    line-height:1;
    cursor:pointer;
}

@media (min-width:769px){
    body .ta-route-app .ta-summary-card{
        border-radius:14px !important;
        box-shadow:0 8px 20px rgba(6,17,31,.05) !important;
    }

    body .ta-route-app .ta-route-title span{
        border:1px solid #cfe6ff !important;
        border-radius:7px !important;
        background:#f4faff !important;
        padding:4px 6px !important;
    }

    body .ta-route-app .ta-route-best-badges{
        display:grid !important;
        gap:6px !important;
    }

    body .ta-route-app .ta-route-best-badge{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        width:100% !important;
        padding:7px 8px !important;
        border-radius:8px !important;
        background:#fff !important;
        font-size:9px !important;
        line-height:1.25 !important;
    }

    body .ta-route-app .ta-stop-list{
        gap:5px;
    }

    body .ta-route-app .ta-stop{
        width:100%;
        padding:9px 8px;
        border:1px solid #e7edf4;
        border-radius:10px;
        background:#fff;
        text-align:left;
        cursor:pointer;
    }

    body .ta-route-app .ta-stop.active{
        border-color:#bdeef4;
        background:#f8feff;
    }

    body .ta-route-app .ta-stop em{
        border-radius:6px;
        padding:4px 5px;
    }
}

@media (min-width:1024px){
    .ta-navigation-sheet[hidden]{display:none !important}
    .ta-navigation-sheet{position:fixed;inset:0;z-index:100120}
    .ta-navigation-sheet__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(6,17,31,.38);opacity:0;transition:opacity .2s ease}
    .ta-navigation-sheet__panel{position:absolute;top:50%;left:50%;width:min(380px,calc(100vw - 32px));padding:12px 14px 14px;border-radius:18px;background:#fff;box-shadow:0 22px 55px rgba(6,17,31,.25);transform:translate(-50%,-46%);transition:transform .2s ease}
    .ta-navigation-sheet.is-open .ta-navigation-sheet__backdrop{opacity:1}
    .ta-navigation-sheet.is-open .ta-navigation-sheet__panel{transform:translate(-50%,-50%)}
    .ta-navigation-sheet__handle{display:none}
    .ta-navigation-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 10px}
    .ta-navigation-sheet__title{margin:0;color:#06111f;font-size:17px;font-weight:900}
    .ta-navigation-sheet__close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#f2f4f7;color:#06111f;font-size:19px;cursor:pointer}
    .ta-navigation-sheet__options{overflow:hidden;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
    .ta-navigation-sheet__option{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;min-height:50px;padding:0 12px;border:0;background:#fff;color:#06111f;font-size:13px;font-weight:850;text-align:left;text-decoration:none}
    .ta-navigation-sheet__option + .ta-navigation-sheet__option{border-top:1px solid #edf1f5}
    .ta-navigation-sheet__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f7f9fc;font-size:14px}
    .ta-navigation-sheet__chevron{color:#98a2b3;font-size:18px;text-align:right}
    .ta-navigation-sheet__cancel{width:100%;min-height:40px;margin-top:9px;border:0;border-radius:10px;background:#f2f4f7;color:#06111f;font-size:13px;font-weight:850;cursor:pointer}
}

/* A full-width workspace has enough room for the established three-column
 * dashboard above this threshold; narrower desktops retain the safe stacked
 * score panel rather than creating a horizontal page scroll. */
@media (min-width:1201px) and (max-width:1400px){
    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-route-app{
        grid-template-columns:280px minmax(0,1fr) 300px !important;
    }

    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-route-app .ta-right-panel{
        grid-column:auto !important;
        position:sticky !important;
        top:18px !important;
    }
}

/* v0.8.0d desktop Trip Summary hierarchy and sidebar badge placement. */
@media (min-width:769px){
    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-app-shell__topbar--route{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        align-items:center !important;
        gap:20px !important;
    }

    body.ta-ev-app-mode .ta-app-shell__route-heading{
        min-width:0 !important;
    }

    body.ta-ev-app-mode .ta-app-shell__route-heading h1{
        margin:6px 0 0 !important;
        color:#06111f !important;
        font-size:clamp(1.9rem,3vw,2.45rem) !important;
        line-height:1.05 !important;
        letter-spacing:-.03em !important;
    }

    body.ta-ev-app-mode .ta-app-shell__route-heading p{
        max-width:680px !important;
        margin:7px 0 0 !important;
        color:#667085 !important;
        font-size:13px !important;
        line-height:1.4 !important;
    }

    body.ta-ev-app-mode .ta-app-shell__topbar--route .ta-app-nav-desktop{
        justify-content:flex-end !important;
        max-width:650px !important;
    }

    body.ta-ev-app-mode .ta-route-app .ta-stop-best-badges{
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        width:100% !important;
        min-width:0 !important;
        overflow:visible !important;
    }

    body.ta-ev-app-mode .ta-route-app .ta-panel-title-row{
        grid-column:1 !important;
        grid-row:1 !important;
    }

    body.ta-ev-app-mode .ta-route-app .ta-recommended-pill{
        grid-column:2 !important;
        grid-row:1 !important;
    }

    body.ta-ev-app-mode .ta-route-app .ta-panel-close{
        grid-column:3 !important;
        grid-row:1 !important;
    }
}

@media (min-width:769px) and (max-width:1400px){
    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] .ta-app-shell__topbar--route{
        grid-template-columns:minmax(0,1fr) !important;
        align-items:start !important;
    }

    body.ta-ev-app-mode .ta-app-shell__topbar--route .ta-app-nav-desktop{
        width:100% !important;
        max-width:none !important;
        justify-content:flex-start !important;
    }
}

/* v0.8.0n shared planner baseline.
 * The app planner uses one field sequence on home and the dedicated planner:
 * From, To, vehicle/battery, arrival/preference, optional stop, then submit. */
.ta-plan-route-points{
    display:grid;
    grid-template-columns:16px minmax(0,1fr) 38px;
    gap:10px;
    align-items:center;
    grid-column:1 / -1;
    min-width:0;
}

.ta-plan-route-points__markers,
body .ta-route-app .ta-route-points__markers{
    display:grid;
    grid-template-rows:12px minmax(14px,1fr) 12px;
    justify-items:center;
    align-items:center;
    align-self:stretch;
    min-height:74px;
    padding:7px 0;
}

.ta-plan-route-points__markers i,
body .ta-route-app .ta-route-points__markers i{
    display:block;
    width:10px;
    height:10px;
    border:2px solid #344054;
    border-radius:50%;
    background:#fff;
}

.ta-plan-route-points__markers b,
body .ta-route-app .ta-route-points__markers b{
    display:block;
    width:2px;
    height:100%;
    min-height:16px;
    background:repeating-linear-gradient(to bottom,#98a2b3 0 3px,transparent 3px 6px);
}

.ta-plan-route-points__markers i:last-child,
body .ta-route-app .ta-route-points__markers i:last-child{
    border-color:#f92355;
    background:#f92355;
    box-shadow:0 0 0 3px rgba(249,35,85,.12);
}

.ta-plan-route-points__fields,
body .ta-route-app .ta-route-points__fields{
    display:grid;
    gap:8px;
    min-width:0;
}

.ta-app-plan-form .ta-plan-route-points .ta-plan-field--wide{
    grid-column:auto !important;
}

.ta-plan-route-points__swap,
body .ta-route-app .ta-route-points__swap{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px !important;
    min-width:38px;
    height:38px;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #cfd9e5;
    border-radius:10px;
    background:#fff !important;
    color:#344054 !important;
    font-size:20px;
    font-weight:850;
    line-height:1;
    box-shadow:none;
}

.ta-plan-sr-label,
body .ta-route-app .ta-route-sr-label{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

body .ta-route-app .ta-route-points{
    display:grid;
    grid-template-columns:16px minmax(0,1fr) 34px;
    gap:9px;
    align-items:center;
    min-width:0;
}

body .ta-route-app .ta-route-points__markers{
    min-height:70px;
}

body .ta-route-app .ta-route-points__swap{
    width:34px !important;
    min-width:34px;
    height:34px;
    border-radius:9px;
    font-size:18px;
}

body .ta-route-app .ta-route-points__fields{
    display:flex;
    flex-direction:column;
    gap:8px;
}

body .ta-route-app .ta-route-points__fields > [data-ta-place-field="origin"]{ order:1; }
body .ta-route-app .ta-route-points__fields > [data-ta-place-field="destination"]{ order:2; }
body .ta-route-app .ta-route-points__fields > .ta-added-stops-list{ order:3; }
body .ta-route-app .ta-route-points__fields > .ta-route-add-stop-trigger{ order:3; }
body .ta-route-app .ta-route-points__fields > .ta-add-stop-row{ order:4; }
body .ta-route-app .ta-route-points.is-adding-stop .ta-route-points__fields > [data-ta-place-field="destination"],
body .ta-route-app .ta-route-points.is-has-added-stops .ta-route-points__fields > [data-ta-place-field="destination"]{ order:5; }
body .ta-route-app .ta-route-points.is-has-added-stops .ta-route-points__fields > .ta-added-stops-list{ order:2; }

body .ta-route-app .ta-route-add-stop-trigger{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    min-height:29px;
    margin:0;
    padding:2px 0;
    border:0;
    background:transparent;
    color:#344054;
    font-size:12px;
    font-weight:850;
    cursor:pointer;
}

body .ta-route-app .ta-route-add-stop-trigger span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:19px;
    height:19px;
    border:2px solid #344054;
    border-radius:50%;
    color:#344054;
    font-size:17px;
    font-weight:500;
    line-height:1;
}

body .ta-route-app .ta-route-points .ta-added-stops-list{
    display:flex;
    flex-direction:column;
    gap:7px;
    width:100%;
    margin:0;
}

body .ta-route-app .ta-route-added-stop{
    display:grid;
    grid-template-columns:13px minmax(0,1fr) 24px;
    gap:7px;
    align-items:center;
    min-height:33px;
    color:#344054;
    font-size:12px;
    font-weight:750;
}

body .ta-route-app .ta-route-added-stop__marker{
    width:9px;
    height:9px;
    border:2px solid #667085;
    border-radius:50%;
    background:#fff;
}

body .ta-route-app .ta-route-added-stop__name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

body .ta-route-app .ta-route-added-stop button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    padding:0;
    border:1px solid #cfd9e5;
    border-radius:50%;
    background:#fff;
    color:#475467;
    font-size:15px;
    line-height:1;
}

.ta-app-plan-form .ta-plan-field--wide{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
}

.ta-app-plan-form .ta-plan-field--wide::before,
.ta-app-plan-form .ta-plan-field--wide::after{
    display:none !important;
    content:none !important;
}

.ta-app-plan-form .ta-plan-field--add-stop span small{
    color:#667085;
    font-size:10px;
    font-weight:750;
}

/* v0.8.0o planner form parity: shared stop queue and compact sidebar field pairs. */
.ta-app-plan-form .ta-plan-add-stop-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    gap:8px;
    align-items:end;
    grid-column:1 / -1;
}

.ta-app-plan-form .ta-plan-add-stop-row .ta-plan-field--wide,
.ta-app-plan-form .ta-plan-add-stop-row .ta-plan-add-stop-button{
    grid-column:auto !important;
}

.ta-app-plan-form .ta-plan-add-stop-button{
    width:42px;
    min-width:42px;
    height:42px;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #cfd9e5;
    border-radius:11px;
    background:#fff !important;
    color:#f92355 !important;
    font-size:20px;
    font-weight:900;
    line-height:1;
    box-shadow:none;
    width:42px !important;
}

.ta-app-plan-form .ta-plan-added-stops-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    grid-column:1 / -1;
    margin-top:-2px;
}

.ta-app-plan-form .ta-plan-added-stop-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:4px 7px 4px 9px;
    border:1px solid #dbe4ee;
    border-radius:8px;
    background:#f8fafc;
    color:#344054;
    font-size:11px;
    font-weight:800;
}

.ta-app-plan-form .ta-plan-added-stop-chip button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#667085;
    font-size:16px;
    line-height:1;
}

/* Inline route-stop flow: the final destination moves below an added waypoint. */
.ta-app-plan-form .ta-plan-route-points__fields{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="origin"]{ order:1; }
.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="destination"]{ order:2; }
.ta-app-plan-form .ta-plan-route-points__fields > .ta-plan-added-stops-list{ order:3; }
.ta-app-plan-form .ta-plan-route-points__fields > .ta-plan-add-stop-trigger{ order:3; }
.ta-app-plan-form .ta-plan-route-points__fields > .ta-plan-add-stop-row{ order:4; }

.ta-app-plan-form.is-adding-stop .ta-plan-route-points__fields > [data-ta-place-field="destination"],
.ta-app-plan-form.is-has-added-stops .ta-plan-route-points__fields > [data-ta-place-field="destination"]{ order:5; }
.ta-app-plan-form.is-has-added-stops .ta-plan-route-points__fields > .ta-plan-added-stops-list{ order:2; }

.ta-app-plan-form .ta-plan-add-stop-trigger{
    display:inline-flex;
    align-items:center;
    gap:9px;
    width:max-content;
    min-height:30px;
    margin:0;
    padding:2px 0;
    border:0;
    background:transparent;
    color:#344054;
    font-size:13px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
}

.ta-app-plan-form .ta-plan-add-stop-trigger span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border:2px solid #344054;
    border-radius:50%;
    color:#344054;
    font-size:18px;
    font-weight:500;
    line-height:1;
}

.ta-app-plan-form .ta-plan-route-points .ta-plan-add-stop-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    gap:8px;
    width:100%;
}

.ta-app-plan-form .ta-plan-route-points .ta-plan-added-stops-list{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    width:100%;
    margin:0;
}

.ta-app-plan-form .ta-plan-route-stop{
    display:grid;
    grid-template-columns:14px minmax(0,1fr) 28px;
    gap:8px;
    align-items:center;
    min-height:36px;
    color:#344054;
    font-size:13px;
    font-weight:750;
}

.ta-app-plan-form .ta-plan-route-stop__marker{
    width:10px;
    height:10px;
    border:2px solid #667085;
    border-radius:50%;
    background:#fff;
}

.ta-app-plan-form .ta-plan-route-stop__name{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ta-app-plan-form .ta-plan-route-stop button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    padding:0;
    border:1px solid #cfd9e5;
    border-radius:50%;
    background:#fff;
    color:#475467;
    font-size:16px;
    line-height:1;
}

/* Canonical planner field and waypoint polish: preserve input borders while
 * removing theme-injected field dividers and keeping stop removal compact. */
.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="origin"],
.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="destination"]{
    border:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
}
.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="origin"]::before,
.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="origin"]::after,
.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="destination"]::before,
.ta-app-plan-form .ta-plan-route-points__fields > [data-ta-place-field="destination"]::after{
    display:none !important;
    content:none !important;
}
.ta-app-plan-form .ta-plan-route-stop{
    display:inline-grid;
    width:max-content;
    max-width:100%;
    grid-template-columns:12px minmax(0,1fr) 21px;
    gap:7px;
    min-height:30px;
    padding:2px 0;
}
.ta-app-plan-form .ta-plan-route-stop button{
    grid-column:auto !important;
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    min-height:20px !important;
    padding:0 !important;
    border:1px solid #f4a8bd !important;
    border-radius:5px !important;
    background:#fff0f4 !important;
    color:#b4234c !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:1 !important;
}
.ta-app-plan-form .ta-plan-route-stop button:hover,
.ta-app-plan-form .ta-plan-route-stop button:focus-visible{
    background:#f92355 !important;
    color:#fff !important;
    outline:2px solid rgba(249,35,85,.28);
    outline-offset:1px;
}

/* The planner stores Mapbox metadata in hidden inputs. Keep those fields and
 * inactive inline-stop controls out of the visual route sequence. */
.ta-app-plan-form input[type="hidden"]{
    display:none !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
}

.ta-app-plan-form .ta-plan-add-stop-trigger{
    display:inline-flex !important;
    width:max-content !important;
    min-height:30px !important;
    padding:2px 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#344054 !important;
    box-shadow:none !important;
}

.ta-app-plan-form .ta-plan-route-points__swap{
    display:inline-flex !important;
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:center !important;
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    border:1px solid #cfd9e5 !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#344054 !important;
    box-shadow:none !important;
}

.ta-app-plan-form .ta-plan-route-points [data-ta-place-field="origin"],
.ta-app-plan-form .ta-plan-route-points [data-ta-place-field="destination"]{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-bottom:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.ta-app-plan-form .ta-plan-route-points [data-ta-place-field="origin"]::before,
.ta-app-plan-form .ta-plan-route-points [data-ta-place-field="origin"]::after,
.ta-app-plan-form .ta-plan-route-points [data-ta-place-field="destination"]::before,
.ta-app-plan-form .ta-plan-route-points [data-ta-place-field="destination"]::after{
    display:none !important;
    content:none !important;
}

.ta-app-plan-form [data-ta-add-stop-row][hidden],
.ta-app-plan-form [data-ta-added-stops-list][hidden],
.ta-app-plan-form [data-ta-add-stop-trigger][hidden]{
    display:none !important;
}

body .ta-route-app .ta-input-card__planner-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:13px;
}

body .ta-route-app .ta-input-card__planner-row label{
    min-width:0;
    margin:0 !important;
}

body .ta-route-app .ta-input-card__planner-row select{
    min-width:0;
    margin-top:7px;
}

@media(max-width:420px){
    body .ta-route-app .ta-input-card__planner-row{
        grid-template-columns:1fr;
    }
}

/* v0.11 staging-only Dynamic Route Results Beta stays inside the planner and
 * does not alter the established curated-route result pages. */
.ta-app-plan-form .ta-dynamic-trip-summary{
    grid-column:1 / -1;
    min-width:0;
    margin-top:6px;
    padding:18px;
    border:1px solid #cfe9df;
    border-radius:16px;
    background:linear-gradient(135deg,#f8fffb 0%,#f5fbff 100%);
    color:#101828;
}

.ta-app-plan-form .ta-dynamic-trip-summary[hidden]{
    display:none !important;
}

.ta-dynamic-trip-summary__eyebrow{
    display:inline-block;
    margin-bottom:7px;
    color:#087443;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.ta-dynamic-trip-summary__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}

.ta-dynamic-trip-summary__badge{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:5px 9px;
    border:1px solid #bfe7d4;
    border-radius:999px;
    background:#ecfdf3;
    color:#087443;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    white-space:nowrap;
}

.ta-dynamic-trip-summary h2,
.ta-dynamic-trip-summary h3,
.ta-dynamic-trip-summary p{
    margin:0;
}

.ta-dynamic-trip-summary h2{
    font-size:22px;
    line-height:1.18;
}

.ta-dynamic-trip-summary h3{
    margin-top:16px;
    font-size:14px;
}

.ta-dynamic-trip-summary__label,
.ta-dynamic-trip-summary__notice,
.ta-dynamic-trip-summary__empty{
    margin-top:7px !important;
    color:#667085;
    font-size:13px;
    line-height:1.45;
}

.ta-dynamic-trip-summary__stats{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    margin-top:15px;
}

.ta-dynamic-trip-summary__stats div{
    min-width:0;
    padding:10px 8px;
    border:1px solid #d7ebe2;
    border-radius:11px;
    background:#fff;
    text-align:center;
}

.ta-dynamic-trip-summary__stats strong,
.ta-dynamic-trip-summary__stats span{
    display:block;
}

.ta-dynamic-trip-summary__stats strong{
    overflow:hidden;
    color:#087443;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ta-dynamic-trip-summary__stats span{
    margin-top:3px;
    color:#667085;
    font-size:10px;
    font-weight:700;
}

.ta-dynamic-trip-summary__map{
    position:relative;
    min-height:300px;
    margin:14px 0 4px;
    overflow:hidden;
    border:1px solid #d7ebe2;
    border-radius:16px;
    background:#eef4f7;
}

.ta-dynamic-trip-summary__map .mapboxgl-canvas{
    border-radius:16px;
}

.ta-dynamic-trip-summary__map .mapboxgl-ctrl-bottom-left{
    display:none;
}

.ta-dynamic-trip-summary__map-fallback{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    color:#667085;
    font-size:13px;
    font-weight:800;
    line-height:1.4;
    text-align:center;
}

.ta-dynamic-route-marker{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border:3px solid #fff;
    border-radius:999px;
    background:#f92355;
    color:#fff;
    box-shadow:0 10px 22px rgba(249,35,85,.30);
    font-size:12px;
    font-weight:900;
}

.ta-dynamic-route-marker--origin{
    background:#228be6;
}

.ta-dynamic-route-marker--destination{
    background:#16a34a;
}

.ta-dynamic-trip-summary__actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
}

.ta-dynamic-trip-summary__action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 12px;
    border:1px solid #d7e3ea;
    border-radius:12px;
    background:#fff;
    color:#0875be;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.ta-dynamic-trip-summary__action:first-child{
    border-color:#00101f;
    background:#00101f;
    color:#fff;
}

.ta-dynamic-trip-summary__stops{
    display:grid;
    gap:7px;
    margin:9px 0 0;
    padding:0;
    list-style-position:inside;
}

.ta-dynamic-trip-summary__stops li{
    padding:9px 10px;
    border:1px solid #e0ebe6;
    border-radius:10px;
    background:#fff;
    font-size:13px;
}

.ta-dynamic-trip-summary__stop-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.ta-dynamic-trip-summary__stop-index{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#00101f;
    color:#fff;
    font-size:12px;
    font-weight:900;
    flex:0 0 auto;
}

.ta-dynamic-trip-summary__stop-title{
    min-width:0;
    flex:1;
}

.ta-dynamic-trip-summary__stop-meta{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:7px;
}

.ta-dynamic-trip-summary__stop-meta span{
    margin:0;
    padding:4px 7px;
    border-radius:999px;
    background:#f2f7f5;
    color:#344054;
    font-size:11px;
    font-weight:700;
}

.ta-dynamic-trip-summary__stop-note{
    margin-top:7px !important;
    color:#667085;
    font-size:12px;
    line-height:1.4;
}

.ta-dynamic-trip-summary__stops strong,
.ta-dynamic-trip-summary__stops span{
    display:block;
}

.ta-dynamic-trip-summary__stops span{
    margin-top:2px;
    color:#667085;
    font-size:12px;
}

@media(max-width:600px){
    .ta-app-plan-form .ta-dynamic-trip-summary{
        padding:15px;
        border-radius:14px;
    }

    .ta-dynamic-trip-summary h2{
        font-size:20px;
    }

    .ta-dynamic-trip-summary__stats{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ta-dynamic-trip-summary__map{
        min-height:260px;
        border-radius:14px;
    }

    .ta-dynamic-trip-summary__actions{
        grid-template-columns:1fr;
    }
}

/* B9: the legacy platform's mobile stylesheet pulls its hero beneath the
 * visible XStore header with a negative margin. Keep the correction scoped to
 * RouteSmart's platform root; the theme header geometry remains untouched. */
.ta-ev-app-mode .ta-travel-v1[data-ta-platform]{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

.ta-ev-app-mode .container.content-page > .row:has(.ta-travel-v1[data-ta-platform],.ta-app-shell[data-app-screen]){
    margin-left:0 !important;
    margin-right:0 !important;
}

/* The mobile route header measures 48.359375px at the supported fixture
 * widths, including enlarged text. Control both sticky rows with one rounded
 * pixel height so the workspace switcher cannot overlap the header. */
@media(max-width:768px){
    .ta-ev-app-mode .ta-app-shell[data-app-screen="summary"]{
        --ta-mobile-route-header-height:86px;
        --ta-mobile-visual-viewport-top:0px;
    }

    .ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] > .ta-app-shell__content > .ta-mobile-route-header{
        height:var(--ta-mobile-route-header-height);
        top:max(env(safe-area-inset-top,0px),var(--ta-mobile-visual-viewport-top)) !important;
    }

    .ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] > .ta-app-shell__content > .ta-workspace-switcher{
        top:calc(max(env(safe-area-inset-top,0px),var(--ta-mobile-visual-viewport-top)) + var(--ta-mobile-route-header-height)) !important;
    }
}

/* B4G.3 physical-Safari acceptance repair. Horizontal clipping must not turn
 * a RouteSmart page ancestor into the sticky containing block. Keep the
 * existing overflow protection with non-scrolling clip semantics, and keep
 * the map's closed filter controls above route markers but below popups. */
@media(max-width:768px){
    body.ta-ev-app-mode,
    body.ta-ev-app-mode #page,
    body.ta-ev-app-mode #content,
    body.ta-ev-app-mode .site,
    body.ta-ev-app-mode .template-container,
    body.ta-ev-app-mode .site-content,
    body.ta-ev-app-mode .content-area,
    body.ta-ev-app-mode .entry-content,
    body.ta-ev-app-mode .inside-article,
    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"]{
        overflow-x:clip !important;
        overflow-y:visible !important;
    }

    body.ta-ev-app-mode .ta-app-shell[data-app-screen="summary"] > .ta-app-shell__content{
        overflow:visible !important;
    }

    body .ta-route-app .ta-map-legend,
    body .ta-route-app .ta-alternate-route-pills{
        z-index:24 !important;
    }

    body .ta-route-app .ta-map-legend.is-open,
    body .ta-route-app .ta-alternate-route-pills.is-open{
        z-index:60 !important;
    }
}

@media(max-width:720px){
    .ta-travel-v1[data-ta-platform] .ta-travel-hero{
        margin-top:0 !important;
    }
}

/* B4G2b presentation-only integration: the existing planner and its shared
 * navigation read as one module without changing planner or link behavior. */
.ta-integrated-planner-module{
    width:100%;
    overflow:visible;
    border:1px solid #dbe4ee;
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 28px rgba(6,17,31,.07);
}

.ta-integrated-planner-module [data-ta-top-menu-only]{
    margin:0;
    padding:10px 12px;
    border-bottom:1px solid #e5edf4;
    border-radius:23px 23px 0 0;
    background:linear-gradient(180deg,#fbfdff 0%,#f7fafc 100%);
}

.ta-integrated-planner-module [data-ta-top-menu-only] .ta-app-nav{
    width:100%;
}

.ta-integrated-planner-module .ta-canonical-planner-form--home{
    width:100%;
    margin:0 !important;
    padding:18px 20px 20px !important;
    border:0 !important;
    border-radius:0 0 23px 23px !important;
    background:#fff !important;
    box-shadow:none !important;
}

/* B4G2b compact results identity row. Edit remains a secondary navigation
 * control and never expands a planner in the results document. */
body .ta-route-trip-summary{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:min(1320px,calc(100vw - 28px));
    min-height:58px;
    margin:0 auto 8px;
    padding:9px 12px;
    border:1px solid #dbe4ee;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 18px rgba(6,17,31,.045);
    box-sizing:border-box;
}

.ta-route-trip-summary__copy{
    display:grid;
    gap:4px;
    flex:1 1 auto;
    min-width:0;
}

.ta-route-trip-summary__label{
    color:#667085;
    font-size:9px;
    font-weight:900;
    letter-spacing:.07em;
    line-height:1;
    text-transform:uppercase;
}

.ta-route-trip-summary__points{
    display:grid;
    gap:2px;
    min-width:0;
}

.ta-route-trip-summary__point{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:7px;
    align-items:baseline;
    min-width:0;
    margin:0;
}

.ta-route-trip-summary__point small{
    color:#98a2b3;
    font-size:9px;
    font-weight:850;
    letter-spacing:.04em;
    line-height:1.15;
    text-transform:uppercase;
}

body .ta-route-trip-summary__point strong{
    display:block;
    min-width:0;
    max-width:none;
    overflow:hidden;
    color:#06111f;
    font-size:12px;
    font-weight:850;
    letter-spacing:-.01em;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ta-route-edit-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-width:52px;
    min-height:34px;
    padding:0 12px;
    border:1px solid #f3b8c8;
    border-radius:999px;
    background:#fff3f6;
    color:#9f1239 !important;
    font-size:11px;
    font-weight:900;
    line-height:1;
    text-decoration:none !important;
    touch-action:manipulation;
}

.ta-route-edit-button:hover,
.ta-route-edit-button:focus-visible{
    border-color:#f92355;
    background:#ffe7ee;
    color:#7f1234 !important;
    outline:0;
    box-shadow:0 0 0 3px rgba(249,35,85,.12);
}

@media(max-width:768px){
    .ta-integrated-planner-module{
        border-radius:18px;
        box-shadow:0 8px 22px rgba(6,17,31,.06);
    }

    .ta-integrated-planner-module [data-ta-top-menu-only]{
        padding:6px;
        border-radius:17px 17px 0 0;
    }

    body .ta-integrated-planner-module [data-ta-top-menu-only] .ta-app-nav-mobile{
        position:static !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:3px !important;
        border:0 !important;
        border-radius:14px !important;
        background:transparent !important;
        box-shadow:none !important;
        backdrop-filter:none !important;
    }

    .ta-integrated-planner-module .ta-canonical-planner-form--home{
        padding:12px 14px 15px !important;
        border-radius:0 0 17px 17px !important;
    }

    body .ta-route-trip-summary{
        width:calc(100% + 24px) !important;
        min-height:49px !important;
        height:49px !important;
        margin:0 -12px !important;
        padding:4px 12px !important;
        gap:8px;
        border-width:0 0 1px !important;
        border-radius:0 !important;
        background:rgba(247,249,252,.97);
        box-shadow:none;
    }

    .ta-route-trip-summary__copy{
        gap:2px;
    }

    .ta-route-trip-summary__label{
        font-size:8px;
    }

    .ta-route-trip-summary__points{
        gap:0;
    }

    .ta-route-trip-summary__point{
        grid-template-columns:26px minmax(0,1fr);
        gap:5px;
    }

    .ta-route-trip-summary__point small{
        font-size:8px;
        line-height:1.05;
    }

    body .ta-route-trip-summary__point strong{
        max-width:none;
        font-size:11px;
        line-height:1.08;
    }

    .ta-route-edit-button{
        min-width:48px;
        min-height:34px;
        padding:0 10px;
        font-size:10.5px;
    }
}

/* B4G2E: the platform's .ta-trip-panel is the existing outer planner card.
 * These newer wrappers remain only for DOM identity and layout; no descendant
 * may create a second card surface or duplicate the panel's outer padding. */
body .ta-trip-panel > .ta-integrated-planner-module,
body .ta-trip-panel > .ta-integrated-planner-module > .ta-canonical-planner-form--home{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body .ta-integrated-planner-module .ta-mobile-plan-head{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    grid-column:1 / -1;
    margin:0 0 6px;
}

.ta-mobile-plan-head__copy{
    display:grid;
    gap:3px;
    min-width:0;
}

body .ta-integrated-planner-module .ta-mobile-plan-head strong{
    display:block;
    color:#667085;
    font-size:11px;
    font-weight:900;
    letter-spacing:.07em;
    line-height:1.1;
    text-transform:uppercase;
}

body .ta-integrated-planner-module .ta-mobile-plan-head span{
    display:block;
    color:#06111f;
    font-size:clamp(1.4rem,2.4vw,1.8rem);
    font-weight:950;
    letter-spacing:-.045em;
    line-height:1.04;
}

body .ta-app-plan-form .ta-planner-save-action{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    grid-column:auto !important;
    flex:0 0 auto;
    width:auto !important;
    min-width:82px;
    height:34px !important;
    min-height:34px !important;
    padding:0 12px;
    border:1px solid #f3b8c8;
    border-radius:999px;
    background:#fff3f6;
    color:#9f1239 !important;
    font-size:11px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

body .ta-app-plan-form .ta-planner-save-action:hover,
body .ta-app-plan-form .ta-planner-save-action:focus-visible{
    border-color:#f92355;
    background:#ffe7ee;
    color:#7f1234 !important;
    outline:0;
    box-shadow:0 0 0 3px rgba(249,35,85,.12);
}

body .ta-app-plan-form .ta-planner-save-action.is-saved{
    border-color:#bde7cb;
    background:#effaf2;
    color:#0f7a3c !important;
}

body .ta-route-trip-summary{
    min-height:94px;
    padding:14px 16px;
    gap:18px;
}

.ta-route-trip-summary__copy{gap:7px}
.ta-route-trip-summary__label{font-size:10px}
.ta-route-trip-summary__points{gap:5px}
.ta-route-trip-summary__point{grid-template-columns:40px minmax(0,1fr);gap:9px}
.ta-route-trip-summary__point small{font-size:10px}
body .ta-route-trip-summary__point strong{
    overflow:visible;
    font-size:14px;
    line-height:1.28;
    text-overflow:clip;
    white-space:normal;
}

.ta-map-control-row{
    position:absolute;
    top:12px;
    left:12px;
    right:12px;
    z-index:4;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    pointer-events:none;
}

.ta-map-control-row .ta-alternate-route-pills,
.ta-map-control-row .ta-map-legend{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    z-index:auto;
    display:block;
    width:auto !important;
    min-width:0;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    pointer-events:auto;
}

.ta-map-control-row .ta-map-chip-trigger{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    width:100%;
    min-width:0;
    min-height:36px;
    padding:0 10px;
    border:1px solid rgba(6,17,31,.16);
    border-radius:10px;
    background:rgba(255,255,255,.96);
    box-shadow:0 6px 16px rgba(6,17,31,.12);
}

.ta-map-control-row .ta-map-chip-trigger__label{
    display:block;
    min-width:0;
    overflow:hidden;
    font-size:11px;
    font-weight:900;
    line-height:1.15;
    text-align:left;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ta-map-control-row .ta-map-chip-trigger > [aria-hidden="true"]{flex:0 0 auto}

.ta-map-control-row .ta-map-chip-dropdown{
    top:calc(100% + 6px) !important;
    right:0 !important;
    left:0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
}

/* Existing route-workspace rules use an important absolute legend. Keep the
 * stronger selector localized to the new shared control row. */
body .ta-route-app .ta-map-control-row .ta-alternate-route-pills,
body .ta-route-app .ta-map-control-row .ta-map-legend{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
}

/* B4G2F.2: desktop map dropdown presentation; mobile rules remain untouched. */
@media(min-width:769px){
    body .ta-route-app .ta-map-control-row{
        display:flex;
        align-items:flex-start;
        gap:8px;
    }
    body .ta-route-app .ta-map-control-row .ta-map-legend,
    body .ta-route-app .ta-map-control-row .ta-alternate-route-pills{
        display:block !important;
        flex:0 1 auto;
        min-width:0;
        padding:0 !important;
        overflow:visible !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        backdrop-filter:none !important;
    }
    body .ta-route-app .ta-map-control-row .ta-map-legend{order:0}
    body .ta-route-app .ta-map-control-row .ta-alternate-route-pills{order:1}
    body .ta-route-app .ta-map-control-row .ta-map-chip-trigger{
        display:flex !important;
        width:auto;
        max-width:100%;
        min-height:38px;
        height:calc(1.3em + 18px);
        padding:8px 12px;
        gap:8px;
        font-size:13px;
        line-height:1.3;
        box-sizing:border-box;
    }
    body .ta-route-app .ta-map-control-row .ta-map-chip-trigger__label{
        font-size:13px;
        line-height:1.3;
    }
    body .ta-route-app .ta-map-control-row :is(.ta-map-legend,.ta-alternate-route-pills) > .ta-map-chip-dropdown{
        position:absolute !important;
        top:calc(100% + 6px) !important;
        left:0 !important;
        right:auto !important;
        display:none !important;
        width:max-content !important;
        min-width:100% !important;
        max-width:260px !important;
        padding:6px !important;
        border:1px solid #dbe4ee !important;
        border-radius:10px !important;
        background:#fff !important;
        box-shadow:0 8px 20px rgba(6,17,31,.14) !important;
        opacity:1 !important;
        transform:none !important;
        box-sizing:border-box;
    }
    body .ta-route-app .ta-map-control-row .is-open > .ta-map-chip-dropdown:not([hidden]){display:block !important}
    body .ta-route-app .ta-map-control-row .ta-map-chip-dropdown .ta-route-pill{
        display:flex !important;
        width:100%;
        min-height:36px !important;
        height:auto !important;
        padding:8px 10px !important;
        border-radius:6px !important;
        font-size:13px !important;
        line-height:1.3 !important;
        white-space:nowrap;
        box-sizing:border-box;
    }
}
/* End B4G2F.2 desktop map dropdown presentation. */

@media(max-width:768px){
    body .ta-trip-panel > .ta-integrated-planner-module,
    body .ta-trip-panel > .ta-integrated-planner-module > .ta-canonical-planner-form--home{padding:0 !important}

    body .ta-integrated-planner-module .ta-mobile-plan-head{
        margin:0 0 8px;
        gap:10px;
    }

    body .ta-integrated-planner-module .ta-mobile-plan-head span{font-size:1.45rem}

    body .ta-app-plan-form .ta-planner-save-action{
        min-width:76px;
        height:34px !important;
        min-height:34px !important;
        padding:0 10px;
        font-size:10.5px;
    }

    body .ta-route-trip-summary{
        height:86px !important;
        min-height:86px !important;
        padding:9px 12px !important;
        gap:10px;
    }

    .ta-route-trip-summary__copy{gap:5px}
    .ta-route-trip-summary__label{font-size:9px}
    .ta-route-trip-summary__points{gap:4px}
    .ta-route-trip-summary__point{grid-template-columns:30px minmax(0,1fr);gap:6px;align-items:start}
    .ta-route-trip-summary__point small{padding-top:2px;font-size:9px;line-height:1.15}
    body .ta-route-trip-summary__point strong{
        overflow:visible;
        font-size:12px;
        line-height:1.2;
        text-overflow:clip;
        white-space:normal;
    }

    .ta-route-edit-button{min-width:52px;min-height:34px;padding:0 10px}
    .ta-map-control-row{top:10px;left:10px;right:10px;gap:6px}
    .ta-map-control-row .ta-map-chip-trigger{min-height:34px;padding:0 8px}
    .ta-map-control-row .ta-map-chip-trigger__label{font-size:10.5px}
}

/* B4G2F6 desktop-only results chrome. The host header is suppressed globally
 * for RouteSmart app pages by the legacy app-mode rule above. Re-enable the
 * existing XStore/theme header only for route-result requests, retire the old
 * product navigation row on that surface, and compact the results hand-off.
 * Mobile remains governed entirely by the accepted max-width:768px rules. */
.ta-route-product-identity{display:none}

@media(min-width:769px){
    body.ta-ev-app-mode.ta-ev-results-page{
        overflow-x:clip !important;
    }

    body.ta-ev-app-mode.ta-ev-results-page header#masthead,
    body.ta-ev-app-mode.ta-ev-results-page .site-header,
    body.ta-ev-app-mode.ta-ev-results-page .main-header-bar,
    body.ta-ev-app-mode.ta-ev-results-page .ast-primary-header-bar,
    body.ta-ev-app-mode.ta-ev-results-page .etheme-elementor-header-wrapper,
    body.ta-ev-app-mode.ta-ev-results-page .elementor-location-header{
        display:block !important;
    }

    body.ta-ev-app-mode.ta-ev-results-page .main-navigation,
    body.ta-ev-app-mode.ta-ev-results-page nav[aria-label="Primary Navigation"],
    body.ta-ev-app-mode.ta-ev-results-page nav[aria-label="Main Navigation"]{
        display:block !important;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"]{
        position:relative;
        left:calc(50% - 50vw + 16px);
        width:calc(100vw - 32px) !important;
        max-width:none !important;
        margin-right:0 !important;
        margin-left:0 !important;
        padding-top:16px !important;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"] .ta-app-shell__content{
        width:100% !important;
        max-width:none !important;
        margin-right:0 !important;
        margin-left:0 !important;
        transform:none !important;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"] .ta-route-app{
        width:min(1400px,100%) !important;
        max-width:1400px !important;
        margin-right:auto !important;
        margin-left:auto !important;
        transform:none !important;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"] .ta-app-shell__topbar--route{
        display:none !important;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-trip-summary{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto auto;
        align-items:center;
        gap:18px;
        width:min(1400px,calc(100vw - 40px));
        min-height:78px;
        margin:0 auto;
        padding:10px 16px;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-trip-summary__copy{
        gap:5px;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-trip-summary__points{
        gap:3px;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-trip-summary__point{
        grid-template-columns:40px minmax(0,1fr);
        gap:8px;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-trip-summary__point strong{
        overflow:hidden;
        font-size:13px;
        line-height:1.22;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-mobile-route-header__actions{
        display:flex;
        align-items:center;
        gap:8px;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-product-identity{
        display:grid;
        align-content:center;
        min-width:142px;
        min-height:48px;
        padding-left:18px;
        border-left:1px solid #e5eaf1;
        text-align:left;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-product-identity strong{
        color:#06111f;
        font-size:18px;
        font-weight:950;
        letter-spacing:-.035em;
        line-height:1.05;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-product-identity span{
        margin-top:3px;
        color:#667085;
        font-size:10px;
        font-weight:800;
        letter-spacing:.025em;
        line-height:1.1;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"] .ta-route-app{
        padding-top:12px !important;
    }
}

@media(min-width:769px) and (max-width:900px){
    body.ta-ev-app-mode.ta-ev-results-page .ta-route-trip-summary{
        gap:12px;
        width:calc(100vw - 24px);
        padding-right:12px;
        padding-left:12px;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-product-identity{
        min-width:118px;
        padding-left:12px;
    }

    body.ta-ev-app-mode.ta-ev-results-page .ta-route-product-identity strong{
        font-size:16px;
    }
}

/* B4G2F9: map-local paint order only. Mapbox marker transforms create stacking
 * contexts, so keep every fixed UI surface above route markers while retaining
 * route stops above charger/content markers. No geometry or camera behavior. */
body .ta-route-app .ta-map-control-row{z-index:8}
body .ta-route-app .ta-savings-strip.ta-savings-overlay{z-index:7 !important}
body .ta-route-app #ta-map .mapboxgl-ctrl-top-left,
body .ta-route-app #ta-map .mapboxgl-ctrl-top-right,
body .ta-route-app #ta-map .mapboxgl-ctrl-bottom-left,
body .ta-route-app #ta-map .mapboxgl-ctrl-bottom-right{z-index:6}
body .ta-route-app #ta-map .ta-marker.stop,
body .ta-route-app #ta-map .ta-marker.planned-stop{z-index:4 !important}
body .ta-route-app #ta-map .ta-marker.charger,
body .ta-route-app #ta-map .ta-marker.stay,
body .ta-route-app #ta-map .ta-marker.attraction,
body .ta-route-app #ta-map .ta-marker.food,
body .ta-route-app #ta-map .ta-marker.family,
body .ta-route-app #ta-map .ta-marker.ta-layer-representative{z-index:3 !important}

/* Savings details occupy their own row so opening them cannot squeeze the metrics. */
body .ta-route-app .ta-savings-strip .ta-savings-detail {
    position:relative !important;
    grid-column:1 / -1 !important;
    min-width:0 !important;
    padding:10px 44px 10px 12px !important;
    margin-top:0 !important;
}
body .ta-route-app .ta-savings-detail-close {
    position:absolute !important;
    top:4px !important;
    right:4px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:32px !important;
    height:32px !important;
    min-height:32px !important;
    padding:0 !important;
    margin:0 !important;
    border:1px solid #dbeee3 !important;
    border-radius:50% !important;
    background:#f6fbf8 !important;
    color:#475467 !important;
    font:22px/1 system-ui,sans-serif !important;
    cursor:pointer !important;
    touch-action:manipulation;
}
body .ta-route-app .ta-savings-detail-close:focus-visible {
    outline:2px solid #34d3e6 !important;
    outline-offset:2px !important;
}
@media (min-width:769px) {
    body .ta-route-app .ta-savings-strip.ta-savings-overlay {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) !important;
        gap:6px !important;
        padding:6px 8px !important;
        border-radius:12px !important;
    }
    body .ta-route-app .ta-savings-overlay .ta-savings-intro {
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 82px !important;
        gap:6px !important;
    }
    body .ta-route-app .ta-savings-overlay .ta-savings-intro-copy {gap:4px !important}
    body .ta-route-app .ta-savings-overlay .ta-savings-icon {
        flex:0 0 20px !important;
        width:20px !important;
        height:20px !important;
        font-size:13px !important;
    }
    body .ta-route-app .ta-savings-overlay .ta-savings-intro h3 {
        font-size:11px !important;
        line-height:1.15 !important;
        white-space:normal !important;
    }
    body .ta-route-app .ta-savings-overlay .ta-savings-total,
    body .ta-route-app .ta-savings-overlay .ta-savings-metric {
        min-width:0 !important;
        height:44px !important;
        padding:1px 3px !important;
        border-radius:8px !important;
    }
    body .ta-route-app .ta-savings-overlay .ta-savings-total strong {font-size:18px !important;margin:1px 0 !important}
    body .ta-route-app .ta-savings-overlay .ta-savings-metrics {gap:4px !important}
    body .ta-route-app .ta-savings-overlay .ta-savings-metric small {margin-top:0 !important}
    body .ta-route-app .ta-savings-overlay .ta-savings-metric strong {
        margin-top:2px !important;
        font-size:13px !important;
        white-space:nowrap !important;
    }
}

/* Keep Elementor's global button padding out of native desktop map controls.
 * Preserve Mapbox's icon backgrounds, compass transform and event handlers. */
@media (min-width:769px) {
    body .ta-route-app #ta-map .mapboxgl-ctrl-group {
        width:32px !important;
        overflow:hidden !important;
    }
    body .ta-route-app #ta-map .mapboxgl-ctrl-group button {
        display:block !important;
        box-sizing:border-box !important;
        width:32px !important;
        min-width:32px !important;
        max-width:32px !important;
        height:32px !important;
        min-height:32px !important;
        max-height:32px !important;
        padding:0 !important;
        margin:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
        color:#06111f !important;
        font:18px/32px system-ui,sans-serif !important;
    }
    body .ta-route-app #ta-map .mapboxgl-ctrl-group button .mapboxgl-ctrl-icon {
        display:block !important;
        width:100% !important;
        height:100% !important;
    }
    body .ta-route-app #ta-map .mapboxgl-ctrl-attrib-button {
        box-sizing:border-box !important;
        width:24px !important;
        min-width:24px !important;
        max-width:24px !important;
        height:24px !important;
        min-height:24px !important;
        max-height:24px !important;
        padding:0 !important;
        margin:0 !important;
        box-shadow:none !important;
    }
    body .ta-route-app #ta-map .mapboxgl-ctrl-group button:focus-visible,
    body .ta-route-app #ta-map .mapboxgl-ctrl-attrib-button:focus-visible {
        outline:2px solid #34d3e6 !important;
        outline-offset:-2px !important;
    }
}

/* Reserve separate space for Savings and native controls without moving the map. */
body .ta-route-app .ta-map-wrap.ta-savings-controls-ready #ta-map .mapboxgl-ctrl-bottom-right {
    bottom:var(--ta-map-controls-bottom,16px) !important;
}
body .ta-route-app .ta-map-wrap.ta-savings-controls-ready .ta-savings-strip.ta-savings-overlay {
    max-height:calc(100% - var(--ta-map-control-stack-height,180px) - 84px) !important;
    overflow-y:auto !important;
}

/* Desktop map workspace: one external sidebar and an opaque itinerary. */
@media (min-width:769px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell .ta-route-app.ta-desktop-map-layout {
  --ta-itinerary-width:248px; display:grid!important; grid-template-columns:minmax(0,1fr) 310px!important;
  gap:18px!important; align-items:start!important;
 }
 .ta-route-appbody.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout > .ta-left-panel {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout > .ta-map-area {grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout > .ta-right-panel {grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-map-wrap {height:640px!important;min-height:640px!important;position:relative!important;border-radius:16px!important;overflow:hidden!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-map {height:100%!important;min-height:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-summary-card.ta-desktop-itinerary {
  position:absolute!important;left:14px!important;top:14px!important;width:var(--ta-itinerary-width)!important;
  max-height:calc(100% - var(--ta-desktop-savings-space,84px) - 28px)!important;
  display:flex!important;flex-direction:column!important;gap:0!important;padding:14px 12px 8px!important;
  z-index:7!important;background:#fff!important;backdrop-filter:none!important;opacity:1!important;
  border:1px solid #dbe4ee!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(22,48,73,.10)!important;
 }
 .ta-desktop-itinerary .ta-route-title {font-size:16px!important;line-height:1.3!important;margin:0 0 14px!important;flex-shrink:0}
 .ta-desktop-itinerary #ta-route-mode-label {display:none!important}
 .ta-desktop-itinerary .ta-stats-grid {grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0 0 14px!important;padding:0 0 14px!important;flex-shrink:0;border-bottom:1px solid #e2eaf2}
 .ta-desktop-itinerary .ta-stats-grid > div {padding:0 5px!important;min-width:0!important}
 .ta-desktop-itinerary .ta-stats-grid > div:first-child {padding-left:0!important}
 .ta-desktop-itinerary .ta-stats-grid strong {font-size:14px!important;line-height:1.35!important}
 .ta-desktop-itinerary .ta-stats-grid small {font-size:9px!important;line-height:1.4!important;letter-spacing:0!important;display:block;margin-top:6px}
 .ta-desktop-itinerary h4 {font-size:10px!important;margin:0 0 9px!important;flex-shrink:0}
 .ta-desktop-itinerary .ta-stop-list {display:flex!important;flex-direction:column!important;gap:6px!important;min-height:50px;overflow-y:auto;overscroll-behavior:contain;margin:0!important}
 .ta-desktop-itinerary .ta-stop {display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:start!important;gap:9px!important;padding:10px 8px!important;min-height:58px!important;border-radius:11px!important;flex-shrink:0;text-align:left!important}
 .ta-desktop-itinerary .ta-stop > b {width:23px!important;height:23px!important;line-height:23px!important;font-size:11px!important}
 .ta-desktop-itinerary .ta-stop > span {display:block!important;font-size:11px!important;line-height:1.35!important;min-width:0;white-space:normal!important}
 .ta-desktop-itinerary .ta-stop > span > br {display:none!important}
 .ta-desktop-itinerary .ta-stop > span > small {display:block!important;font-size:10px!important;line-height:1.4!important;margin:0!important;white-space:normal!important}
 .ta-desktop-itinerary .ta-stop > span > .ta-stop-calc-score {display:inline!important;margin-left:6px!important;white-space:nowrap!important;font-size:11px!important}
 .ta-desktop-itinerary .ta-stop > em {display:none!important}
 .ta-desktop-tips-footer {display:flex;justify-content:flex-end;flex-shrink:0;margin-top:4px}
 .ta-desktop-itinerary .ta-trip-tips-toggle {display:inline-flex!important;align-items:center;justify-content:center;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;padding:0!important;margin:0!important;border:1px solid #7285a0!important;border-radius:50%!important;background:#fff!important;color:#526d91!important;font:700 15px/1 Georgia,serif!important;box-shadow:none!important}
 .ta-desktop-itinerary .ta-trip-tips-toggle:focus-visible {outline:3px solid #34d3e6;outline-offset:2px}
 .ta-desktop-itinerary .ta-tip-card {position:absolute;bottom:42px;right:10px;left:10px;z-index:10;background:#fff!important;padding:12px!important;box-shadow:0 8px 28px #15395129!important}
 .ta-desktop-itinerary .ta-tip-card[hidden] {display:none!important}
 .ta-desktop-itinerary .ta-tip-card p {font-size:12px!important;line-height:1.5!important;margin:6px 0 0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-map-control-row {left:calc(var(--ta-itinerary-width) + 28px)!important;right:12px!important;top:14px!important;width:auto!important;max-width:none!important;gap:8px!important;justify-content:flex-start!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-map-chip-trigger {font-size:12px!important;padding:10px!important;min-height:38px!important;max-width:100%!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays {margin-top:14px!important;padding:16px!important;border-radius:15px!important;background:#fff!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays .ta-section-head {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-bottom:12px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays .ta-section-head h3 {font-size:21px!important;line-height:1.25!important;text-transform:none!important;letter-spacing:-.4px!important;margin:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays .ta-section-head a {font-size:12px!important;white-space:nowrap!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;height:auto!important;min-height:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-card {display:flex!important;flex-direction:column!important;min-width:0!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:9px!important;gap:10px!important;border:1px solid #d9eaf3!important;border-radius:13px!important;background:#fff!important;box-shadow:0 5px 14px #1e728008!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-visual {display:flex!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/9!important;border-radius:9px!important;flex:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-content {display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;overflow:visible!important;flex:1 0 auto}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid h4 {font-size:14px!important;line-height:1.35!important;margin:0!important;order:-2}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-content > small {font-size:11px!important;letter-spacing:0!important;text-transform:none!important;order:-1}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-meta {font-size:10px!important;line-height:1.45!important;white-space:normal!important;margin:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-score-row {font-size:10px!important;display:flex!important;align-items:center!important;gap:6px!important;justify-content:space-between!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-score-row strong {font-size:15px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-actions {display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;margin-top:auto!important;padding-top:5px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-actions .ta-result-pill:empty {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-actions a,body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-actions button {font-size:10px!important;padding:8px 10px!important;min-height:30px!important;border-radius:20px!important;line-height:1.3!important;width:auto!important;margin:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-actions a {background:#f0faff!important;border:1px solid #d6eff9!important;color:#087bd3!important;margin-left:auto!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-panel {width:100%!important;max-width:none!important;margin:0!important;padding:15px!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 26px #12364a08!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-panel-top {position:relative!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:0 25px 12px 0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-panel-title-row {min-width:0!important;flex:1 1 auto!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-title {font-size:20px!important;line-height:1.2!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;margin:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-panel-close {position:absolute!important;right:0!important;top:0!important;width:24px!important;height:24px!important;min-height:24px!important;padding:0!important;line-height:1!important;font-size:23px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-recommended-pill {font-size:10px!important;padding:6px 9px!important;white-space:normal!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-best-badges {flex-basis:100%!important;gap:5px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-score-card {padding:15px!important;border-radius:12px!important;margin-top:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-score {font-size:46px!important;line-height:1.1!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-score span {font-size:18px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-mini-scores {gap:5px!important;margin-top:14px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-mini-scores > div {font-size:8px!important;letter-spacing:0!important;padding:8px 3px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-mini-scores b {font-size:12px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-charging-block {margin:20px 0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-charging-row {display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:7px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger {font-size:13px!important;line-height:1.35!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-charger-status {grid-column:2!important;justify-self:start;font-size:10px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charge-time {font-size:12px!important;margin:10px 0 0 29px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-score-card-soft {border:1px solid #dfebf3!important;border-radius:12px!important;padding:13px!important;background:#fff!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-attraction-list {margin-top:20px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-list-head {align-items:center!important;gap:6px!important;margin-bottom:10px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-list-head h4 {font-size:10px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-list-head a {font-size:11px!important;white-space:nowrap!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row {border:1px solid #dfebf3!important;border-radius:11px!important;padding:12px 10px!important;margin-bottom:8px!important;background:#fff!important;gap:8px!important;align-items:center!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row strong {font-size:12px!important;line-height:1.4!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row small {font-size:11px!important;line-height:1.4!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row > span {font-size:10px!important}
}
@media (min-width:1024px) and (max-width:1199px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell .ta-route-app.ta-desktop-map-layout {--ta-itinerary-width:228px;grid-template-columns:minmax(0,1fr) 280px!important;gap:14px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-map-control-row {flex-wrap:wrap!important;align-content:flex-start!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:768px) {.ta-desktop-tips-footer {display:none!important}}

/* Reference sidebar: compact header, spacious score and illustrated activity links. */
.ta-poi-illustration,.ta-poi-chevron,.ta-walk-details {display:none}
.ta-sidebar-more > summary {display:none}
@media (min-width:769px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-panel {padding:16px 12px!important;font-family:Arial,system-ui,sans-serif!important;background:linear-gradient(135deg,#fff,#fbfdff)!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-panel-top {display:grid!important;grid-template-columns:minmax(0,1fr) auto 18px!important;gap:7px!important;align-items:center!important;padding:0 0 12px!important;margin:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-panel-title-row {display:flex!important;gap:8px!important;align-items:center!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-number {width:27px!important;height:27px!important;line-height:27px!important;flex:0 0 27px!important;font-size:13px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-title {font-size:15px!important;font-weight:700!important;line-height:1.2!important;overflow-wrap:anywhere}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-badge {font-size:9px!important;line-height:1.25!important;letter-spacing:0!important;white-space:nowrap!important;max-width:112px!important;padding:6px 9px!important;font-weight:700!important;text-align:center!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-panel-close {position:static!important;width:18px!important;height:24px!important;min-width:18px!important;font-size:20px!important;color:#657e9e!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-score-card {padding:14px 12px!important;box-shadow:0 4px 12px #23476a05!important;border-color:#dfe8f2!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-score-card-head small {font-size:10px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-score {font-size:44px!important;letter-spacing:-1px!important;font-weight:800!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-score span {font-size:19px!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-score-caption {font-size:13px!important;font-weight:700!important;margin-top:4px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-mini-scores > div {padding:7px 3px!important;font-size:9px!important;line-height:1.2!important;font-weight:400!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-mini-scores b {font-size:12px!important;font-weight:700!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-route-option-note {padding:9px 10px!important;font-size:10px!important;line-height:1.45!important;font-weight:600!important;letter-spacing:0!important;color:#526d91!important;margin-top:10px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-charging-block {margin:17px 0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-charging-row {grid-template-columns:26px minmax(0,1fr) auto!important;gap:7px!important;align-items:start!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger {font-size:11px!important;line-height:1.25!important;margin:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger strong {font-size:11px!important;line-height:1.25!important;font-weight:700!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger span {font-size:9px!important;line-height:1.3!important;margin:4px 0 0!important;padding:0!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-charger-status {grid-column:3!important;font-size:9px!important;line-height:1.2!important;padding:8px!important;border:1px solid #b9ebcf!important;border-radius:20px!important;font-weight:700!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charge-time {font-size:10px!important;line-height:1.4!important;font-weight:700!important;margin:8px 0 0 33px!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-family-score-card {position:relative;display:grid!important;grid-template-columns:30px minmax(0,1fr) 12px!important;gap:9px!important;align-items:center!important;padding:15px 10px!important;min-height:78px!important;margin:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-family-score-card .ta-soft-icon {width:30px!important;height:38px!important;background:#edf9f4!important;font-size:23px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-family-score-card small {font-size:10px!important;font-weight:800!important;line-height:1.3!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-walk-copy {font-size:11px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:0!important;margin-top:5px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-walk-details {display:block;position:absolute;inset:0;border-radius:12px;color:#617eaa!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-walk-details::after {content:'›';position:absolute;right:10px;top:50%;transform:translateY(-50%);font:24px/1 Arial}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-attraction-list {margin-top:19px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-list-head {margin-bottom:10px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-list-head h4,.ta-desktop-map-layout .ta-charging-block h4 {font-size:9px!important;font-weight:700!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-list-head a {font-size:10px!important;font-weight:700!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row {display:grid!important;grid-template-columns:30px minmax(0,1fr) 10px!important;gap:9px!important;align-items:center!important;padding:12px 10px!important;min-height:70px!important;margin-bottom:6px!important;border-radius:9px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row > div {min-width:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row strong {display:block!important;overflow:visible!important;font-size:11px!important;line-height:1.3!important;letter-spacing:0!important;font-weight:700!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row small {display:block!important;white-space:normal!important;text-overflow:clip!important;overflow:visible!important;font-size:10px!important;line-height:1.4!important;font-weight:400!important;letter-spacing:0!important;color:#59759b!important;margin-top:4px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-poi-inline-icon {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-poi-illustration {display:flex!important;align-items:center;justify-content:center;width:30px;height:36px;border-radius:50%;background:#edf7ff;color:#167cd6!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-poi-illustration svg {width:27px;height:27px;display:block}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout [data-ta-poi-category="food"] .ta-poi-illustration {background:#fff8ec;color:#e79b25!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout [data-ta-poi-category="quick"] .ta-poi-illustration {background:#eff3fa;color:#425578!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row > .ta-poi-chevron {display:block!important;color:#617eaa!important;font:22px/1 Arial!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-poi-distance {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-more {margin-top:12px;border-top:1px solid #edf2f6;padding-top:9px}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-more > summary {display:list-item;color:#617590;font-size:10px;font-weight:600;cursor:pointer;padding:4px 0}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-more:not([open]) > :not(summary) {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-more .ta-stop-best-badges {margin:10px 0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-walk-details:focus-visible,body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-poi-row:focus-visible {outline:2px solid #34d3e6!important;outline-offset:3px}
}

@media (min-width:769px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger > br {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger strong {letter-spacing:0!important}
}

/* Streamlined sidebar: one card per destination, with scoring data unchanged. */
@media (min-width:769px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-charger-status,
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-family-score-card,
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-best-badges,
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-panel > .ta-score-card-soft,
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-panel-actions,
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-sidebar-attractions-view-all {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-charging-row {grid-template-columns:26px minmax(0,1fr)!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger {display:flex!important;flex-wrap:wrap!important;column-gap:7px!important;row-gap:0!important;align-items:baseline!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger strong {flex:0 0 100%!important;font-size:12px!important;line-height:1.3!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger .ta-registry-confidence,
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stop-charger .ta-registry-power {display:inline-block!important;width:auto!important;flex:0 1 auto!important;font-size:9px!important;white-space:normal!important;margin:5px 0 0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-charging-block {margin:17px 0 20px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-panel-stays-link.ta-sidebar-stays-card {display:grid!important;width:100%!important;margin-top:0!important;background:#fff!important;box-shadow:none!important;text-decoration:none!important;color:#06111f!important;text-align:left!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-panel-stays-link.ta-sidebar-stays-card .ta-poi-illustration {background:#eef5ff!important;color:#247dce!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-panel-stays-link.ta-sidebar-stays-card:hover {background:#f7fbff!important;border-color:#c4dceb!important}
}

/* Score gauge and scoring explanation: presentation only. */
body .ta-route-app .ta-stop-score-card #ta-stop-score,
body .ta-route-app .ta-stop-score-card #ta-stop-score-caption,
body .ta-route-app .ta-stop-score-card .ta-mini-scores b {color:var(--ta-score-colour,#667085)!important}
body .ta-route-app .ta-stop-score-card .ta-mini-scores > div {background:var(--ta-score-tint,#f5f7fa)!important}
body .ta-route-app .ta-stop-score-card .ta-score-gauge {width:104px!important;height:74px!important;overflow:visible!important;background:none!important;border:0!important}
body .ta-route-app .ta-stop-score-card .ta-score-gauge::before {content:none!important}
body .ta-route-app .ta-stop-score-card .ta-score-gauge svg {display:block!important;width:100%!important;height:100%!important;overflow:visible!important}
body .ta-route-app .ta-stop-score-card .ta-score-gauge[hidden],
body .ta-route-app #ta-score-info-panel[hidden] {display:none!important}
body .ta-route-app .ta-stop-score-card .ta-score-card-head small {display:flex!important;align-items:center!important;gap:3px!important}
body .ta-route-app #ta-score-info-button {display:inline-flex!important;align-items:center!important;justify-content:center!important;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#edf3f8!important;color:#475467!important;font:700 12px/1 system-ui,sans-serif!important;box-shadow:none!important;text-transform:none!important;cursor:pointer!important}
body .ta-route-app #ta-score-info-button:focus-visible,
body .ta-route-app #ta-score-info-panel button:focus-visible {outline:2px solid #14869b!important;outline-offset:2px!important}
body .ta-route-app #ta-score-info-panel {margin:0 0 12px!important;padding:12px!important;border:1px solid #dbe7ef!important;border-radius:10px!important;background:#f7fbfe!important;color:#34465b!important;font:400 11px/1.5 system-ui,sans-serif!important;max-height:340px!important;overflow:auto!important;overscroll-behavior:contain}
body .ta-route-app #ta-score-info-panel .ta-score-info-heading {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
body .ta-route-app #ta-score-info-panel h5 {font:700 12px/1.4 system-ui,sans-serif!important;margin:0!important;color:#172c3e!important;text-transform:none!important}
body .ta-route-app #ta-score-info-panel button {display:inline-flex!important;justify-content:center!important;align-items:center!important;flex:0 0 26px!important;width:26px!important;height:26px!important;min-height:26px!important;padding:0!important;margin:0!important;background:#e7eff5!important;border:0!important;border-radius:6px!important;font:400 19px/1 system-ui,sans-serif!important;color:#34465b!important;box-shadow:none!important;cursor:pointer!important}
body .ta-route-app #ta-score-info-panel p {font:400 11px/1.5 system-ui,sans-serif!important;color:#34465b!important;margin:8px 0!important}
body .ta-route-app #ta-score-info-panel dl {margin:8px 0!important;padding:0!important}
body .ta-route-app #ta-score-info-panel dl div {display:flex!important;justify-content:space-between!important;gap:8px!important;padding:3px 0!important;border-bottom:1px solid #e6eef4!important}
body .ta-route-app #ta-score-info-panel dt {font-weight:400!important}
body .ta-route-app #ta-score-info-panel dd {margin:0!important;font-weight:700!important;white-space:nowrap!important}
body .ta-route-app #ta-score-info-panel .ta-score-colour-key {height:6px!important;border-radius:4px!important;background:linear-gradient(to right,#b42318,#c2410c,#966000,#526f14,#077c38)!important;margin-top:10px!important}

/* Compact charger navigation: icon-only actions, no added row height. */
body .ta-route-app .ta-charging-block {position:relative!important}
body .ta-route-app .ta-charging-block > h4 {padding-right:32px!important}
body .ta-route-app #ta-charging-navigation {position:absolute!important;right:0!important;top:-7px!important;z-index:12!important}
body .ta-route-app #ta-charging-navigation[hidden],body .ta-route-app #ta-charging-navigation [data-charging-nav-options][hidden] {display:none!important}
body .ta-route-app #ta-charging-navigation button,body .ta-route-app #ta-charging-navigation a {display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;flex-shrink:0!important;min-width:0!important;min-height:0!important;padding:5px!important;margin:0!important;border:0!important;border-radius:7px!important;background:#f2f8fc!important;color:#176d9c!important;box-shadow:none!important;line-height:1!important;text-decoration:none!important;cursor:pointer!important}
body .ta-route-app #ta-charging-navigation [data-charging-nav-trigger] {width:28px!important;height:28px!important;background:transparent!important;padding:5px!important}
body .ta-route-app #ta-charging-navigation svg {display:block!important;width:22px!important;height:22px!important;flex-shrink:0!important;overflow:visible!important}
body .ta-route-app #ta-charging-navigation [data-charging-nav-options] {position:absolute!important;right:0!important;top:32px!important;display:flex!important;gap:5px!important;padding:7px!important;background:#fff!important;border:1px solid #dce7ef!important;border-radius:11px!important;box-shadow:0 6px 22px #1b3a5724!important;width:159px!important;min-width:159px!important;max-width:none!important}
body .ta-route-app #ta-charging-navigation button:hover,body .ta-route-app #ta-charging-navigation a:hover {background:#e8f3fa!important}
body .ta-route-app #ta-charging-navigation [data-charging-nav-trigger][aria-expanded="true"] {background:#e8f3fa!important}
body .ta-route-app #ta-charging-navigation button:focus-visible,body .ta-route-app #ta-charging-navigation a:focus-visible {outline:2px solid #1685a0!important;outline-offset:2px!important}
body .ta-route-app #ta-charging-navigation [data-charging-nav-status] {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* RouteSmart desktop identity and in-map trip editing. */
body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-brand-header {display:none!important}
@media (min-width:769px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-trip-summary {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-brand-header {display:flex!important;align-items:center!important;width:min(1400px,calc(100vw - 40px))!important;max-width:1400px!important;min-height:82px!important;margin:0 auto!important;padding:8px 20px!important;background:#fff!important;border:1px solid #dbe5ee!important;border-radius:20px 20px 12px 12px!important;box-sizing:border-box!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-brand-lockup {display:flex!important;flex-direction:column!important;align-items:flex-end!important;width:270px!important;max-width:100%!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-wordmark {display:block!important;width:270px!important;height:auto!important;max-width:100%!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-attribution {display:flex!important;align-items:center!important;gap:5px!important;height:19px!important;margin:-5px 3px 0 0!important;color:#586777!important;font:400 10px/1 system-ui,sans-serif!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-parent-logo {display:block!important;position:relative!important;width:85px!important;height:19px!important;overflow:hidden!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-parent-logo img {display:block!important;position:absolute!important;width:99px!important;max-width:none!important;height:66px!important;left:-7px!important;top:-20px!important;object-fit:contain!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-desktop-itinerary .ta-itinerary-heading {display:flex!important;align-items:flex-start!important;gap:7px!important;margin:0 0 12px!important;flex-shrink:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-desktop-itinerary .ta-itinerary-heading .ta-route-title {flex:1 1 auto!important;min-width:0!important;margin:0!important;font-size:14px!important;line-height:1.35!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-desktop-itinerary .ta-itinerary-heading .ta-route-edit-button {display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-width:37px!important;min-height:27px!important;padding:0 7px!important;margin:0!important;border:1px solid #f6bdce!important;border-radius:8px!important;background:#fff5f8!important;color:#b61043!important;font:700 10px/1 system-ui,sans-serif!important;text-decoration:none!important;box-shadow:none!important;letter-spacing:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-desktop-itinerary .ta-itinerary-heading .ta-route-edit-button:focus-visible {outline:2px solid #1685a0!important;outline-offset:2px!important}
}

/* Floating RouteSmart logo: approved artwork, no separate desktop banner. */
body.ta-ev-app-mode.ta-ev-results-page .ta-routesmart-brand-header {display:none!important}
@media (min-width:769px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-map-wrap > .ta-routesmart-brand-header {
  display:block!important;position:absolute!important;top:var(--ta-brand-top,12px)!important;right:12px!important;left:auto!important;
  width:200px!important;max-width:200px!important;min-width:0!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  background:transparent!important;backdrop-filter:none!important;mix-blend-mode:multiply!important;pointer-events:none!important;z-index:7!important;
 }
 body.ta-ev-app-mode.ta-ev-results-page .ta-map-wrap > .ta-routesmart-brand-header .ta-routesmart-brand-lockup {display:block!important;width:100%!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-map-wrap > .ta-routesmart-brand-header .ta-routesmart-wordmark {display:block!important;width:100%!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important}
}

/* Landscape and tablet workspace: full-width map with current stop details below. */
@media (min-width:769px) and (max-width:1023px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell .ta-route-app.ta-desktop-map-layout {--ta-itinerary-width:228px;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout > .ta-left-panel {display:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout > .ta-right-panel {grid-column:1!important;grid-row:2!important;position:relative!important;top:auto!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-map-wrap {height:560px!important;min-height:560px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-map-control-row {flex-wrap:wrap!important;align-content:flex-start!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-panel {max-width:480px!important;margin:0 auto!important}
}

/* Recommendation tabs and compact cards; shared desktop column height. */
.ta-recommendation-tabs {display:none}
@media (min-width:769px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-recommendation-tabs {display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin:0 0 10px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-recommendation-tabs button {display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:32px!important;width:auto!important;padding:6px 12px!important;margin:0!important;border:1px solid #dce7ef!important;border-radius:9px!important;background:#f7fafc!important;color:#52667b!important;font:700 12px/1.2 Arial,system-ui,sans-serif!important;box-shadow:none!important;cursor:pointer!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-recommendation-tabs button[aria-selected="true"] {color:#08793c!important;background:#e9f8ef!important;border-color:#a5dfbf!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-recommendation-tabs button:focus-visible {outline:2px solid #1685a0!important;outline-offset:2px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays {padding:12px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays .ta-section-head {margin-bottom:9px!important;flex-wrap:wrap!important;gap:8px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays .ta-section-head h3 {font-size:18px!important;letter-spacing:-.25px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-card {padding:7px!important;gap:7px!important;border-radius:11px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid:has(> .ta-result-card:nth-child(2):last-child) {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid:has(> .ta-result-card:only-child) {grid-template-columns:minmax(0,1fr)!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-visual {height:76px!important;min-height:76px!important;aspect-ratio:auto!important;border-radius:7px!important;font-size:26px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-content {gap:4px!important;flex:1 0 auto!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid h4 {font-size:12px!important;line-height:1.3!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-content > small {font-size:10px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-meta {font-size:9px!important;line-height:1.35!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-score-row strong {font-size:12px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-stays-grid .ta-result-content > .ta-popup-secondary {margin-top:auto!important;padding:7px 9px!important;min-height:28px!important;font-size:10px!important;width:auto!important;align-self:flex-end!important;border:1px solid #d6eff9!important;border-radius:16px!important;background:#f0faff!important;color:#087bd3!important;text-decoration:none!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-affiliate-disclosure {font-size:9px!important;line-height:1.4!important;margin:8px 0 0!important}
}
@media (min-width:1024px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell .ta-route-app.ta-desktop-map-layout {align-items:stretch!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout > .ta-map-area {display:flex!important;flex-direction:column!important;align-self:stretch!important;min-height:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-route-workspace {display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:640px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-map-wrap {flex:1 1 auto!important;height:auto!important;min-height:640px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stays {flex:0 0 auto!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout > .ta-right-panel {display:flex!important;flex-direction:column!important;align-self:stretch!important;position:relative!important;top:auto!important;min-height:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-stop-panel {display:flex!important;flex-direction:column!important;flex:1 0 auto!important;height:auto!important;max-height:none!important;min-height:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-attraction-list {display:flex!important;flex-direction:column!important;flex:1 0 auto!important;gap:6px!important;margin-top:16px!important;padding-top:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-attraction-list .ta-sidebar-list-head {flex:0 0 auto!important;margin-bottom:4px!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout .ta-sidebar-attraction-list .ta-sidebar-poi-row {flex:1 0 auto!important;margin-bottom:0!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app.ta-desktop-map-layout #ta-sidebar-attractions {display:contents!important}
}

/* Honest destination searches: no invented property imagery, ratings or save controls. */
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app #ta-stays-grid .ta-result-card.ta-stay-search-card {display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;padding:16px!important;background:linear-gradient(110deg,#f1fbf6,#fff 65%)!important;border:1px solid #cfe8db!important;border-radius:12px!important;min-width:0!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-icon {display:flex;align-items:center;justify-content:center;flex:0 0 48px;height:48px;border-radius:13px;background:#e0f4e8;color:#0b8646}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-copy {flex:1;min-width:0}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-copy small {display:block;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.6px;color:#4e6d5b;margin-bottom:4px}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app #ta-stays-grid .ta-stay-search-copy h4 {font:700 15px/1.3 Arial,sans-serif!important;margin:0 0 5px!important;color:#101828!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-copy p {font:400 12px/1.45 Arial,sans-serif!important;letter-spacing:0!important;margin:0!important;color:#475467!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-copy .ta-stay-search-note {font-size:11px!important;margin-top:7px!important;color:#53695c!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-cta {flex:0 0 auto}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app a.ta-stay-search-action {display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:40px!important;padding:10px 15px!important;border-radius:10px!important;background:#0b8845!important;color:#fff!important;font:700 12px/1.3 Arial,sans-serif!important;white-space:nowrap!important;text-decoration:none!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app a.ta-stay-search-action:hover {background:#076f37!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app a.ta-stay-search-action:focus-visible {outline:3px solid #34d3e6!important;outline-offset:3px!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stays:has(.ta-stay-search-card:only-child) #ta-stays-view-all {display:none!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-unavailable {font:400 12px/1.4 Arial,sans-serif;color:#667085}
@media (max-width:1100px) {
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app #ta-stays-grid .ta-result-card.ta-stay-search-card {flex-wrap:wrap!important}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-copy {flex-basis:calc(100% - 62px)}
 body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stay-search-cta {margin-left:62px}
}


/* Make the current recommendation context clear in the map itinerary. */
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-desktop-itinerary .ta-stop[aria-current="location"] {background:#e7f3ff!important;border:2px solid #1686e8!important;box-shadow:inset 3px 0 0 #1686e8!important;padding:8px 6px!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-desktop-itinerary .ta-stop[aria-current="location"]:hover {background:#e7f3ff!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-selected-stop-label {display:table!important;margin-top:4px!important;padding:2px 6px!important;border-radius:5px!important;background:#1479ce!important;color:#fff!important;font:700 9px/1.2 Arial,sans-serif!important;letter-spacing:.1px!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-selected-stop-label[hidden] {display:none!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-stop:focus-visible {outline:3px solid #34d3e6!important;outline-offset:2px!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-marker.ta-map-stop-selected {border-color:#fff!important;box-shadow:0 0 0 4px #126fd0,0 4px 14px #123e7066!important;z-index:25!important}


/* Stay area markers represent a search location, never an unverified property. */
.ta-map-popup .ta-popup-stay-area{grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important}
.ta-map-popup .ta-popup-stay-area .ta-popup-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e2f5eb;color:#08864a;font-size:23px}
.ta-map-popup .ta-popup-stay-area small{font-size:9px;letter-spacing:.05em;color:#63718b}
.ta-map-popup .ta-popup-stay-area p{font-size:12px;line-height:1.4;margin:7px 0 10px}
.ta-map-popup .ta-popup-stay-area .ta-popup-secondary{display:inline-block;font-size:12px;line-height:1.4;color:#087bbd;font-weight:700}

body .ta-route-app #ta-map .ta-marker.stay[data-ta-stay-area]{z-index:4!important}

.ta-map-popup .ta-popup-location-actions{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:8px}
.ta-map-popup .ta-popup-location-actions button{margin:0!important;min-width:0!important;padding:5px 8px!important;font-size:10px!important;line-height:1.2!important;min-height:28px!important}
body .ta-layer-items-panel__backdrop{width:100%!important;height:100%!important;max-width:none!important;border-radius:0!important;padding:0!important}
body .ta-layer-items-panel.ta-location-results .ta-layer-items-panel__dialog{display:flex!important;flex-direction:column!important;width:min(620px,calc(100vw - 32px))!important;max-height:calc(100svh - 40px)!important}
body .ta-layer-items-panel.ta-location-results[data-location-category="chargers"] .ta-layer-items-panel__dialog{width:min(470px,calc(100vw - 32px))!important}
body .ta-layer-items-panel.ta-location-results .ta-layer-items-panel__header{grid-template-columns:minmax(0,1fr) 34px!important;flex-shrink:0}
body .ta-layer-items-panel.ta-location-results .ta-layer-items-panel__header .ta-layer-items-panel__back[hidden]{display:none!important}
.ta-location-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:12px 16px;flex-shrink:0}
.ta-location-tabs[hidden]{display:none!important}
body .ta-location-tabs button{border:1px solid #d9e5ee!important;background:#f6f9fc!important;color:#4d647c!important;border-radius:9px!important;padding:9px 5px!important;min-height:36px!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;box-shadow:none!important}
body .ta-location-tabs button[aria-selected="true"]{background:#e7f7ee!important;border-color:#8fd9b0!important;color:#07823e!important}
body .ta-location-results .ta-layer-items-panel__list{min-height:100px;max-height:none!important;overflow:auto!important;flex:1 1 auto;padding:0 16px 12px!important}
body .ta-location-results[data-location-category="stays"] .ta-layer-items-panel__list{padding:0!important;display:flex;min-height:180px}
.ta-location-stay-frame{display:block!important;width:100%!important;height:min(540px,62svh)!important;min-height:180px;border:0!important;background:#f5f8fa}
.ta-location-attraction{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #e7edf3}
.ta-location-attraction img,.ta-location-photo-fallback{width:100px;height:86px;object-fit:cover;border-radius:10px;background:#edf7f6}
.ta-location-photo-fallback{display:grid;place-items:center;font-size:30px;color:#14886a}
.ta-location-attraction h3{font-size:14px!important;line-height:1.3!important;margin:0 0 5px!important;color:#101b2c}
.ta-location-attraction p{font-size:12px!important;line-height:1.4!important;margin:0 0 7px!important;color:#66748a}
.ta-location-attraction a{font-size:12px!important;font-weight:700;color:#087bc1!important}
.ta-location-empty{padding:20px;font-size:13px}
@media(max-width:600px){.ta-location-attraction{grid-template-columns:80px minmax(0,1fr)}.ta-location-attraction img,.ta-location-photo-fallback{width:80px;height:78px}}

/* Shared RouteSmart journey identity: origin, stops, destination, chargers. */
:root{--ta-origin:#119657;--ta-stop:#1268db;--ta-destination:#34d3e6;--ta-charger:#f92355}
[data-ta-journey-role],.ta-route-app .ta-stop,.ta-mobile-stop-item{--ta-journey-color:var(--ta-stop);--ta-journey-tint:#edf4ff;--ta-journey-edge:#c7dcfa;--ta-journey-ink:#fff}
[data-ta-journey-role="origin"],.ta-route-app .ta-itinerary-stop--origin,.ta-mobile-stop-item--origin{--ta-journey-color:var(--ta-origin);--ta-journey-tint:#effbf4;--ta-journey-edge:#c8edd9;--ta-journey-ink:#fff}
[data-ta-journey-role="destination"],.ta-route-app .ta-stop.final,.ta-route-app .ta-itinerary-stop--destination,.ta-mobile-stop-item--destination{--ta-journey-color:var(--ta-destination);--ta-journey-tint:#edfcff;--ta-journey-edge:#a9eaf2;--ta-journey-ink:#06111f}
body .ta-route-app .ta-stop>b,body .ta-mobile-stop-item .ta-mobile-stop-card .ta-mobile-stop-number,body .ta-route-app #ta-stop-number,body .ta-journey-badge{background:var(--ta-journey-color,var(--ta-stop))!important;color:var(--ta-journey-ink,#fff)!important}
body .ta-route-app .ta-stop.final,body .ta-route-app .ta-itinerary-stop--origin,body .ta-route-app .ta-itinerary-stop--destination{background:var(--ta-journey-tint)!important;box-shadow:inset 0 0 0 1px var(--ta-journey-edge)!important}
body .ta-route-app .ta-stop-list--itinerary .ta-itinerary-stop--planned_stop{border-left-color:var(--ta-stop)!important;background:#f5f9ff!important}
body .ta-route-app .ta-stop-list--itinerary .ta-itinerary-stop--planned_stop em{background:#e7f0ff!important;color:#1853a6!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-desktop-itinerary .ta-stop[aria-current="location"],body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-desktop-itinerary .ta-stop[aria-current="location"]:hover{border-color:var(--ta-journey-color)!important;background:var(--ta-journey-tint)!important;box-shadow:inset 3px 0 0 var(--ta-journey-color)!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app .ta-selected-stop-label{background:var(--ta-journey-color)!important;color:var(--ta-journey-ink)!important}
body .ta-mobile-stop-item--origin .ta-mobile-stop-card,body .ta-mobile-stop-item--destination .ta-mobile-stop-card{background:var(--ta-journey-tint)!important;border-color:var(--ta-journey-edge)!important}
body .ta-mobile-stop-item .ta-mobile-stop-card[aria-expanded="true"]{border-color:var(--ta-journey-color)!important;background:var(--ta-journey-tint)!important;box-shadow:inset 3px 0 0 var(--ta-journey-color)!important}
body .ta-route-app #ta-map .ta-marker[data-ta-journey-role],body .ta-dynamic-marker.endpoint{width:32px!important;height:32px!important;box-sizing:border-box;border:3px solid #fff!important;background:var(--ta-journey-color)!important;color:var(--ta-journey-ink)!important;font:800 13px/1 Arial,sans-serif!important;box-shadow:0 3px 9px #06111f40!important;z-index:6!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-route-app #ta-map .ta-marker.ta-map-stop-selected{box-shadow:0 0 0 3px var(--ta-journey-color),0 4px 12px #06111f40!important;z-index:7!important}
body .ta-route-app #ta-map .ta-marker.charger,body .ta-route-app #ta-map .ta-marker.charger-supercharger,body .ta-route-app #ta-map .ta-marker.charger-ccs,body .ta-dynamic-marker:not(.endpoint){width:27px!important;height:27px!important;box-sizing:border-box;border:2px solid #fff!important;background:var(--ta-charger)!important;color:#fff!important;box-shadow:0 2px 6px #06111f33!important;z-index:3!important}
body .ta-route-app #ta-map .ta-marker.charger.is-route-stop-highlight{border-color:#fff!important;box-shadow:0 0 0 2px #f9235540,0 2px 6px #06111f33!important}
.ta-marker.charger svg,.ta-dynamic-marker:not(.endpoint) svg{width:12px;height:17px;display:block;fill:currentColor;pointer-events:none}
body .ta-map-popup .ta-popup-card[data-ta-journey-role] .ta-popup-icon{background:var(--ta-journey-color)!important;color:var(--ta-journey-ink)!important;border-radius:50%!important;width:34px!important;height:34px!important;min-width:34px!important;display:grid!important;place-items:center;font:800 14px/1 Arial,sans-serif!important}
body .ta-map-popup .ta-popup-charger .ta-popup-icon{background:#fff0f4!important;color:var(--ta-charger)!important}
body .ta-journey-badge{display:inline-flex!important;width:26px;height:26px;flex:0 0 26px;align-items:center;justify-content:center;border-radius:50%;font:800 12px/1 Arial,sans-serif;vertical-align:middle;margin-right:8px}
body .ta-layer-items-panel__title[data-ta-journey-role]{display:flex;align-items:center}
body .ta-route-app .ta-mobile-workspace-stop-current[data-ta-journey-role]{border-left:3px solid var(--ta-journey-color);padding-left:8px}
body .ta-route-app .ta-mobile-workspace-stop-list button[data-ta-journey-role]{border-left:3px solid var(--ta-journey-color)!important}
body .ta-plan-route-points__markers i:first-child,body .ta-route-app .ta-route-points__markers i:first-child{background:var(--ta-origin)!important;border-color:var(--ta-origin)!important;box-shadow:0 0 0 3px #1196571f!important}
body .ta-plan-route-points__markers i:last-child,body .ta-route-app .ta-route-points__markers i:last-child{background:var(--ta-destination)!important;border-color:var(--ta-destination)!important;box-shadow:0 0 0 3px #34d3e61f!important}
body .ta-plan-route-stop__marker,body .ta-route-app .ta-route-added-stop__marker{background:var(--ta-stop)!important;border-color:var(--ta-stop)!important}
body .ta-route-app .ta-map-legend [data-filter="chargers"] i{background:var(--ta-charger)!important}

body .ta-route-app .ta-mobile-food-stop-current[data-ta-journey-role]{border-left:3px solid var(--ta-journey-color);padding-left:8px}
body .ta-route-app .ta-mobile-food-stop-list button[data-ta-journey-role]{border-left:3px solid var(--ta-journey-color)!important}

/* Compact RouteSmart owner invitation. */
@media(min-width:769px){
body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"] .ta-route-app.ta-desktop-map-layout{padding-bottom:0!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"]{padding-bottom:0!important}
body.ta-ev-app-mode.ta-ev-results-page .ta-app-shell[data-app-screen="summary"] .ta-owner-cta.ta-owner-invitation{margin-top:8px!important;margin-bottom:8px!important}
}

body .ta-owner-cta.ta-owner-invitation{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;width:calc(100% - 64px)!important;max-width:1320px!important;margin:18px auto 20px!important;padding:20px 24px!important;min-height:0!important;border-radius:16px!important;background:linear-gradient(110deg,#071b2c,#10394b)!important;border:1px solid #22495b!important;box-shadow:0 5px 16px #112b3f0c!important}
body .ta-owner-cta.ta-owner-invitation .ta-owner-icon{display:grid!important;place-items:center;width:38px;height:38px;color:#34d3e6!important;border:1px solid #346374!important;background:#ffffff05!important;border-radius:10px!important}.ta-owner-invitation .ta-owner-icon svg{width:25px;height:25px}
body .ta-owner-cta.ta-owner-invitation>div{order:initial!important;flex:initial!important}
body .ta-owner-cta.ta-owner-invitation h2{display:block!important;font-size:18px!important;font-weight:740!important;line-height:1.3!important;letter-spacing:-.3px!important;margin:0 0 5px!important;color:#fff!important}
body .ta-owner-cta.ta-owner-invitation p{display:block!important;font-size:12px!important;line-height:1.5!important;margin:0!important;color:#ccdde5!important}
body .ta-owner-cta.ta-owner-invitation .ta-primary-btn.small{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;order:initial!important;width:auto!important;min-height:42px!important;padding:10px 16px!important;margin:0!important;border:0!important;border-radius:9px!important;background:#f92355!important;color:#fff!important;font-size:12px!important;line-height:1.5!important;text-transform:none!important;box-shadow:none!important;white-space:nowrap}
body.ta-ev-results-page .ta-route-app{padding-bottom:0!important;margin-bottom:0!important}
body.ta-ev-results-page .content-page{padding-bottom:24px!important}
@media(max-width:768px){body .ta-owner-cta.ta-owner-invitation{grid-template-columns:minmax(0,1fr)!important;width:calc(100% - 28px)!important;margin:14px auto!important;padding:17px!important;gap:12px!important}body .ta-owner-cta.ta-owner-invitation .ta-owner-icon{display:none!important}body .ta-owner-cta.ta-owner-invitation h2{font-size:16px!important}body .ta-owner-cta.ta-owner-invitation p{font-size:11px!important}body .ta-owner-cta.ta-owner-invitation .ta-primary-btn.small{justify-self:start!important}body .ta-mobile-stops-list>.ta-owner-cta.ta-owner-invitation{width:100%!important;margin:12px 0 0!important}}
