/* Taxi 2.0 — full-width liquid glass visual layer */
:root{
    --glass-bg:rgba(255,255,255,.66);
    --glass-bg-strong:rgba(255,255,255,.82);
    --glass-line:rgba(255,255,255,.78);
    --glass-shadow:0 24px 70px rgba(24,30,42,.13),inset 0 1px 0 rgba(255,255,255,.95);
    --glass-shadow-soft:0 12px 38px rgba(24,30,42,.09),inset 0 1px 0 rgba(255,255,255,.86);
    --glass-dark:rgba(11,13,18,.78);
    --glass-dark-line:rgba(255,255,255,.12);
    --page-gutter:clamp(14px,2.2vw,40px);
    --content-wide:1760px;
}

html{background:#eef1f5}
body.taxi-home{
    min-height:100vh;
    overflow-x:clip;
    background:
        radial-gradient(circle at 8% 8%,rgba(247,201,72,.23),transparent 28%),
        radial-gradient(circle at 87% 18%,rgba(124,178,255,.18),transparent 30%),
        linear-gradient(135deg,#f6f7f9 0%,#eef2f7 48%,#f8f4e7 100%);
}
body.taxi-home::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    opacity:.4;
    background-image:
        linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom,#000,transparent 78%);
}
.taxi-home .hero-city-bg{
    inset:10px;
    border-radius:36px;
    opacity:.14;
    filter:saturate(.75) contrast(.9);
}
.taxi-home .hero-gradient{
    height:100dvh;
    background:
        radial-gradient(ellipse 55% 65% at 3% 30%,rgba(247,201,72,.3),transparent 64%),
        linear-gradient(90deg,rgba(246,248,251,.92) 0%,rgba(246,248,251,.56) 48%,rgba(238,242,247,.72) 100%);
}

/* Shared floating header */
.taxi-home .nav{
    top:12px;
    left:var(--page-gutter);
    right:var(--page-gutter);
    border:1px solid rgba(255,255,255,.9);
    border-radius:26px;
    background:rgba(255,255,255,.64);
    -webkit-backdrop-filter:blur(28px) saturate(180%);
    backdrop-filter:blur(28px) saturate(180%);
    box-shadow:0 16px 50px rgba(32,39,54,.11),inset 0 1px 0 #fff;
    overflow:visible;
}
.taxi-home .nav.scrolled{
    background:rgba(255,255,255,.78);
    box-shadow:0 20px 60px rgba(32,39,54,.16),inset 0 1px 0 #fff;
}
.taxi-home .nav-inner{
    max-width:none;
    width:100%;
    height:74px;
    padding:0 clamp(16px,1.6vw,30px);
    gap:clamp(10px,1.2vw,22px);
}
.taxi-home .nav-logo img{height:56px}
.taxi-home .service-switcher{
    position:relative;
    isolation:isolate;
    padding:5px;
    gap:3px;
    margin-left:0;
    background:rgba(235,237,241,.64);
    border:1px solid rgba(255,255,255,.86);
    box-shadow:inset 0 2px 8px rgba(31,40,55,.07),0 3px 12px rgba(30,38,52,.06);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
}
.taxi-home .sw-btn{
    min-height:38px;
    padding:8px 16px;
    border:1px solid transparent;
    color:#6f747c;
}
.taxi-home .sw-btn.active{
    color:#111;
    border-color:rgba(255,255,255,.9);
    background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(255,255,255,.66));
    box-shadow:0 7px 18px rgba(35,42,55,.13),inset 0 1px 0 #fff;
}
.taxi-home .nav-links{
    margin-left:auto;
    gap:clamp(18px,2vw,34px);
}
.taxi-home .nav-links a{
    opacity:.82;
    font-size:14px;
    letter-spacing:-.1px;
}
.taxi-home .nav-driver-btn,
.taxi-home .nav-login,
.taxi-home .nav-user-btn{
    min-height:42px;
    border:1px solid rgba(255,255,255,.48);
    box-shadow:0 9px 22px rgba(28,34,46,.12),inset 0 1px 0 rgba(255,255,255,.45);
}
.taxi-home .nav-driver-btn{
    background:linear-gradient(145deg,#ffd85f,#f3b91c);
}
.taxi-home .nav-login{
    background:linear-gradient(145deg,#24262a,#050506);
}

/* Full-width hero */
.taxi-home .hero{
    width:calc(100% - (var(--page-gutter) * 2));
    max-width:var(--content-wide);
    min-height:100dvh;
    grid-template-columns:minmax(0,.9fr) minmax(580px,1.1fr);
    gap:clamp(24px,4vw,86px);
    padding:112px clamp(12px,2vw,34px) 34px;
}
.taxi-home .hero-left{
    align-self:center;
    max-width:760px;
    padding:clamp(24px,3.2vw,58px);
    border:1px solid rgba(255,255,255,.68);
    border-radius:42px;
    background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(255,255,255,.2));
    -webkit-backdrop-filter:blur(12px) saturate(130%);
    backdrop-filter:blur(12px) saturate(130%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 28px 80px rgba(40,48,65,.08);
}
.taxi-home .hero-badge{
    margin-bottom:clamp(18px,2vw,30px);
    background:rgba(255,255,255,.52);
    border-color:rgba(247,201,72,.45);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 24px rgba(67,56,20,.07);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
}
.taxi-home .hero h1{
    font-size:clamp(58px,6.2vw,116px);
    line-height:.88;
    letter-spacing:clamp(-5px,-.3vw,-2px);
    margin-bottom:30px;
}
.taxi-home .hero-sub{
    max-width:650px;
    font-size:clamp(17px,1.35vw,22px);
    color:#5f646b;
    margin-bottom:34px;
}
.taxi-home .hero-stats{
    padding:14px 4px;
    margin-bottom:22px;
}
.taxi-home .stat{padding:0 clamp(14px,2vw,34px)}
.taxi-home .stat-num{font-size:clamp(18px,1.55vw,26px)}
.taxi-home .hero-feat{
    background:rgba(255,255,255,.55);
    border-color:rgba(255,255,255,.85);
    box-shadow:var(--glass-shadow-soft);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
}

/* Large glass booking surface */
.taxi-home .hero-right{
    width:100%;
    align-self:center;
}
.taxi-home .order-card{
    width:100%;
    padding:clamp(22px,2.5vw,42px);
    border-radius:42px;
    overflow:visible;
    border:1px solid var(--glass-line);
    background:
        linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.58));
    -webkit-backdrop-filter:blur(30px) saturate(180%);
    backdrop-filter:blur(30px) saturate(180%);
    box-shadow:var(--glass-shadow);
}
.taxi-home .order-card::before{
    height:1px;
    left:42px;
    right:42px;
    background:linear-gradient(90deg,transparent,var(--yellow),transparent);
}
.taxi-home .order-card h2{
    font-size:clamp(23px,2vw,32px);
    letter-spacing:-.8px;
}
.taxi-home .order-card-sub{font-size:14px;margin-bottom:18px}
.taxi-home #step1.active{
    display:grid;
    grid-template-columns:minmax(220px,.82fr) 34px minmax(220px,.82fr) minmax(300px,1.25fr);
    gap:12px;
    align-items:start;
}
.taxi-home #step1>.field-group{margin:0}
.taxi-home #step1>.route-divider{
    flex-direction:column;
    height:100%;
    min-height:116px;
}
.taxi-home #step1>.route-divider .route-line{
    width:1px;
    height:auto;
    min-height:18px;
    flex:1;
}
.taxi-home .field{
    min-height:64px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.85);
    background:rgba(244,246,249,.7);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.taxi-home .field:focus-within{
    background:rgba(255,255,255,.92);
    border-color:rgba(247,201,72,.65);
    box-shadow:0 0 0 4px rgba(247,201,72,.12),inset 0 1px 0 #fff;
}
.taxi-home .taxi-address-field{
    position:relative;
    z-index:20;
    overflow:visible;
    padding-right:6px;
}
.taxi-home .taxi-address-field:focus-within{z-index:120}
.taxi-home .taxi-address-field .field-content{min-width:0}
.taxi-home .taxi-address-field input{
    width:100%;
    min-width:0;
    font-weight:700;
}
.taxi-home .taxi-pick-map-btn{
    min-width:68px;
    height:38px;
    padding:0 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex:0 0 auto;
    color:#17130a;
    border:1px solid rgba(247,201,72,.55);
    border-radius:13px;
    background:linear-gradient(145deg,#ffe582,#f7c948);
    box-shadow:0 7px 17px rgba(194,142,12,.14),inset 0 1px 0 rgba(255,255,255,.72);
    font:800 10px/1 'Inter',sans-serif;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease;
}
.taxi-home .taxi-pick-map-btn:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(194,142,12,.2),inset 0 1px 0 #fff}
.taxi-home .taxi-pick-map-btn:active{transform:scale(.96)}
.taxi-home .taxi-pick-map-btn svg{width:15px;height:15px}
.taxi-home .taxi-address-suggestions{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    z-index:500;
    max-height:286px;
    padding:7px;
    display:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    border:1px solid rgba(255,255,255,.15);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(29,32,39,.98),rgba(8,10,14,.97));
    -webkit-backdrop-filter:blur(26px) saturate(140%);
    backdrop-filter:blur(26px) saturate(140%);
    box-shadow:0 22px 55px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.12);
}
.taxi-home .taxi-address-suggestions.open{display:block}
.taxi-home .taxi-address-option{
    width:100%;
    min-height:56px;
    padding:8px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    border:0;
    border-radius:13px;
    background:transparent;
    text-align:left;
    font-family:'Inter',sans-serif;
    cursor:pointer;
}
.taxi-home .taxi-address-option:hover,
.taxi-home .taxi-address-option:active{background:rgba(255,255,255,.09)}
.taxi-home .taxi-address-option>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}
.taxi-home .taxi-address-option strong{overflow:hidden;color:#fff;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.taxi-home .taxi-address-option small{overflow:hidden;color:rgba(255,255,255,.48);font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.taxi-home .taxi-address-option-icon{
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    color:#f7c948;
    border:1px solid rgba(247,201,72,.18);
    border-radius:12px;
    background:rgba(247,201,72,.09);
}
.taxi-home .taxi-address-option-icon svg{width:17px;height:17px}
.taxi-home .taxi-address-empty,
.taxi-home .taxi-address-loading{
    padding:13px 12px;
    color:rgba(255,255,255,.66);
    font-size:10px;
    line-height:1.45;
    font-weight:600;
}
.taxi-home .taxi-address-loading{display:flex;align-items:center;gap:8px}
.taxi-home .taxi-address-loading i{
    width:15px;
    height:15px;
    flex:0 0 auto;
    border:2px solid rgba(255,255,255,.16);
    border-top-color:#f7c948;
    border-radius:50%;
    animation:taxiAddressSpin .75s linear infinite;
}
@keyframes taxiAddressSpin{to{transform:rotate(360deg)}}
.taxi-home .taxi-map-shell{
    grid-column:4;
    grid-row:1 / span 5;
    margin:0;
    min-height:100%;
    border:1px solid rgba(255,255,255,.76);
    border-radius:26px;
    overflow:hidden;
    background:rgba(19,21,25,.93);
    box-shadow:0 14px 36px rgba(20,25,35,.18),inset 0 1px 0 rgba(255,255,255,.1);
}
.taxi-home .taxi-map-head{
    min-height:82px;
    padding:12px 14px;
    gap:10px;
}
.taxi-home .taxi-map-head>div:first-child{flex:1;min-width:0}
.taxi-home .taxi-map-head strong{
    margin:0 0 6px;
    color:#fff;
    font-size:14px;
    line-height:1.2;
}
.taxi-home #taxiMapHint{
    width:fit-content;
    max-width:100%;
    min-height:30px;
    padding:7px 10px 7px 9px;
    display:flex;
    align-items:center;
    gap:7px;
    color:#fff;
    border:1px solid rgba(247,201,72,.27);
    border-radius:11px;
    background:rgba(247,201,72,.12);
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.taxi-home #taxiMapHint::before{
    content:'';
    width:8px;
    height:8px;
    flex:0 0 auto;
    border-radius:50%;
    background:#f7c948;
    box-shadow:0 0 0 0 rgba(247,201,72,.46);
    animation:taxiHintPulse 1.8s ease-out infinite;
}
@keyframes taxiHintPulse{
    0%{box-shadow:0 0 0 0 rgba(247,201,72,.48)}
    70%,100%{box-shadow:0 0 0 7px rgba(247,201,72,0)}
}
.taxi-home #taxiOrderMap{height:330px;min-height:330px}
.taxi-home .taxi-map-status{
    grid-template-columns:1fr;
    gap:5px;
    padding:10px;
}
.taxi-home .taxi-map-status>div{min-width:0}
.taxi-home .taxi-quote{
    grid-column:1 / 4;
    margin:0;
    border-radius:18px;
    background:rgba(255,248,220,.7);
    border:1px solid rgba(247,201,72,.35);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.taxi-home #step1>.options-row{grid-column:1 / 3;margin:0}
.taxi-home #step1>.time-row{grid-column:1 / 4}
.taxi-home #step1>.passengers-row{grid-column:1 / 3;margin:0;min-height:58px}
.taxi-home #step1>.btn-next{grid-column:3;margin:0;height:58px}
.taxi-home .btn-next{
    border:1px solid rgba(255,255,255,.5);
    background:linear-gradient(145deg,#ffd85f,#edb51f);
    box-shadow:0 14px 30px rgba(199,145,0,.2),inset 0 1px 0 rgba(255,255,255,.6);
}
.taxi-home .option-btn,
.taxi-home .passengers-row{
    border:1px solid rgba(255,255,255,.82);
    background:rgba(241,243,247,.72);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}
.taxi-home #step2.active,
.taxi-home #step3.active{max-width:780px;margin:0 auto}

/* Glass content sections, still full width */
.taxi-home .how,
.taxi-home .features,
.taxi-home .app-soon,
.taxi-home .driver,
.taxi-home .contacts{
    width:calc(100% - (var(--page-gutter) * 2));
    max-width:var(--content-wide);
    margin:18px auto;
    border-radius:44px;
    overflow:hidden;
}
.taxi-home .how,
.taxi-home .driver{
    border:1px solid var(--glass-dark-line);
    background:
        radial-gradient(circle at 90% 10%,rgba(247,201,72,.2),transparent 33%),
        linear-gradient(145deg,rgba(25,27,32,.94),rgba(5,6,8,.9));
    -webkit-backdrop-filter:blur(30px);
    backdrop-filter:blur(30px);
    box-shadow:0 30px 80px rgba(12,15,22,.22),inset 0 1px 0 rgba(255,255,255,.1);
}
.taxi-home .how{padding:clamp(74px,8vw,130px) var(--page-gutter)}
.taxi-home .how-inner,
.taxi-home .features-inner,
.taxi-home .app-soon-inner,
.taxi-home .driver-inner,
.taxi-home .contacts-inner,
.taxi-home .footer-inner{max-width:1540px}
.taxi-home .how-step{
    min-height:210px;
    padding:26px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:28px;
    background:rgba(255,255,255,.055);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
}
.taxi-home .features,
.taxi-home .contacts{
    background:rgba(255,255,255,.44);
    border:1px solid rgba(255,255,255,.78);
    -webkit-backdrop-filter:blur(28px) saturate(150%);
    backdrop-filter:blur(28px) saturate(150%);
    box-shadow:var(--glass-shadow-soft);
}
.taxi-home .features{padding:clamp(68px,7vw,110px) var(--page-gutter)}
.taxi-home .feature,
.taxi-home .contact-item{
    border:1px solid rgba(255,255,255,.88);
    background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.46));
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    box-shadow:var(--glass-shadow-soft);
}
.taxi-home .driver{padding:clamp(74px,8vw,120px) var(--page-gutter)}
.taxi-home .driver-card{
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.07);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
}
.taxi-home .contacts{padding:clamp(70px,7vw,110px) var(--page-gutter)}
.taxi-home .footer{
    width:calc(100% - (var(--page-gutter) * 2));
    max-width:var(--content-wide);
    margin:18px auto var(--page-gutter);
    border-radius:36px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(8,9,12,.9);
    -webkit-backdrop-filter:blur(22px);
    backdrop-filter:blur(22px);
}

/* Login liquid glass */
body.taxi-login{
    background:
        radial-gradient(circle at 12% 12%,rgba(247,201,72,.3),transparent 34%),
        radial-gradient(circle at 88% 18%,rgba(127,178,255,.2),transparent 31%),
        linear-gradient(145deg,#f8f9fb,#e9eef5);
}
.taxi-login::before{
    content:"";
    position:fixed;
    inset:0;
    background:url('/static/images/tetiyiv.jpg') center/cover;
    opacity:.08;
    z-index:-1;
}
.taxi-login .wrap{max-width:460px}
.taxi-login .card{
    padding:42px;
    border-radius:34px;
    border:1px solid rgba(255,255,255,.88);
    background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.56));
    -webkit-backdrop-filter:blur(30px) saturate(170%);
    backdrop-filter:blur(30px) saturate(170%);
    box-shadow:var(--glass-shadow);
}
.taxi-login .card::before{height:1px;left:34px;right:34px}
.taxi-login .srv,
.taxi-login .ff input{
    border:1px solid rgba(255,255,255,.85);
    background:rgba(244,246,249,.7);
    box-shadow:inset 0 1px 0 #fff;
}

/* Cabinet liquid glass */
body.taxi-cabinet{
    background:
        radial-gradient(circle at 5% 5%,rgba(247,201,72,.22),transparent 30%),
        radial-gradient(circle at 90% 12%,rgba(126,181,255,.18),transparent 30%),
        linear-gradient(145deg,#f5f7fa,#e9eef4);
}
.taxi-cabinet .nav{
    top:12px;
    left:var(--page-gutter);
    right:var(--page-gutter);
    border-radius:24px;
    border:1px solid rgba(255,255,255,.88);
    background:rgba(255,255,255,.68);
    -webkit-backdrop-filter:blur(28px) saturate(180%);
    backdrop-filter:blur(28px) saturate(180%);
    box-shadow:var(--glass-shadow-soft);
}
.taxi-cabinet .nav-inner{max-width:none;padding:0 24px}
.taxi-cabinet .cabinet{
    max-width:none;
    width:calc(100% - (var(--page-gutter) * 2));
    padding-top:106px;
    gap:22px;
}
.taxi-cabinet .sidebar,
.taxi-cabinet .content>.card,
.taxi-cabinet .avatar-popup-inner{
    border:1px solid rgba(255,255,255,.82);
    background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(255,255,255,.5));
    -webkit-backdrop-filter:blur(26px) saturate(160%);
    backdrop-filter:blur(26px) saturate(160%);
    box-shadow:var(--glass-shadow-soft);
}
.taxi-cabinet .sidebar{border-radius:30px;overflow:hidden}
.taxi-cabinet .content>.card{border-radius:30px}
.taxi-cabinet .menu-item{border:1px solid transparent}
.taxi-cabinet .menu-item.active{
    border-color:rgba(247,201,72,.32);
    background:rgba(247,201,72,.16);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

@media(max-width:1600px){
    .taxi-home #step1.active{
        grid-template-columns:minmax(220px,1fr) 34px minmax(220px,1fr);
    }
    .taxi-home .taxi-map-shell{
        grid-column:1 / 4;
        grid-row:auto;
    }
    .taxi-home #taxiOrderMap{height:290px;min-height:290px}
    .taxi-home .taxi-map-status{grid-template-columns:1fr 1fr}
    .taxi-home .taxi-quote{grid-column:1 / 4}
}

@media(max-width:1040px){
    .taxi-home .nav-links{display:none}
    .taxi-home .hero{
        grid-template-columns:1fr;
        padding-top:110px;
    }
    .taxi-home .hero-left{max-width:none}
    .taxi-home .hero h1{font-size:clamp(62px,10vw,102px)}
    .taxi-home .hero-right{max-width:none}
    .taxi-home .features-inner{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:700px){
    :root{--page-gutter:10px}
    body.taxi-home{
        color:#f7f7f8;
        background:
            radial-gradient(circle at 12% 3%,rgba(247,201,72,.22),transparent 30%),
            radial-gradient(circle at 92% 18%,rgba(55,104,178,.22),transparent 34%),
            linear-gradient(155deg,#11141a 0%,#06080c 56%,#10131a 100%);
    }
    body.taxi-home::before{opacity:.12}
    .taxi-home .hero-city-bg{
        inset:0;
        border-radius:0;
        opacity:.2;
        filter:grayscale(.15) saturate(.8) brightness(.55);
    }
    .taxi-home .hero-gradient{
        background:
            radial-gradient(ellipse 70% 42% at 10% 8%,rgba(247,201,72,.17),transparent 65%),
            linear-gradient(180deg,rgba(6,8,12,.35),rgba(6,8,12,.88));
    }
    .taxi-home .nav{
        top:8px;
        border-radius:22px;
        border-color:rgba(255,255,255,.14);
        background:linear-gradient(145deg,rgba(24,27,34,.78),rgba(8,10,14,.68));
        -webkit-backdrop-filter:blur(30px) saturate(180%);
        backdrop-filter:blur(30px) saturate(180%);
        box-shadow:0 18px 50px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.13);
    }
    .taxi-home .nav-inner{height:68px;padding:0 10px;gap:7px}
    .taxi-home .nav-logo{
        display:flex;
        align-items:center;
        padding:5px 7px;
        border-radius:14px;
        background:rgba(255,255,255,.92);
        box-shadow:inset 0 1px 0 #fff,0 6px 18px rgba(0,0,0,.18);
    }
    .taxi-home .nav-logo img{height:33px}
    .taxi-home .service-switcher{
        order:2;
        flex:1;
        max-width:220px;
        margin-left:auto;
        padding:4px;
        border-color:rgba(255,255,255,.12);
        background:rgba(255,255,255,.07);
        box-shadow:inset 0 1px 8px rgba(0,0,0,.32),0 1px 0 rgba(255,255,255,.08);
    }
    .taxi-home .sw-btn{
        flex:1;
        justify-content:center;
        min-height:38px;
        padding:7px 8px;
        color:rgba(255,255,255,.58);
    }
    .taxi-home .sw-btn svg{width:15px;height:15px}
    .taxi-home .sw-label{display:inline;font-size:11px}
    .taxi-home .sw-btn.active{
        color:#fff;
        border-color:rgba(255,255,255,.18);
        background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.08));
        box-shadow:0 8px 22px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.28);
    }
    .taxi-home .nav-actions{display:none}
    .taxi-home .nav-burger{
        display:flex;
        width:40px;
        height:40px;
        align-items:center;
        justify-content:center;
        border-radius:14px;
        color:#fff;
        border:1px solid rgba(255,255,255,.14);
        background:rgba(255,255,255,.08);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 9px 22px rgba(0,0,0,.24);
    }
    .taxi-home .nav-burger svg{stroke:#fff}
    body.drawer-open{overflow:hidden;touch-action:none}
    .taxi-home .drawer-overlay{
        display:block;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        background:rgba(2,4,8,.58);
        -webkit-backdrop-filter:blur(10px) saturate(120%);
        backdrop-filter:blur(10px) saturate(120%);
        transition:opacity .28s ease,visibility .28s ease;
    }
    .taxi-home .drawer-overlay.open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }
    .taxi-home .drawer{
        top:max(10px,env(safe-area-inset-top));
        right:10px;
        bottom:max(10px,env(safe-area-inset-bottom));
        width:min(365px,calc(100vw - 20px));
        height:auto;
        overflow:hidden;
        color:#fff;
        border:1px solid rgba(255,255,255,.16);
        border-radius:30px;
        background:
            radial-gradient(circle at 92% 6%,rgba(247,201,72,.17),transparent 29%),
            linear-gradient(145deg,rgba(31,34,42,.94),rgba(7,9,13,.92));
        -webkit-backdrop-filter:blur(30px) saturate(145%);
        backdrop-filter:blur(30px) saturate(145%);
        box-shadow:-24px 24px 70px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.16);
        transform:translateX(calc(100% + 24px)) scale(.98);
        opacity:.75;
        transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .26s ease;
    }
    .taxi-home .drawer.open{
        transform:translateX(0) scale(1);
        opacity:1;
    }
    .taxi-home .drawer-head{
        min-height:88px;
        padding:15px 16px;
        border-bottom:1px solid rgba(255,255,255,.1);
        background:rgba(255,255,255,.035);
    }
    .taxi-home .drawer-brand{display:flex;align-items:center;gap:11px;min-width:0}
    .taxi-home .drawer-brand-mark{
        width:58px;
        height:50px;
        padding:7px;
        display:flex;
        align-items:center;
        justify-content:center;
        flex:0 0 auto;
        overflow:hidden;
        border-radius:16px;
        background:rgba(255,255,255,.94);
        box-shadow:0 10px 25px rgba(0,0,0,.24),inset 0 1px 0 #fff;
    }
    .taxi-home .drawer-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
    .taxi-home .drawer-brand-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
    .taxi-home .drawer-brand-copy span{font-size:15px;font-weight:800;color:#fff}
    .taxi-home .drawer-brand-copy small{font-size:11px;font-weight:500;color:rgba(255,255,255,.48)}
    .taxi-home .drawer-close{
        width:40px;
        height:40px;
        flex:0 0 auto;
        color:#fff;
        border:1px solid rgba(255,255,255,.12);
        background:rgba(255,255,255,.075);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
        transition:transform .2s ease,background .2s ease;
    }
    .taxi-home .drawer-close:active{transform:scale(.92);background:rgba(255,255,255,.14)}
    .taxi-home .drawer-close svg{width:18px;height:18px}
    .taxi-home .drawer-body{
        padding:12px 13px 18px;
        gap:6px;
        overscroll-behavior:contain;
        scrollbar-width:none;
    }
    .taxi-home .drawer-body::-webkit-scrollbar{display:none}
    .taxi-home .drawer-group-label{
        padding:12px 10px 3px;
        color:rgba(255,255,255,.38);
        font-size:9px;
        line-height:1;
        font-weight:800;
        letter-spacing:.12em;
        text-transform:uppercase;
    }
    .taxi-home .drawer-group-label:first-child{padding-top:3px}
    .taxi-home .di{
        min-height:52px;
        gap:12px;
        padding:9px 12px;
        color:rgba(255,255,255,.84);
        border:1px solid transparent;
        border-radius:17px;
        font-size:13px;
        font-weight:600;
        background:rgba(255,255,255,.045);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }
    .taxi-home .di svg{
        width:34px;
        height:34px;
        padding:8px;
        color:#f7c948!important;
        overflow:visible;
        border:1px solid rgba(247,201,72,.14);
        border-radius:12px;
        background:rgba(247,201,72,.08);
    }
    .taxi-home .di:hover,
    .taxi-home .di:active{
        color:#fff;
        border-color:rgba(255,255,255,.1);
        background:rgba(255,255,255,.09);
    }
    .taxi-home .di.yellow{
        color:#16130a;
        border-color:rgba(255,255,255,.34);
        background:linear-gradient(135deg,#ffe27a,#f2bd28);
        box-shadow:0 12px 28px rgba(205,153,19,.18),inset 0 1px 0 rgba(255,255,255,.7);
    }
    .taxi-home .di.yellow svg{
        color:#15120a!important;
        border-color:rgba(0,0,0,.09);
        background:rgba(255,255,255,.3);
    }
    .taxi-home .di.yellow:hover,
    .taxi-home .di.yellow:active{color:#16130a;background:linear-gradient(135deg,#ffe98c,#f7c948)}
    .taxi-home .drawer-foot{
        padding:12px 13px max(13px,env(safe-area-inset-bottom));
        border-top:1px solid rgba(255,255,255,.1);
        background:rgba(0,0,0,.14);
    }
    .taxi-home .di-cab{
        min-height:54px;
        padding:13px 16px;
        color:#121212;
        border:1px solid rgba(255,255,255,.56);
        border-radius:18px;
        background:linear-gradient(135deg,#ffe27a,#f2bd28);
        box-shadow:0 14px 30px rgba(205,153,19,.2),inset 0 1px 0 rgba(255,255,255,.7);
    }
    .taxi-home .drawer-login-arrow{margin-left:auto}
    .taxi-home .hero{
        width:100%;
        min-height:auto;
        padding:92px 10px 10px;
        gap:12px;
        overflow:hidden;
    }
    .taxi-home .hero>*,
    .taxi-home .hero-left,
    .taxi-home .hero-right,
    .taxi-home .order-card,
    .taxi-home #step1,
    .taxi-home #step1>*{min-width:0;max-width:100%}
    .taxi-home .hero-left{
        padding:26px 20px;
        border-radius:30px;
        border-color:rgba(255,255,255,.12);
        background:linear-gradient(145deg,rgba(28,31,38,.67),rgba(8,10,14,.52));
        box-shadow:0 24px 60px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.12);
    }
    .taxi-home .hero-badge{
        margin-bottom:16px;
        font-size:11px;
        padding:7px 12px;
        color:#ffd75d;
        border-color:rgba(247,201,72,.25);
        background:rgba(247,201,72,.1);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .taxi-home .hero h1{
        color:#fff;
        font-size:clamp(52px,18vw,78px);
        letter-spacing:-3px;
        margin-bottom:20px;
    }
    .taxi-home .hero-sub{font-size:15px;margin-bottom:20px;color:rgba(255,255,255,.62)}
    .taxi-home .hero-stats{overflow-x:auto;gap:0;margin-bottom:18px}
    .taxi-home .stat{min-width:max-content;padding:0 16px}
    .taxi-home .stat:first-child{padding-left:0}
    .taxi-home .stat-num{font-size:16px;color:#fff}
    .taxi-home .stat-label{color:rgba(255,255,255,.45)}
    .taxi-home .stat-divider{background:rgba(255,255,255,.13)}
    .taxi-home .hero-feats{display:grid;grid-template-columns:1fr 1fr}
    .taxi-home .hero-feat{
        justify-content:center;
        padding:9px 10px;
        font-size:11px;
        color:rgba(255,255,255,.82);
        border-color:rgba(255,255,255,.12);
        background:rgba(255,255,255,.07);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
    }
    .taxi-home .order-card{
        padding:20px 14px;
        border-radius:30px;
        color:#fff;
        border-color:rgba(255,255,255,.14);
        background:linear-gradient(145deg,rgba(29,32,39,.83),rgba(8,10,14,.72));
        box-shadow:0 28px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.14);
    }
    .taxi-home .order-card-sub{color:rgba(255,255,255,.5)}
    .taxi-home #step1.active{display:flex;flex-direction:column}
    .taxi-home #step1>.field-group,
    .taxi-home .taxi-map-shell,
    .taxi-home .taxi-quote,
    .taxi-home #step1>.options-row,
    .taxi-home #step1>.time-row,
    .taxi-home #step1>.passengers-row,
    .taxi-home #step1>.btn-next{width:100%;margin:0}
    .taxi-home #step1>.route-divider{
        flex-direction:row;
        width:100%;
        height:auto;
        min-height:0;
    }
    .taxi-home #step1>.route-divider .route-line{width:auto;height:1px}
    .taxi-home .route-line{background:rgba(255,255,255,.13)}
    .taxi-home .field{
        color:#fff;
        border-color:rgba(255,255,255,.1);
        background:rgba(255,255,255,.07);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .taxi-home .field:focus-within{
        background:rgba(255,255,255,.11);
        border-color:rgba(247,201,72,.42);
        box-shadow:0 0 0 4px rgba(247,201,72,.08),inset 0 1px 0 rgba(255,255,255,.12);
    }
    .taxi-home .field-content label{color:rgba(255,255,255,.42)}
    .taxi-home .field-content select,
    .taxi-home .field-content input{color:#fff}
    .taxi-home .field-content select option{color:#111}
    .taxi-home #taxiOrderMap{height:310px;min-height:310px}
    .taxi-home .taxi-map-status{grid-template-columns:1fr}
    .taxi-home #step1>.btn-next{height:56px}
    .taxi-home .option-btn,
    .taxi-home .passengers-row{
        color:rgba(255,255,255,.72);
        border-color:rgba(255,255,255,.1);
        background:rgba(255,255,255,.07);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .taxi-home .options-row{gap:8px}
    .taxi-home .option-btn{
        min-height:50px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:17px;
        background:rgba(255,255,255,.065);
        color:rgba(255,255,255,.58);
    }
    .taxi-home .option-btn.active{
        color:#111;
        border-color:rgba(255,255,255,.55);
        background:linear-gradient(145deg,#ffe27a,#f3bd28);
        box-shadow:0 10px 24px rgba(221,166,24,.2),inset 0 1px 0 rgba(255,255,255,.65);
    }
    .taxi-home .passengers-row{
        min-height:72px;
        padding:10px 12px 10px 16px!important;
        border-radius:22px;
        background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.045));
    }
    .taxi-home .passengers-row>span{color:rgba(255,255,255,.72);font-size:14px}
    .taxi-home .passengers-btns{gap:7px}
    .taxi-home .pass-btn{
        width:44px;
        height:44px;
        border:1px solid rgba(255,255,255,.12);
        border-radius:15px;
        color:rgba(255,255,255,.78);
        background:rgba(255,255,255,.07);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
    }
    .taxi-home .pass-btn.active{
        color:#111;
        border-color:rgba(255,255,255,.58);
        background:linear-gradient(145deg,#ffe27a,#f3bd28);
        box-shadow:0 10px 22px rgba(221,166,24,.2),inset 0 1px 0 rgba(255,255,255,.7);
    }
    .taxi-home .taxi-map-shell .leaflet-control-zoom{
        overflow:hidden;
        border:1px solid rgba(255,255,255,.16)!important;
        border-radius:15px!important;
        background:rgba(12,14,18,.76);
        box-shadow:0 12px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12)!important;
        -webkit-backdrop-filter:blur(16px);
        backdrop-filter:blur(16px);
    }
    .taxi-home .taxi-map-shell .leaflet-control-zoom a{
        width:38px!important;
        height:38px!important;
        line-height:36px!important;
        color:#fff!important;
        border:0!important;
        border-bottom:1px solid rgba(255,255,255,.1)!important;
        background:rgba(255,255,255,.06)!important;
    }
    .taxi-home .taxi-map-shell .leaflet-control-zoom a:last-child{border-bottom:0!important}
    .taxi-home .taxi-map-shell .leaflet-control-zoom a:hover{background:rgba(247,201,72,.22)!important;color:#f7c948!important}
    .taxi-home .taxi-quote{
        color:#fff;
        border-color:rgba(247,201,72,.22);
        background:rgba(247,201,72,.1);
    }
    .taxi-home .taxi-quote span{color:rgba(255,255,255,.68)}
    .taxi-home .taxi-quote strong{color:#fff}
    .taxi-home .nav.scrolled{
        border-color:rgba(255,255,255,.14);
        background:linear-gradient(145deg,rgba(24,27,34,.88),rgba(8,10,14,.82));
        box-shadow:0 18px 50px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.14);
    }
    .taxi-home .how,
    .taxi-home .features,
    .taxi-home .app-soon,
    .taxi-home .driver,
    .taxi-home .contacts,
    .taxi-home .footer{
        width:calc(100% - 20px);
        border-radius:30px;
        margin:10px auto;
        color:#f8f8fa;
        border:1px solid rgba(255,255,255,.11);
        background:
            radial-gradient(circle at 92% 8%,rgba(247,201,72,.12),transparent 32%),
            linear-gradient(145deg,rgba(27,30,37,.88),rgba(7,9,13,.84));
        box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.1);
    }
    .taxi-home .features{padding:20px 10px}
    .taxi-home .features-inner{gap:10px}
    .taxi-home .feature{
        min-height:0;
        padding:22px 18px;
        border-radius:22px;
        color:#fff;
        border:1px solid rgba(255,255,255,.1);
        background:rgba(255,255,255,.06);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .taxi-home .feature h3{color:#fff;font-size:17px;margin-top:14px}
    .taxi-home .feature p{color:rgba(255,255,255,.52);font-size:13px;line-height:1.5}
    .taxi-home .feature-ico{width:48px;height:48px;border-radius:16px}
    .taxi-home .app-soon{padding:38px 20px}
    .taxi-home .app-soon-inner{gap:28px}
    .taxi-home .app-soon h2,
    .taxi-home .contacts h2{color:#fff}
    .taxi-home .app-soon p,
    .taxi-home .contacts-hours{color:rgba(255,255,255,.56)}
    .taxi-home .app-store-btn,
    .taxi-home .qr-box,
    .taxi-home .contact-item{
        color:#fff;
        border:1px solid rgba(255,255,255,.1);
        background:rgba(255,255,255,.07);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    }
    .taxi-home .asb-sub,
    .taxi-home .contact-item p,
    .taxi-home .ci-sub{color:rgba(255,255,255,.5)}
    .taxi-home .asb-name,
    .taxi-home .contact-item h3,
    .taxi-home .ci-title{color:#fff}
    .taxi-home .qr-box strong{color:#fff}
    .taxi-home .qr-box p{color:rgba(255,255,255,.55)}
    .taxi-home .qr-box a{color:#f7c948!important}
    .taxi-home .driver{padding:44px 26px}
    .taxi-home .driver-text{width:100%;min-width:0}
    .taxi-home .driver-text p{max-width:100%;line-height:1.6}
    .taxi-home .contacts{padding:38px 20px}
    .taxi-home .how-steps{grid-template-columns:1fr;gap:12px}
    .taxi-home .how-arrow{display:none}
    .taxi-home .how-step{min-height:0}
    .taxi-home .features-inner,
    .taxi-home .contacts-grid,
    .taxi-home .driver-inner{grid-template-columns:1fr}
    .taxi-home .driver-inner{gap:34px}
    .taxi-home .footer{margin-bottom:10px}

    .taxi-login{padding:12px}
    .taxi-login .card{padding:28px 20px;border-radius:28px}
    .taxi-login .logo-wrap{margin-bottom:16px}

    .taxi-cabinet .nav{top:8px}
    .taxi-cabinet .cabinet{width:100%;padding:92px 10px 24px}
    .taxi-cabinet .sidebar,
    .taxi-cabinet .content>.card{border-radius:24px}
}

/* Home booking surface polish — keep the full card visible below the floating header. */
@media(min-width:1041px){
    .taxi-home .hero{
        width:calc(100% - (var(--page-gutter) * 2));
        max-width:var(--content-wide);
        min-height:auto;
        grid-template-columns:minmax(520px,.98fr) minmax(760px,1.28fr);
        align-items:start;
        gap:clamp(28px,3vw,58px);
        padding-top:132px;
        padding-bottom:56px;
    }
    .taxi-home .hero-left{
        width:100%;
        max-width:none;
        min-height:650px;
        align-self:start;
        margin-top:28px;
        padding:clamp(38px,3.8vw,72px);
        color:#101216;
        background:
            radial-gradient(circle at 18% 12%,rgba(247,201,72,.2),transparent 34%),
            linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.58));
        box-shadow:0 28px 80px rgba(40,48,65,.12),inset 0 1px 0 rgba(255,255,255,.98);
    }
    .taxi-home .hero h1{color:#0d0e10}
    .taxi-home .hero-sub{color:#4f555e}
    .taxi-home .hero-right{
        width:100%;
        max-width:none;
        align-self:start;
        margin:0;
    }
    .taxi-home .order-card{
        color:#15171b;
        padding:clamp(28px,2.2vw,42px);
        background:
            linear-gradient(145deg,rgba(255,255,255,.94),rgba(247,250,253,.78));
        box-shadow:0 28px 86px rgba(32,39,54,.16),inset 0 1px 0 rgba(255,255,255,1);
    }
    .taxi-home .order-card h2,
    .taxi-home .order-card .field-content select,
    .taxi-home .order-card .field-content input,
    .taxi-home .order-card .option-btn,
    .taxi-home .order-card .passengers-row,
    .taxi-home .order-card .time-row,
    .taxi-home .order-card .btn-next{color:#15171b}
    .taxi-home .order-card-sub{color:#656b74}
    .taxi-home .order-live-badge{color:#18794e;background:rgba(225,250,237,.8)}
    .taxi-home .order-live-badge i{background:#22b86a;box-shadow:0 0 0 4px rgba(34,184,106,.14)}
}

@media(min-width:1041px) and (max-width:1600px){
    .taxi-home .hero{grid-template-columns:minmax(460px,.9fr) minmax(680px,1.1fr)}
    .taxi-home .hero-left{min-height:590px;padding:42px}
}

/* HOMEPAGE ALIGNMENT + APP / SUPPORT POLISH 20260727 */
.taxi-home .how-inner,
.taxi-home .features-inner,
.taxi-home .app-soon-inner,
.taxi-home .driver-inner,
.taxi-home .contacts-inner,
.taxi-home .footer-inner{
    width:100%;
    max-width:1540px;
    margin-left:auto;
    margin-right:auto;
}
.taxi-home .how,
.taxi-home .features,
.taxi-home .app-soon,
.taxi-home .driver,
.taxi-home .contacts,
.taxi-home .footer{
    margin-left:auto;
    margin-right:auto;
}
.taxi-home .driver-inner{align-items:stretch}
.taxi-home .driver-text,
.taxi-home .driver-visual{min-width:0}
.taxi-home .app-soon-inner{align-items:center}
.taxi-home .app-soon-text{min-width:0}
.taxi-home .app-soon-right{min-width:280px}
.taxi-home .support-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:14px;
    padding:10px 12px;
    border:1px solid rgba(247,201,72,.28);
    border-radius:14px;
    background:rgba(247,201,72,.12);
    color:#5c4a10;
    font-size:12px;
    line-height:1.35;
}
.taxi-home .support-dot{
    width:8px;height:8px;flex:0 0 8px;border-radius:50%;
    background:#25b96b;box-shadow:0 0 0 4px rgba(37,185,107,.14)
}
.taxi-home .support-note b{font-weight:850}
.taxi-home .app-store-btn{transition:transform .2s ease,box-shadow .2s ease}
.taxi-home .app-store-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(31,38,51,.16)}
@media(max-width:700px){
    .taxi-home .app-soon-right{min-width:0;width:100%}
    .taxi-home .support-note{color:#ffe082;background:rgba(247,201,72,.11)}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* DESKTOP BOOKING PANEL 3.0 */
@media(min-width:1041px){
    .taxi-home .hero{
        grid-template-columns:minmax(420px,.76fr) minmax(760px,1.24fr);
        gap:clamp(22px,2.7vw,58px);
    }
}
@media(min-width:820px){
    .taxi-home .hero-right{align-self:center;min-width:0}
    .taxi-home .order-card{
        padding:clamp(24px,2vw,34px);
        border-radius:38px;
        background:
            radial-gradient(circle at 96% 4%,rgba(114,172,255,.12),transparent 31%),
            linear-gradient(145deg,rgba(255,255,255,.9),rgba(247,249,253,.68));
        box-shadow:0 28px 80px rgba(30,39,56,.15),inset 0 1px 0 #fff;
    }
    .taxi-home .order-card::before{left:36px;right:36px}
    .taxi-home .order-card-heading{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:20px;
        margin-bottom:22px;
    }
    .taxi-home .order-card-heading>div:first-child{min-width:0}
    .taxi-home .order-kicker{
        display:block;
        margin-bottom:6px;
        color:#a27609;
        font-size:9px;
        line-height:1;
        letter-spacing:.13em;
        font-weight:900;
    }
    .taxi-home .order-card-heading h2{margin:0 0 5px;font-size:clamp(26px,2.2vw,38px);line-height:1.05}
    .taxi-home .order-card-heading .order-card-sub{display:block;margin:0;color:#737983;font-size:13px;line-height:1.35}
    .taxi-home .order-live-badge{
        min-height:38px;
        padding:0 13px;
        display:flex;
        align-items:center;
        gap:7px;
        flex:0 0 auto;
        color:#39664e;
        border:1px solid rgba(53,208,127,.25);
        border-radius:14px;
        background:rgba(53,208,127,.08);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
        font-size:10px;
        font-weight:800;
    }
    .taxi-home .order-live-badge i{width:8px;height:8px;border-radius:50%;background:#35d07f;box-shadow:0 0 0 5px rgba(53,208,127,.11)}

    .taxi-home #step1.active{
        display:grid;
        grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr);
        grid-template-rows:auto auto auto auto auto auto auto;
        column-gap:18px;
        row-gap:11px;
        align-items:start;
    }
    .taxi-home #step1>.field-group{grid-column:1;margin:0;display:grid;gap:9px}
    .taxi-home #step1>.field-group:first-of-type{grid-row:1}
    .taxi-home #step1>.route-divider{
        grid-column:1;
        grid-row:2;
        width:100%;
        height:34px;
        min-height:34px;
        margin:0;
        flex-direction:row;
        align-items:center;
    }
    .taxi-home #step1>.route-divider .route-line{width:auto;height:1px;min-height:1px;flex:1}
    .taxi-home #step1>.route-divider+.field-group{grid-row:3}
    .taxi-home #step1>.taxi-map-shell{
        grid-column:2;
        grid-row:1 / span 7;
        width:100%;
        min-width:0;
        min-height:100%;
        margin:0;
        padding:10px;
        display:flex;
        flex-direction:column;
        overflow:hidden;
        border:1px solid rgba(255,255,255,.9);
        border-radius:28px;
        background:linear-gradient(155deg,rgba(255,255,255,.84),rgba(235,239,246,.74));
        box-shadow:0 18px 48px rgba(28,38,57,.14),inset 0 1px 0 #fff;
    }
    .taxi-home .taxi-map-head{
        min-height:84px;
        padding:5px 6px 12px;
        color:#111;
    }
    .taxi-home .taxi-map-head strong{margin:0 0 7px;color:#111;font-size:16px;letter-spacing:-.2px}
    .taxi-home #taxiMapHint{
        min-height:32px;
        padding:8px 11px;
        color:#49390d;
        border-color:rgba(247,201,72,.38);
        background:rgba(247,201,72,.15);
        font-size:10px;
        box-shadow:none;
    }
    .taxi-home .taxi-point-switch{
        padding:4px;
        gap:4px;
        border:1px solid rgba(24,28,36,.08);
        background:rgba(28,32,40,.06);
    }
    .taxi-home .taxi-point-switch button{width:34px;height:34px;border-radius:10px;color:#626874;background:transparent}
    .taxi-home .taxi-point-switch button.active{color:#111;background:linear-gradient(145deg,#ffe27a,#f3bd28)}
    .taxi-home #taxiOrderMap{
        width:100%;
        height:clamp(400px,31vw,525px);
        min-height:400px;
        flex:1 1 auto;
        overflow:hidden;
        border:1px solid rgba(30,35,45,.1);
        border-radius:20px;
        box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
    }
    .taxi-home .taxi-map-status{
        grid-template-columns:1fr;
        gap:7px;
        padding:10px 0 0;
    }
    .taxi-home .taxi-map-status>div{
        min-height:42px;
        padding:9px 11px;
        color:#252932;
        border:1px solid rgba(28,33,44,.08);
        border-radius:14px;
        background:rgba(255,255,255,.66);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
        font-size:10px;
    }
    .taxi-home .taxi-map-status span{font-weight:700}
    .taxi-home .taxi-map-shell .leaflet-control-zoom{
        overflow:hidden;
        border:1px solid rgba(25,30,40,.12)!important;
        border-radius:13px!important;
        box-shadow:0 8px 22px rgba(25,31,44,.15)!important;
    }
    .taxi-home .taxi-map-shell .leaflet-control-zoom a{color:#111!important;background:rgba(255,255,255,.94)!important}

    .taxi-home #step1>.taxi-quote{
        grid-column:1;
        grid-row:4;
        min-height:66px;
        margin:0;
        padding:11px 13px;
        display:grid;
        grid-template-columns:1fr 1fr;
        align-items:center;
        border-radius:18px;
        color:#1b1d22;
        border:1px solid rgba(247,201,72,.34);
        background:linear-gradient(145deg,rgba(255,247,211,.88),rgba(255,252,239,.72));
    }
    .taxi-home #step1>.taxi-quote[hidden]{display:none!important}
    .taxi-home .taxi-quote span{font-size:9px;color:#7d6b37}
    .taxi-home .taxi-quote strong{font-size:17px;color:#17130a}
    .taxi-home #step1>.options-row{grid-column:1;grid-row:5;width:100%;margin:0;gap:8px}
    .taxi-home #step1>.time-row{grid-column:1;grid-row:6;width:100%;margin:0}
    .taxi-home #step1>.passengers-row{
        grid-column:1;
        grid-row:7;
        width:100%;
        min-height:60px;
        margin:0;
        padding:8px 9px 8px 15px;
        border-radius:18px;
    }
    .taxi-home #step1>.btn-next{
        grid-column:1;
        grid-row:8;
        width:100%;
        height:58px;
        margin:0;
        border-radius:18px;
        font-size:15px;
    }
    .taxi-home .field{min-height:62px;border-radius:18px}
    .taxi-home .taxi-address-field{min-height:58px}
    .taxi-home .option-btn{min-height:50px;border-radius:16px}
    .taxi-home .swap-btn{width:34px;height:34px;flex:0 0 34px;box-shadow:0 7px 16px rgba(21,24,31,.13)}
}
@media(min-width:820px) and (max-width:1180px){
    .taxi-home #step1.active{grid-template-columns:minmax(285px,.9fr) minmax(340px,1.1fr);column-gap:13px}
    .taxi-home #taxiOrderMap{height:420px;min-height:380px}
    .taxi-home .order-live-badge{display:none}
}
@media(min-width:701px) and (max-width:819px){
    .taxi-home .order-card-heading{margin-bottom:18px}
    .taxi-home .order-live-badge{display:none}
    .taxi-home #step1.active{display:flex;flex-direction:column;gap:10px}
    .taxi-home #step1>*{width:100%;margin:0}
    .taxi-home #step1>.route-divider{height:34px;min-height:34px;flex-direction:row}
    .taxi-home #step1>.route-divider .route-line{width:auto;height:1px;min-height:1px}
    .taxi-home #taxiOrderMap{height:420px;min-height:420px}
}


/* DESKTOP BOOKING PANEL 3.1 — balanced columns */
@media(min-width:820px){
    .taxi-home #step1.active{
        display:grid;
        grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr);
        grid-template-rows:auto;
        column-gap:18px;
        align-items:stretch;
    }
    .taxi-home #step1>.taxi-order-controls{
        grid-column:1;
        grid-row:1;
        min-width:0;
        display:flex;
        flex-direction:column;
        gap:10px;
    }
    .taxi-home .taxi-order-controls>.field-group{width:100%;margin:0;display:grid;gap:9px}
    .taxi-home .taxi-order-controls>.route-divider{
        width:100%;
        height:34px;
        min-height:34px;
        margin:0;
        flex-direction:row;
        align-items:center;
    }
    .taxi-home .taxi-order-controls>.route-divider .route-line{width:auto;height:1px;min-height:1px;flex:1}
    .taxi-home #step1>.taxi-map-shell{
        grid-column:2;
        grid-row:1;
        align-self:stretch;
        height:auto;
        min-height:0;
    }
    .taxi-home #taxiOrderMap{height:clamp(410px,27vw,470px);min-height:410px;flex:0 0 auto}
    .taxi-home .taxi-order-controls>.taxi-quote{
        width:100%;
        min-height:66px;
        margin:0;
        padding:11px 13px;
        display:grid;
        grid-template-columns:1fr 1fr;
        align-items:center;
        border-radius:18px;
        color:#1b1d22;
        border:1px solid rgba(247,201,72,.34);
        background:linear-gradient(145deg,rgba(255,247,211,.88),rgba(255,252,239,.72));
    }
    .taxi-home .taxi-order-controls>.taxi-quote[hidden]{display:none!important}
    .taxi-home .taxi-order-controls>.options-row,
    .taxi-home .taxi-order-controls>.time-row,
    .taxi-home .taxi-order-controls>.passengers-row,
    .taxi-home .taxi-order-controls>.btn-next{width:100%;margin:0}
    .taxi-home .taxi-order-controls>.options-row{gap:8px}
    .taxi-home .taxi-order-controls>.passengers-row{min-height:60px;padding:8px 9px 8px 15px;border-radius:18px}
    .taxi-home .taxi-order-controls>.btn-next{height:58px;border-radius:18px;font-size:15px}
}
@media(min-width:820px) and (max-width:1180px){
    .taxi-home #step1.active{grid-template-columns:minmax(285px,.9fr) minmax(340px,1.1fr);column-gap:13px}
    .taxi-home #taxiOrderMap{height:410px;min-height:390px}
}
@media(min-width:701px) and (max-width:819px){
    .taxi-home #step1.active{display:flex;flex-direction:column;gap:12px}
    .taxi-home #step1>.taxi-order-controls{width:100%;display:flex;flex-direction:column;gap:10px}
    .taxi-home .taxi-order-controls>*{width:100%;margin:0}
    .taxi-home .taxi-order-controls>.route-divider{height:34px;min-height:34px;flex-direction:row}
    .taxi-home .taxi-order-controls>.route-divider .route-line{width:auto;height:1px;min-height:1px}
}


/* BOOKING PANEL 3.2 — mobile wrapper compatibility */
@media(max-width:700px){
    .taxi-home #step1.active{
        display:flex;
        flex-direction:column;
        gap:12px;
        width:100%;
    }
    .taxi-home #step1>.taxi-order-controls{
        width:100%;
        min-width:0;
        display:flex;
        flex-direction:column;
        gap:10px;
    }
    .taxi-home .taxi-order-controls>.field-group{
        width:100%;
        margin:0;
        display:grid;
        gap:8px;
    }
    .taxi-home .taxi-order-controls>.route-divider{
        width:100%;
        height:34px;
        min-height:34px;
        margin:0;
        display:flex;
        flex-direction:row;
        align-items:center;
    }
    .taxi-home .taxi-order-controls>.route-divider .route-line{
        width:auto;
        height:1px;
        min-height:1px;
        flex:1;
    }
    .taxi-home .taxi-order-controls>.taxi-quote,
    .taxi-home .taxi-order-controls>.options-row,
    .taxi-home .taxi-order-controls>.time-row,
    .taxi-home .taxi-order-controls>.passengers-row,
    .taxi-home .taxi-order-controls>.btn-next{
        width:100%;
        margin:0;
    }
    .taxi-home .taxi-order-controls>.taxi-quote[hidden]{display:none!important}
    .taxi-home #step1>.taxi-map-shell{
        width:100%;
        min-width:0;
        margin:0;
    }
    .taxi-home .order-card-heading{
        align-items:flex-start;
        gap:10px;
    }
    .taxi-home .order-live-badge{display:none}
}

/* UNIFIED CENTER-PIN MAP 4.0 — site */
.taxi-home .taxi-map-stage{position:relative;overflow:hidden;border-radius:22px;background:#d9ddd4;isolation:isolate}
.taxi-home .taxi-map-stage #taxiOrderMap{position:relative;z-index:1;border-radius:22px}
.taxi-home .taxi-map-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.taxi-home .taxi-locate-btn{width:42px;height:42px;flex:0 0 42px;padding:0;display:grid;place-items:center;border:1px solid rgba(23,28,36,.11);border-radius:14px;background:rgba(255,255,255,.82);color:#111;box-shadow:0 8px 22px rgba(24,30,42,.13);cursor:pointer}
.taxi-home .taxi-locate-btn svg{width:20px;height:20px}.taxi-home .taxi-locate-btn:hover{color:#9b7000;background:#fff7d3}
.taxi-home .taxi-center-pin{position:absolute;z-index:650;left:50%;top:50%;width:54px;height:68px;transform:translate(-50%,-64px);pointer-events:none;filter:drop-shadow(0 12px 13px rgba(0,0,0,.3));transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.taxi-home .taxi-center-pin span{position:absolute;left:5px;top:0;width:44px;height:44px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;border:3px solid #fff;color:#111;font-size:0;font-weight:950}
.taxi-home .taxi-center-pin span::after{content:'A';font-size:15px;transform:rotate(45deg)}
.taxi-home .taxi-center-pin.b span::after{content:'B'}.taxi-home .taxi-center-pin.a span{background:#f7c948}.taxi-home .taxi-center-pin.b span{background:#ff6b35}
.taxi-home .taxi-center-pin i{position:absolute;left:25px;top:43px;width:4px;height:20px;border-radius:0 0 6px 6px;background:#f7c948}.taxi-home .taxi-center-pin.b i{background:#ff6b35}
.taxi-home .taxi-center-pin.moving{transform:translate(-50%,-76px) scale(1.04)}.taxi-home .taxi-center-pin.moving i{height:27px}
.taxi-home .taxi-map-busy{position:absolute;z-index:700;left:50%;bottom:13px;transform:translate(-50%,18px);opacity:0;display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid rgba(255,255,255,.75);border-radius:99px;background:rgba(16,18,22,.82);color:#fff;font-size:11px;font-weight:750;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:.2s;pointer-events:none;white-space:nowrap}
.taxi-home .taxi-map-busy.show{opacity:1;transform:translate(-50%,0)}.taxi-home .taxi-map-busy i{width:12px;height:12px;border:2px solid #777;border-top-color:#f7c948;border-radius:50%;animation:taxiAddressSpin .7s linear infinite}
.taxi-home .taxi-center-address{margin:9px 2px 0;padding:12px 14px;display:flex;flex-direction:column;gap:3px;border:1px solid rgba(24,29,39,.08);border-radius:16px;background:rgba(255,255,255,.7);box-shadow:inset 0 1px rgba(255,255,255,.9)}
.taxi-home .taxi-center-address span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#9b7000;font-weight:850}.taxi-home .taxi-center-address strong{font-size:13px;line-height:1.3;color:#16191f}

@media(min-width:820px){
    .taxi-home #step1.active{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;gap:14px!important;align-items:start!important}
    .taxi-home #step1>.taxi-map-shell{grid-column:1!important;grid-row:1!important;order:-1;width:100%!important;min-height:0!important;height:auto!important;padding:12px!important;border-radius:28px!important}
    .taxi-home #taxiOrderMap{height:clamp(360px,24vw,470px)!important;min-height:360px!important;flex:0 0 auto!important}
    .taxi-home .taxi-map-head{min-height:66px!important;padding:4px 5px 11px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
    .taxi-home .taxi-map-head strong{font-size:17px!important;color:#111!important}.taxi-home #taxiMapHint{font-size:11px!important;color:#49390d!important;background:rgba(247,201,72,.14)!important}
    .taxi-home #step1>.taxi-order-controls{grid-column:1!important;grid-row:2!important;width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr)!important;grid-template-rows:auto auto auto auto!important;gap:11px 12px!important;align-items:stretch!important}
    .taxi-home .taxi-order-controls>.field-group:first-child{grid-column:1!important;grid-row:1!important}
    .taxi-home .taxi-order-controls>.route-divider{grid-column:2!important;grid-row:1!important;width:44px!important;height:auto!important;min-height:130px!important;flex-direction:column!important;align-self:stretch!important;margin:0!important}
    .taxi-home .taxi-order-controls>.route-divider .route-line{width:1px!important;height:auto!important;min-height:24px!important;flex:1!important}
    .taxi-home .taxi-order-controls>.route-divider+.field-group{grid-column:3!important;grid-row:1!important}
    .taxi-home .taxi-order-controls>.taxi-quote{grid-column:1 / 4!important;grid-row:2!important;margin:0!important}
    .taxi-home .taxi-order-controls>.options-row{grid-column:1!important;grid-row:3!important;margin:0!important}
    .taxi-home .taxi-order-controls>.passengers-row{grid-column:2 / 4!important;grid-row:3!important;margin:0!important}
    .taxi-home .taxi-order-controls>.time-row{grid-column:1 / 4!important;grid-row:4!important;margin:0!important}
    .taxi-home .taxi-order-controls>.btn-next{grid-column:1 / 4!important;grid-row:5!important;width:100%!important;margin:0!important}
}
@media(max-width:819px){
    .taxi-home #step1.active{display:flex!important;flex-direction:column!important;gap:12px!important}
    .taxi-home #step1>.taxi-map-shell{order:-1!important;width:100%!important;margin:0!important;padding:8px!important;min-height:0!important}
    .taxi-home #taxiOrderMap{height:clamp(350px,52vh,510px)!important;min-height:350px!important}
    .taxi-home .taxi-map-head{min-height:62px!important;padding:5px 5px 9px!important;display:flex!important;align-items:center!important}
    .taxi-home .taxi-map-head strong{font-size:14px!important}.taxi-home #taxiMapHint{font-size:10px!important;padding:7px 8px!important}
    .taxi-home #step1>.taxi-order-controls{order:2;width:100%!important;display:flex!important;flex-direction:column!important;gap:10px!important}
}

/* TAXI CHECKOUT REVIEW + LIVE TRACKING */
.taxi-review-card{display:grid;gap:14px;padding:18px;margin:8px 0 16px;border:1px solid rgba(18,22,30,.1);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,249,252,.82));box-shadow:0 18px 42px rgba(24,30,42,.11),inset 0 1px #fff}
.taxi-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.taxi-review-head span,.taxi-review-head strong{display:block}.taxi-review-head span{font-size:11px;font-weight:800;color:#9b7000;text-transform:uppercase;letter-spacing:.08em}.taxi-review-head>div:first-child strong{font-size:14px;line-height:1.3;margin-top:5px;max-width:390px}.taxi-review-time{text-align:right;white-space:nowrap}.taxi-review-time span{color:#777!important;text-transform:none!important;letter-spacing:0!important}.taxi-review-time strong{font-size:28px;color:#111;margin-top:3px}
.taxi-tariff-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:13px;border:2px solid #f1c336;border-radius:18px;background:#fff}.taxi-car-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#fff6cc;font-size:24px}.taxi-tariff-row div:nth-child(2) strong,.taxi-tariff-row div:nth-child(2) span{display:block}.taxi-tariff-row div:nth-child(2) strong{font-size:15px}.taxi-tariff-row div:nth-child(2) span{font-size:11px;color:#777;margin-top:3px}.taxi-tariff-row>b{font-size:18px}
.taxi-payment-title{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#777}.taxi-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.taxi-payment-options button{min-height:51px;padding:9px 12px;border:1px solid #dfe1e6;border-radius:15px;background:#fff;color:#20232a;font:700 13px inherit;text-align:left;cursor:pointer}.taxi-payment-options button span{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:6px;border-radius:9px;background:#f1f2f5}.taxi-payment-options button small{display:block;margin:2px 0 0 36px;color:#999;font-weight:600}.taxi-payment-options button.active{border-color:#f1c336;box-shadow:0 0 0 2px rgba(241,195,54,.18)}
.taxi-promo-row{display:flex;gap:8px}.taxi-promo-row input{flex:1;min-width:0;height:48px;border:1px solid #dfe1e6;border-radius:14px;background:#fff;padding:0 13px;font:600 14px inherit;text-transform:uppercase}.taxi-promo-row button{border:0;border-radius:14px;background:#17191f;color:#fff;padding:0 16px;font-weight:800}.taxi-promo-result{padding:10px 12px;border-radius:13px;font-size:12px;font-weight:750}.taxi-promo-result.success{background:#eafaf0;color:#137b3a}.taxi-promo-result.error{background:#fff0ed;color:#b03d2b}
.live-tracking-map{height:270px;margin:14px 0;border-radius:20px;overflow:hidden;background:#d9ddd4;border:1px solid rgba(20,24,32,.1)}
@media(max-width:600px){.taxi-review-card{padding:14px;border-radius:20px}.taxi-review-head>div:first-child strong{font-size:12px;max-width:220px}.taxi-review-time strong{font-size:23px}.taxi-payment-options{grid-template-columns:1fr}.taxi-promo-row{flex-direction:column}.taxi-promo-row button{height:45px}.live-tracking-map{height:240px}}
/* Custom SVG vehicle markers: zero degrees points north, matching GPS heading. */
.taxi-vehicle-leaflet{background:transparent!important;border:0!important}
.taxi-vehicle-marker{width:48px;height:48px;display:grid;place-items:center;filter:drop-shadow(0 7px 7px rgba(0,0,0,.38));pointer-events:none}
.taxi-vehicle-marker .taxi-vehicle-svg{width:30px;height:44px;transform:rotate(var(--car-heading,0deg));transform-origin:50% 50%;transition:transform .35s ease}
.live-car-marker{width:48px;height:48px}
.taxi-car-icon .taxi-vehicle-svg{width:30px;height:44px;display:block}
.taxi-ui-icon{width:24px;height:24px;display:inline-block;vertical-align:-.18em}
.summary-icon{width:18px;height:18px;color:#f7c431;margin-right:4px}
.success-icon .taxi-ui-icon{width:34px;height:34px}
.app-soon-badge svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.driver-reg-success-icon{width:54px;height:54px;margin:0 auto 12px;color:#20ad61}
.driver-reg-success-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.taxi-payment-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.taxi-payment-heading>button{border:0;background:transparent;color:#9b7000;font-weight:850;font-size:12px;cursor:pointer;padding:7px 9px;border-radius:10px}.taxi-payment-heading>button:hover{background:#fff4ca}.taxi-price-editor{padding:12px;border-radius:16px;background:#fff8dd;border:1px solid #f2d77c}.taxi-price-editor>span,.taxi-price-editor>small{display:block}.taxi-price-editor>span{font-size:12px;font-weight:850;margin-bottom:9px}.taxi-price-editor>small{font-size:10px;color:#806c2b;margin-top:7px}.taxi-price-editor>div{display:flex;gap:7px}.taxi-price-editor button{height:38px;min-width:48px;border:0;border-radius:11px;background:#17191f;color:#fff;font-weight:850}.taxi-price-editor input{min-width:0;flex:1;border:1px solid #e3cd7f;border-radius:11px;padding:0 10px;font-weight:800}


/* EXPLICIT DESTINATION CONFIRM + REVIEW MAP */
.taxi-map-confirm{position:absolute;z-index:730;right:14px;bottom:14px;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.85);border-radius:14px;background:linear-gradient(135deg,#ff7a3d,#ff5b2c);color:#fff;font:850 13px inherit;box-shadow:0 12px 28px rgba(255,91,44,.32);cursor:pointer;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.taxi-map-confirm[hidden]{display:none!important}.taxi-map-confirm:disabled{opacity:.72;cursor:wait}
.taxi-review-map{height:190px;margin:-4px -4px 0;border-radius:19px;overflow:hidden;background:#d9ddd4;border:1px solid rgba(20,24,32,.1)}
.taxi-review-map .leaflet-control-attribution{font-size:8px}
@media(max-width:600px){.taxi-map-confirm{right:10px;bottom:10px;min-height:42px;padding:0 13px}.taxi-review-map{height:170px}}


/* ROUTE CONFIRMATION + MARKER ALIGNMENT 20260727 */
.taxi-home .taxi-center-pin span::after{position:absolute;inset:0;display:grid;place-items:center;line-height:1;transform:rotate(45deg);transform-origin:50% 50%;text-align:center}
.taxi-home .taxi-point-marker span{display:grid!important;place-items:center!important;line-height:1!important;text-align:center!important}
.taxi-home .taxi-point-marker .marker-a::before,.taxi-home .taxi-point-marker .marker-b::before{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;line-height:1!important;transform:rotate(45deg)!important;transform-origin:50% 50%!important}


/* MOBILE ROUTE HANDOFF + CHECKOUT LEGIBILITY 20260727 */
.taxi-home .btn-next.route-ready-pulse{animation:taxiRouteReady 1.15s ease}
@keyframes taxiRouteReady{0%,100%{transform:none}35%{transform:scale(1.025);box-shadow:0 0 0 7px rgba(247,201,72,.18),0 16px 36px rgba(217,163,20,.32)}}
@media(max-width:700px){
  .taxi-home #step2 .taxi-review-card{
    color:#f8f9fc;
    border-color:rgba(255,255,255,.13);
    background:linear-gradient(145deg,rgba(34,37,45,.97),rgba(15,17,22,.98));
    box-shadow:0 22px 52px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.09);
  }
  .taxi-home #step2 .taxi-review-head>div:first-child strong{color:#fff}
  .taxi-home #step2 .taxi-review-head span{color:#f7c948}
  .taxi-home #step2 .taxi-review-time span{color:rgba(255,255,255,.62)!important}
  .taxi-home #step2 .taxi-review-time strong{color:#fff}
  .taxi-home #step2 .taxi-tariff-row{
    color:#fff;border-color:rgba(247,201,72,.78);
    background:rgba(255,255,255,.065);
    box-shadow:inset 0 1px rgba(255,255,255,.08);
  }
  .taxi-home #step2 .taxi-tariff-row div:nth-child(2) span{color:rgba(255,255,255,.58)}
  .taxi-home #step2 .taxi-tariff-row>b{color:#f7c948}
  .taxi-home #step2 .taxi-car-icon{background:rgba(247,201,72,.14)}
  .taxi-home #step2 .taxi-payment-title{color:rgba(255,255,255,.65)}
  .taxi-home #step2 .taxi-payment-heading>button{color:#f7c948;background:rgba(247,201,72,.08)}
  .taxi-home #step2 .taxi-payment-options{grid-template-columns:1fr 1fr}
  .taxi-home #step2 .taxi-payment-options button{
    min-width:0;color:#f5f6f8;border-color:rgba(255,255,255,.13);
    background:rgba(255,255,255,.065);box-shadow:inset 0 1px rgba(255,255,255,.07);
  }
  .taxi-home #step2 .taxi-payment-options button span{color:#fff;background:rgba(255,255,255,.09)}
  .taxi-home #step2 .taxi-payment-options button small{color:rgba(255,255,255,.48)}
  .taxi-home #step2 .taxi-payment-options button.active{
    color:#17130a;border-color:#f7c948;background:linear-gradient(145deg,#ffe27b,#f2bd29);
    box-shadow:0 10px 24px rgba(210,157,19,.2),inset 0 1px rgba(255,255,255,.65);
  }
  .taxi-home #step2 .taxi-payment-options button.active span{color:#17130a;background:rgba(255,255,255,.38)}
  .taxi-home #step2 .taxi-payment-options button.active small{color:rgba(23,19,10,.6)}
  .taxi-home #step2 .taxi-promo-row{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;
  }
  .taxi-home #step2 .taxi-promo-row input{
    width:100%;height:50px;color:#fff;caret-color:#f7c948;
    border:1px solid rgba(255,255,255,.15);border-radius:15px;
    background:rgba(255,255,255,.07);padding:0 14px;font-size:13px;outline:none;
  }
  .taxi-home #step2 .taxi-promo-row input::placeholder{color:rgba(255,255,255,.42)}
  .taxi-home #step2 .taxi-promo-row input:focus{border-color:#f7c948;box-shadow:0 0 0 3px rgba(247,201,72,.12)}
  .taxi-home #step2 .taxi-promo-row button{
    min-width:112px;height:50px;padding:0 14px;color:#17130a;border-radius:15px;
    background:linear-gradient(145deg,#ffe27b,#f2bd29);box-shadow:inset 0 1px rgba(255,255,255,.64);
  }
  .taxi-home #step2 .taxi-promo-result{border:1px solid rgba(255,255,255,.08)}
  .taxi-home #step2 .taxi-promo-result.success{color:#83e7a7;background:rgba(49,181,98,.14)}
  .taxi-home #step2 .taxi-promo-result.error{color:#ff9a87;background:rgba(255,91,63,.13)}
  .taxi-home #step2 .taxi-price-editor{color:#fff;border-color:rgba(247,201,72,.3);background:rgba(247,201,72,.08)}
  .taxi-home #step2 .taxi-price-editor>small{color:rgba(255,225,133,.68)}
  .taxi-home #step2 .taxi-price-editor input{height:38px;color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}
}
@media(max-width:390px){
  .taxi-home #step2 .taxi-payment-options{grid-template-columns:1fr}
  .taxi-home #step2 .taxi-promo-row{grid-template-columns:1fr}
  .taxi-home #step2 .taxi-promo-row button{width:100%}
}


/* MOBILE ACTIVE TRIP CONTRAST 20260727 */
@media(max-width:700px){
  .taxi-home #step3 .order-summary{
    color:#f7f8fb;border:1px solid rgba(255,255,255,.12);border-radius:19px;
    background:rgba(255,255,255,.07);box-shadow:inset 0 1px rgba(255,255,255,.08);
  }
  .taxi-home #step3 .order-summary p{color:rgba(255,255,255,.76);margin:3px 0}
  .taxi-home #step3 .order-summary strong{color:#f7c948}
  .taxi-home #step3 .live-order-progress{gap:3px;margin:20px -4px}
  .taxi-home #step3 .live-progress-item{color:rgba(255,255,255,.52)}
  .taxi-home #step3 .live-progress-item small{color:inherit;font-size:8px;line-height:1.2}
  .taxi-home #step3 .live-progress-item:not(:first-child)::before{background:rgba(255,255,255,.22)}
  .taxi-home #step3 .live-progress-item span{color:#a9adb5;background:#323640;border:1px solid rgba(255,255,255,.1)}
  .taxi-home #step3 .live-progress-item.done{color:#f2f3f6}
  .taxi-home #step3 .live-progress-item.done span,
  .taxi-home #step3 .live-progress-item.done:not(:first-child)::before{color:#17130a;background:#f7c948;border-color:#f7c948}
  .taxi-home #step3 .live-driver-card{
    color:#fff;border-color:rgba(255,255,255,.12);border-radius:19px;
    background:rgba(255,255,255,.07);box-shadow:inset 0 1px rgba(255,255,255,.08);
  }
  .taxi-home #step3 .live-driver-card strong{color:#fff}
  .taxi-home #step3 .live-driver-card span{color:rgba(255,255,255,.58)}
  .taxi-home #step3 .live-driver-card a{color:#f7c948;text-decoration:underline;text-decoration-color:rgba(247,201,72,.42)}
  .taxi-home #step3 .live-driver-card em{color:#ffe17a}
  .taxi-home #step3 .live-offer-price{color:#f7c948}
  .taxi-home #step3 .live-cancel-btn{color:#ff9a87;border:1px solid rgba(255,119,93,.28);background:rgba(255,91,63,.12)}
  .taxi-home #step3>h3{color:#fff}
  .taxi-home #step3>p{color:rgba(255,255,255,.6)}
}

/* WEB TRIP FLOW FINISH 20260727-13 */
.taxi-home .taxi-web-schedule{grid-template-columns:1.35fr 1fr .8fr!important;gap:10px!important;width:100%}
.taxi-home .taxi-web-schedule .field{min-width:0;background:rgba(255,255,255,.92)}
.taxi-home .taxi-web-schedule select{color:#16191f!important;background:transparent!important;font-weight:750}
.taxi-home .taxi-car-icon img{display:block;width:48px;height:48px;object-fit:contain;transform:rotate(0deg)}
.taxi-vehicle-marker>img{display:block;width:42px;height:42px;object-fit:contain;transform:rotate(var(--car-heading,0deg));transform-origin:50% 50%;transition:transform .35s ease}
.live-driver-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-driver-title b{color:#a47700}.live-driver-card small{display:block;color:#777;margin-top:4px}
.live-progress-item span .taxi-ui-icon{width:16px;height:16px}
.web-post-trip{margin-top:18px;padding:20px;border:1px solid rgba(23,26,33,.11);border-radius:23px;background:rgba(255,255,255,.88);box-shadow:0 15px 35px rgba(25,30,40,.09)}
.web-post-trip-kicker{display:block;color:#a47700;font-size:10px;font-weight:900;letter-spacing:.1em}.web-post-trip h4{margin:5px 0 4px;font-size:23px}.web-post-trip>p{margin:0 0 13px;color:#72757d}.web-rating-stars{display:flex;gap:7px;margin:9px 0 16px}.web-rating-stars button{border:0;background:transparent;color:#d7d9de;font-size:31px;line-height:1;cursor:pointer;padding:0}.web-rating-stars button.active{color:#f7c431}.web-tip-label{display:flex;justify-content:space-between;font-size:12px;font-weight:850}.web-tip-label small{color:#8a8d94}.web-tip-options{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 12px}.web-tip-options button{border:1px solid #dfe1e6;border-radius:999px;background:#fff;color:#262a31;padding:9px 12px;font-weight:750;cursor:pointer}.web-tip-options button.active{border-color:#f3bf21;background:#fff5cf}.web-post-trip textarea{width:100%;min-height:75px;resize:vertical;border:1px solid #dfe1e6;border-radius:14px;background:#fff;color:#20232a;padding:11px;font:600 13px inherit}.web-review-submit{width:100%;height:49px;margin-top:10px;border:0;border-radius:15px;background:#17191f;color:#fff;font-weight:850;cursor:pointer}.web-review-message{color:#b03d2b!important;margin-top:8px!important}.web-review-thanks{padding:18px;text-align:center;color:#17723a;font-weight:850;background:#eafaf0;border-radius:16px}.web-review-thanks small{display:block;margin-top:7px;color:#57705f;font-weight:650}
@media(max-width:700px){.taxi-home .taxi-web-schedule{grid-template-columns:1fr 1fr!important}.taxi-home .taxi-web-schedule .schedule-day-field{grid-column:1 / 3}.taxi-home #step3 .web-post-trip{color:#fff;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.07)}.taxi-home #step3 .web-post-trip h4{color:#fff}.taxi-home #step3 .web-post-trip>p{color:rgba(255,255,255,.6)}.taxi-home #step3 .web-tip-options button{color:#fff;border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.07)}.taxi-home #step3 .web-tip-options button.active{color:#17130a;border-color:#f7c948;background:#f7c948}.taxi-home #step3 .web-post-trip textarea{color:#fff;border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.07)}.taxi-home #step3 .web-post-trip textarea::placeholder{color:rgba(255,255,255,.43)}.taxi-home #step3 .web-review-submit{color:#17130a;background:#f7c948}.taxi-home #step3 .live-driver-title b{color:#f7c948}.taxi-home #step3 .live-driver-card small{color:rgba(255,255,255,.53)}}
