/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* اطلاعات تماس و دکمه دانلود در فوتر */
.foot-contact[b-y31z60lrnf] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    max-width: 26rem;
    font-style: normal;
    line-height: 1.8;
}

.foot-contact a[b-y31z60lrnf] {
    color: inherit;
    text-decoration: none;
    align-self: flex-start;
}

.foot-contact a:hover[b-y31z60lrnf] { text-decoration: underline; }

.foot-links .foot-download[b-y31z60lrnf] {
    display: inline-block;
    padding: .3em 1.1em;
    border-radius: 999px;
    background: var(--sun, #ffc20e);
    color: #16181d;
    font-weight: 700;
    text-decoration: none;
}

.foot-links .foot-download:hover[b-y31z60lrnf] { filter: brightness(.95); }

/* دکمه ثبت‌نام راننده در هدر */
.drv-link[b-y31z60lrnf] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .4em 1.1em;
    border: 2px solid var(--sun, #ffc20e);
    border-radius: 999px;
    background: #fff7d6;
    color: #16181d;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s ease;
}

.drv-link:hover[b-y31z60lrnf] { background: var(--sun, #ffc20e); }
/* /Components/Pages/DriverRegister.razor.rz.scp.css */
/* صفحه ثبت‌نام راننده */
.dr[b-11t3q64ghs] { text-align: start; }
.dr h1[b-11t3q64ghs], .dr .sub[b-11t3q64ghs], .dr .auth-icon[b-11t3q64ghs] { text-align: center; }
.dr .auth-icon[b-11t3q64ghs] { margin-inline: auto; }

.three[b-11t3q64ghs] { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: .6rem; }

select[b-11t3q64ghs] {
    width: 100%;
    font: inherit;
    padding: .6em .7em;
    border: 2px solid var(--line, #e8e4d6);
    border-radius: 12px;
    background: #fff;
    color: inherit;
}
select:focus[b-11t3q64ghs] { outline: 0; border-color: var(--ink, #16181d); box-shadow: 0 0 0 4px rgba(255, 194, 14, .2); }

.slots[b-11t3q64ghs] { display: grid; gap: .7rem; margin-top: 1rem; }

.slot[b-11t3q64ghs] {
    position: relative;
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: .9rem 0 .2rem;
    padding: .7rem .8rem;
    border: 2px dashed var(--line, #e0dccb);
    border-radius: 16px;
    background: #fffdf6;
    transition: border-color .15s ease, background .15s ease;
}
.slots .slot[b-11t3q64ghs] { margin: 0; }
.slot.ok[b-11t3q64ghs] { border-style: solid; border-color: #1a9f5b; background: #f3fbf6; }
.slot.bad[b-11t3q64ghs] { border-color: #c62828; background: #fff5f5; }

.thumb[b-11t3q64ghs] {
    width: 56px; height: 56px;
    object-fit: cover;
    border-radius: 12px;
    background: #eee;
    flex: none;
}
.thumb[hidden][b-11t3q64ghs] { display: none; }

.slot-body[b-11t3q64ghs] { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.6; }
.slot-body b[b-11t3q64ghs] { font-size: .95rem; }
.slot-body small[b-11t3q64ghs] { color: var(--mute, #6a6f7a); font-size: .8rem; }
.slot-err[b-11t3q64ghs] { color: #c62828 !important; }

.slot-btn[b-11t3q64ghs] {
    flex: none;
    margin: 0 !important;
    padding: .35em 1.1em;
    border-radius: 999px;
    background: var(--ink, #16181d);
    color: #fff !important;
    font-size: .85rem;
    font-weight: 700 !important;
    cursor: pointer;
}
.slot-btn:hover[b-11t3q64ghs] { opacity: .88; }

.slot-x[b-11t3q64ghs] {
    flex: none;
    width: 28px; height: 28px;
    border: 0; border-radius: 50%;
    background: #eee;
    color: #555;
    cursor: pointer;
}
.slot-x:hover[b-11t3q64ghs] { background: #ffd9d9; color: #c62828; }

.sr[b-11t3q64ghs] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; }
.slot:focus-within[b-11t3q64ghs] { box-shadow: 0 0 0 4px rgba(255, 194, 14, .3); }

.back[b-11t3q64ghs] { display: block; margin: .8rem auto 0; }

@media (max-width: 480px) {
    .three[b-11t3q64ghs] { grid-template-columns: 1fr 1.3fr 1fr; }
}
@media (prefers-reduced-motion: reduce) { .slot[b-11t3q64ghs] { transition: none; } }
/* /Components/Pages/Home.razor.rz.scp.css */
/* بخش تماس با ما */
.contact[b-uhvbi89ir1] {
    max-width: 1100px;
    margin: auto;
    padding: 3rem clamp(1rem, 5vw, 4rem) 4rem;
    text-align: center;
}

.contact-grid[b-uhvbi89ir1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.contact-grid article[b-uhvbi89ir1] {
    background: #fff;
    border: 1px solid var(--line, #e8e4d6);
    border-radius: 18px;
    padding: 1.6rem 1.2rem;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .05);
    transition: transform .2s ease, box-shadow .2s ease;
}

.contact-grid article:hover[b-uhvbi89ir1] { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(0, 0, 0, .09); }

.contact-grid span[b-uhvbi89ir1] { font-size: 2.2rem; }
.contact-grid h4[b-uhvbi89ir1] { margin: .4rem 0 .3rem; }
.contact-grid p[b-uhvbi89ir1] { margin: 0; line-height: 1.9; }
.contact-grid a[b-uhvbi89ir1] { color: inherit; font-weight: 700; text-decoration: none; unicode-bidi: plaintext; }
.contact-grid a:hover[b-uhvbi89ir1] { text-decoration: underline; }

@media (prefers-reduced-motion: reduce) { .contact-grid article[b-uhvbi89ir1] { transition: none; } }
/* /Components/Pages/Trip.razor.rz.scp.css */

/* =========================================================
   SANDPAD MAP MARKERS (Leaflet markers)
   این کلاس‌ها توسط JS ساخته می‌شوند؛ پس باید سراسری باشند
   ========================================================= */
/* =========================================================
   SANDPAD PERSISTENT MAP POINTS
   ظاهر واقعی مبدأ و مقصد روی نقشه
   ========================================================= */

.sand-map-point-wrapper[b-7osxuy81or] {
    background: transparent !important;
    border: none !important;
    overflow: visible !important;
}

.sand-persistent-pin[b-7osxuy81or] {
    width: 90px;
    height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    pointer-events: none;
    user-select: none;
}

.sand-persistent-label[b-7osxuy81or] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 29px;
    padding: 0 13px;
    border-radius: 15px;
    background: var(--pin-color);
    color: #fff;
    font-family: "Vazirmatn", "IRANSans", "Tahoma", sans-serif;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 5px 16px rgba(0,0,0,.22), 0 1px 3px rgba(0,0,0,.16);
    animation: persistentPinIn-b-7osxuy81or .25s ease;
}

.sand-persistent-line[b-7osxuy81or] {
    width: 3px;
    height: 39px;
    margin-top: 4px;
    background: var(--pin-color);
    border-radius: 3px;
    box-shadow: 0 2px 6px rgba(0,0,0,.20);
}


/* مبدأ */
.sand-map-point-wrapper.mk-origin
.sand-persistent-label[b-7osxuy81or] {
    background: #ff641f;
}

.sand-map-point-wrapper.mk-origin
.sand-persistent-line[b-7osxuy81or] {
    background: #ff641f;
}


/* مقصد */
.sand-map-point-wrapper.mk-dest
.sand-persistent-label[b-7osxuy81or] {
    background: #111;
}

.sand-map-point-wrapper.mk-dest
.sand-persistent-line[b-7osxuy81or] {
    background: #111;
}


@keyframes persistentPinIn-b-7osxuy81or {

    from {
        opacity: 0;
        transform: translateY(-8px) scale(.85);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
/* آیکون راننده */
.sand-driver-wrapper[b-7osxuy81or] {
    background: transparent !important;
    border: none !important;
}

.sand-driver-marker[b-7osxuy81or] {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
    animation: pointDrop .3s ease;
}
/* =========================================================
   SANDPAD TRIP
   ========================================================= */

.sand-trip-page[b-7osxuy81or] {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    overflow: hidden;
    direction: rtl;
    font-family: "Vazirmatn", "IRANSans", "Tahoma", sans-serif;
    background: #f5f5f5;
    z-index: 1;
}

.sand-map[b-7osxuy81or] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* =========================================================
   CENTER PIN — فقط برچسب + خط عمودی
   ========================================================= */

.map-center-pin[b-7osxuy81or] {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -100%);
    z-index: 30;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    user-select: none;
    pointer-events: auto;
}

.pin-label[b-7osxuy81or] {
    background: #111;
    color: #fff;
    padding: 6px 13px;
    border-radius: 14px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 6px 18px rgba(0,0,0,.22);
}

.pin-origin .pin-label[b-7osxuy81or] {
    background: #ff641f;
}

.pin-line[b-7osxuy81or] {
    width: 3px;
    height: 40px;
    background: #111;
    border-radius: 2px;
    margin-top: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
}

.pin-origin .pin-line[b-7osxuy81or] {
    background: #ff641f;
}

/* =========================================================
   TOP CONTROL
   ========================================================= */

.top-map-control[b-7osxuy81or] {
    position: absolute;
    top: max(16px, env(safe-area-inset-top));
    right: 16px;
    left: 16px;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}

.top-title[b-7osxuy81or] {
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 22px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 4px 20px rgba(0,0,0,.14);
    pointer-events: auto;
}

.round-map-button[b-7osxuy81or] {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.96);
    box-shadow: 0 4px 18px rgba(0,0,0,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    cursor: pointer;
    pointer-events: auto;
    color: #222;
}

.location-glyph[b-7osxuy81or] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ff641f;
}

/* =========================================================
   BOTTOM SHEET
   ========================================================= */

.bottom-sheet[b-7osxuy81or] {
    position: absolute;
    z-index: 50;
    right: 10px;
    left: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 28px;
    box-shadow: 0 12px 48px rgba(0,0,0,.20), 0 2px 10px rgba(0,0,0,.08);
    padding: 10px 16px 16px;
    max-height: 72dvh;
    overflow: auto;
    animation: sheetIn-b-7osxuy81or .28s ease;
}

@keyframes sheetIn-b-7osxuy81or {
    from {
        transform: translateY(30px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.sheet-handle[b-7osxuy81or] {
    width: 42px;
    height: 5px;
    background: #d5d5d5;
    border-radius: 10px;
    margin: 2px auto 13px;
}

/* =========================================================
   SHEET MINIMIZE — با لمس همان خط افقی بالای کارت
   ========================================================= */

.sheet-handle-btn[b-7osxuy81or] {
    display: block;
    width: 100%;
    margin: 0 0 2px;
    padding: 10px 0 7px;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

    .sheet-handle-btn .sheet-handle[b-7osxuy81or] {
        display: block;
        margin: 0 auto;
        transition: background .18s ease, width .18s ease;
    }

    .sheet-handle-btn:hover .sheet-handle[b-7osxuy81or],
    .sheet-handle-btn:focus-visible .sheet-handle[b-7osxuy81or] {
        background: #b3b3b3;
        width: 56px;
    }

/* ── خلاصه‌ی یک‌خطی؛ فقط در حالت کوچک‌شده دیده می‌شود ── */

.sheet-mini[b-7osxuy81or] {
    display: none;
}

.mini-dot[b-7osxuy81or] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}

    .mini-dot.origin-dot[b-7osxuy81or] {
        background: #ff641f;
    }

    .mini-dot.destination-dot[b-7osxuy81or] {
        background: #111;
    }

    .mini-dot.cancel-dot[b-7osxuy81or] {
        background: #c62828;
    }

.mini-text[b-7osxuy81or] {
    font-size: 11.5px;
    font-weight: 800;
    color: #14161c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 0 1 auto;
}

.mini-arrow[b-7osxuy81or] {
    color: #b7b7b7;
    font-size: 12px;
    flex-shrink: 0;
}

.mini-plate[b-7osxuy81or] {
    font-size: 10.5px;
    font-weight: 800;
    color: #4c515c;
    background: #f2f2f2;
    border-radius: 8px;
    padding: 3px 8px;
    flex-shrink: 0;
}

.mini-eta[b-7osxuy81or] {
    font-size: 10.5px;
    font-weight: 800;
    color: #14161c;
    background: #fff3d4;
    border-radius: 8px;
    padding: 3px 8px;
    margin-inline-start: auto;
    flex-shrink: 0;
}

.mini-spinner[b-7osxuy81or] {
    width: 12px;
    height: 12px;
    border: 2px solid #e6e6e6;
    border-top-color: #ffb52e;
    border-radius: 50%;
    animation: spin-b-7osxuy81or .8s linear infinite;
    flex-shrink: 0;
}

/* ── حالت کوچک‌شده: فقط خط و خلاصه می‌مانند ── */

.bottom-sheet.collapsed[b-7osxuy81or] {
    padding: 8px 14px 10px;
}

    .bottom-sheet.collapsed .sheet-body[b-7osxuy81or] {
        display: none;
    }

    .bottom-sheet.collapsed .sheet-mini[b-7osxuy81or] {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 0 2px 2px;
    }

    .bottom-sheet.collapsed .sheet-handle[b-7osxuy81or] {
        background: #c4c4c4;
    }

/* =========================================================
   SHEET TITLE (clickable button)
   ========================================================= */

.sheet-title-button[b-7osxuy81or] {
    width: 100%;
    border: 0;
    background: #f7f7f7;
    border-radius: 18px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: right;
    font-family: inherit;
    cursor: pointer;
    transition: .15s;
    margin-bottom: 4px;
}

    .sheet-title-button:active[b-7osxuy81or] {
        background: #efeff0;
    }

.sheet-title-text[b-7osxuy81or] {
    flex: 1;
    min-width: 0;
}

    .sheet-title-text h2[b-7osxuy81or] {
        margin: 0 0 4px;
        font-size: 17px;
        font-weight: 900;
        color: #171717;
    }

.sheet-address[b-7osxuy81or] {
    margin: 0;
    font-size: 11px;
    color: #888;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.5;
}

.sheet-search-glyph[b-7osxuy81or] {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ff641f;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

/* =========================================================
   CONFIRM BUTTON
   ========================================================= */

.confirm-point-button[b-7osxuy81or] {
    width: 100%;
    height: 54px;
    margin-top: 11px;
    border: 0;
    border-radius: 17px;
    background: #111;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    cursor: pointer;
    animation: sheetIn-b-7osxuy81or .25s ease;
    transition: .15s;
}

    .confirm-point-button:active[b-7osxuy81or] {
        transform: scale(.98);
    }

.confirm-arrow[b-7osxuy81or] {
    font-size: 20px;
}

/* =========================================================
   SEARCH OVERLAY (FULL SCREEN)
   ========================================================= */

.search-overlay[b-7osxuy81or] {
    position: absolute;
    inset: 0;
    z-index: 1000;
    background: #fff;
    padding: max(16px, env(safe-area-inset-top)) 18px max(15px, env(safe-area-inset-bottom));
    overflow-y: auto;
    animation: searchOpen-b-7osxuy81or .22s ease;
}

@keyframes searchOpen-b-7osxuy81or {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.search-overlay-header[b-7osxuy81or] {
    height: 55px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

    .search-overlay-header h2[b-7osxuy81or] {
        flex: 1;
        margin: 0;
        font-size: 20px;
        font-weight: 900;
        text-align: right;
    }

.search-close[b-7osxuy81or] {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: #f0f1f2;
    font-size: 22px;
    cursor: pointer;
    color: #333;
}

.search-overlay-input[b-7osxuy81or] {
    height: 56px;
    border-radius: 16px;
    background: #eef0f1;
    display: flex;
    align-items: center;
    padding: 0 15px;
    gap: 10px;
    transition: .15s;
}

    .search-overlay-input:focus-within[b-7osxuy81or] {
        background: #e6e8ea;
        box-shadow: 0 0 0 2px rgba(255,100,31,.25);
    }

    .search-overlay-input input[b-7osxuy81or] {
        flex: 1;
        border: 0;
        outline: 0;
        background: transparent;
        font-family: inherit;
        font-size: 14px;
        min-width: 0;
        direction: rtl;
        color: #222;
    }

        .search-overlay-input input[b-7osxuy81or]::placeholder {
            color: #999;
        }

.search-clear[b-7osxuy81or] {
    border: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #b9bbbd;
    color: #fff;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* =========================================================
   CHIPS
   ========================================================= */

.quick-addresses[b-7osxuy81or] {
    display: flex;
    gap: 10px;
    padding: 14px 0 16px;
    border-bottom: 1px solid #ececec;
    flex-wrap: wrap;
}

.chip[b-7osxuy81or] {
    border: 0;
    background: #f4f5f6;
    border-radius: 22px;
    height: 44px;
    padding: 0 16px;
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
}

.chip-home[b-7osxuy81or] {
    background: #eef4ff;
    color: #1f6fdb;
}

.chip-add[b-7osxuy81or] {
    opacity: .75;
}

.chip-icon[b-7osxuy81or] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(0,0,0,.08);
    color: #1f6fdb;
}

/* =========================================================
   SEARCH RESULTS
   ========================================================= */

.search-results[b-7osxuy81or] {
    padding-top: 6px;
}

.search-result[b-7osxuy81or] {
    width: 100%;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 4px;
    text-align: right;
    cursor: pointer;
    font-family: inherit;
    border-bottom: 1px solid #f4f4f4;
}

    .search-result:active[b-7osxuy81or] {
        background: #fafafa;
    }

.result-icon[b-7osxuy81or] {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    background: #f3f4f4;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #444;
}

.result-text[b-7osxuy81or] {
    flex: 1;
    min-width: 0;
}

    .result-text strong[b-7osxuy81or] {
        display: block;
        font-size: 13px;
        font-weight: 800;
        color: #333;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .result-text small[b-7osxuy81or] {
        display: block;
        margin-top: 4px;
        font-size: 11px;
        color: #999;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

.search-empty[b-7osxuy81or] {
    padding: 40px 10px;
    text-align: center;
    color: #999;
    font-size: 12px;
}

/* =========================================================
   REVIEW
   ========================================================= */

.review-sheet[b-7osxuy81or] {
    max-height: 68dvh;
}

.review-header[b-7osxuy81or] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

    .review-header small[b-7osxuy81or],
    .driver-success small[b-7osxuy81or],
    .searching-header small[b-7osxuy81or] {
        color: #999;
        font-size: 10px;
    }

    .review-header h2[b-7osxuy81or],
    .driver-success h2[b-7osxuy81or],
    .searching-header h2[b-7osxuy81or] {
        margin: 3px 0 0;
        font-size: 18px;
        font-weight: 900;
    }

.mini-close[b-7osxuy81or] {
    border: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f1f1;
    font-size: 20px;
    cursor: pointer;
    color: #333;
}

/* =========================================================
   ROUTE CARD
   ========================================================= */

.route-card[b-7osxuy81or] {
    background: #f7f7f7;
    border-radius: 17px;
    padding: 13px 14px;
}

.route-row[b-7osxuy81or] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.route-dot[b-7osxuy81or] {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    flex-shrink: 0;
}

.origin-dot[b-7osxuy81or] {
    background: #ff641f;
}

.destination-dot[b-7osxuy81or] {
    background: #151515;
}

.route-info[b-7osxuy81or] {
    min-width: 0;
    flex: 1;
}

    .route-info small[b-7osxuy81or] {
        color: #999;
        display: block;
        font-size: 10px;
    }

    .route-info strong[b-7osxuy81or] {
        display: block;
        font-size: 12px;
        margin-top: 2px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.route-line[b-7osxuy81or] {
    width: 2px;
    height: 16px;
    background: #d4d4d4;
    margin: 3px 6px;
}

/* =========================================================
   PRICE
   ========================================================= */

.price-card[b-7osxuy81or] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 11px;
    padding: 13px 15px;
    border-radius: 16px;
    background: #fff7f2;
}

    .price-card span[b-7osxuy81or] {
        font-size: 11px;
        color: #777;
    }

    .price-card strong[b-7osxuy81or] {
        font-size: 17px;
        color: #222;
    }

    .price-card small[b-7osxuy81or] {
        font-size: 9px;
        color: #888;
    }

/* =========================================================
   REQUEST BUTTONS
   ========================================================= */

.request-row[b-7osxuy81or] {
    display: flex;
    gap: 8px;
    margin-top: 11px;
}

.request-main-button[b-7osxuy81or] {
    flex: 1;
    height: 54px;
    border: 0;
    border-radius: 17px;
    background: #ff641f;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    cursor: pointer;
    box-shadow: 0 7px 20px rgba(255,100,31,.25);
    transition: .15s;
}

    .request-main-button:active:not(:disabled)[b-7osxuy81or] {
        transform: scale(.98);
    }

    .request-main-button:disabled[b-7osxuy81or] {
        opacity: .65;
        cursor: default;
    }

.button-arrow[b-7osxuy81or] {
    font-size: 20px;
}

.request-small-button[b-7osxuy81or] {
    width: 54px;
    height: 54px;
    border: 0;
    border-radius: 17px;
    background: #ededed;
    color: #999;
    font-size: 18px;
    cursor: not-allowed;
}

.button-spinner[b-7osxuy81or] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-7osxuy81or .7s linear infinite;
}

@keyframes spin-b-7osxuy81or {
    to {
        transform: rotate(360deg);
    }
}

/* =========================================================
   SEARCHING
   ========================================================= */

.searching-sheet[b-7osxuy81or] {
    padding-bottom: 15px;
}

.searching-header[b-7osxuy81or] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 13px;
}

.searching-spinner[b-7osxuy81or] {
    width: 43px;
    height: 43px;
    border-radius: 50%;
    border: 4px solid #ffe0d1;
    border-top-color: #ff641f;
    animation: spin-b-7osxuy81or .8s linear infinite;
    flex-shrink: 0;
}

.compact-route[b-7osxuy81or] {
    background: #f7f7f7;
    border-radius: 15px;
    padding: 9px 12px;
}

.compact-route-item[b-7osxuy81or] {
    display: flex;
    align-items: center;
    gap: 9px;
    height: 26px;
    font-size: 11px;
    color: #555;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compact-dot[b-7osxuy81or] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* =========================================================
   AD
   ========================================================= */

.trip-ad[b-7osxuy81or] {
    position: relative;
    width: 100%;
    height: 120px;
    margin-top: 11px;
    border-radius: 17px;
    overflow: hidden;
    background: linear-gradient(135deg, #ff6a22, #ff8c3b);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .trip-ad img[b-7osxuy81or] {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: relative;
        z-index: 1;
    }

.trip-ad-placeholder[b-7osxuy81or] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 22px;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.7;
    z-index: 0;
    animation: adGlow-b-7osxuy81or 2.6s ease-in-out infinite;
    text-shadow: 0 2px 8px rgba(0,0,0,.18);
}

@keyframes adGlow-b-7osxuy81or {
    0%, 100% {
        opacity: .82;
        transform: scale(1);
        letter-spacing: 0;
    }

    50% {
        opacity: 1;
        transform: scale(1.04);
        letter-spacing: .3px;
    }
}
/* =========================================================
   SEARCHING PRICE
   ========================================================= */

.searching-price[b-7osxuy81or] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    padding: 12px 15px;
    border-top: 1px solid #eee;
}

    .searching-price span[b-7osxuy81or] {
        color: #777;
        font-size: 11px;
    }

    .searching-price strong[b-7osxuy81or] {
        font-size: 18px;
    }

    .searching-price small[b-7osxuy81or] {
        color: #999;
        font-size: 9px;
    }

.search-status[b-7osxuy81or] {
    text-align: center;
    color: #999;
    font-size: 10px;
    margin-top: 6px;
}

/* =========================================================
   DRIVER
   ========================================================= */

.driver-success[b-7osxuy81or] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.success-check[b-7osxuy81or] {
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: #e8f8ed;
    color: #18a957;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 900;
    flex-shrink: 0;
}

.driver-card[b-7osxuy81or] {
    margin-top: 15px;
    background: #f7f7f7;
    border-radius: 18px;
    padding: 15px;
}

.driver-main[b-7osxuy81or] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.driver-avatar[b-7osxuy81or] {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.driver-main strong[b-7osxuy81or] {
    display: block;
    font-size: 14px;
}

.driver-main span[b-7osxuy81or] {
    display: block;
    color: #888;
    font-size: 10px;
    margin-top: 3px;
}

.driver-details[b-7osxuy81or] {
    display: flex;
    gap: 30px;
    margin-top: 15px;
}

    .driver-details small[b-7osxuy81or] {
        display: block;
        color: #999;
        font-size: 9px;
    }

    .driver-details strong[b-7osxuy81or] {
        display: block;
        margin-top: 3px;
        font-size: 12px;
    }

.call-driver[b-7osxuy81or] {
    display: block;
    text-align: center;
    margin-top: 13px;
    padding: 12px;
    border-radius: 13px;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
}

/* =========================================================
   ERRORS
   ========================================================= */

.error-box[b-7osxuy81or],
.floating-error[b-7osxuy81or] {
    color: #c62828;
    background: #ffeded;
    border-radius: 12px;
    padding: 10px;
    font-size: 11px;
    margin-top: 10px;
    text-align: center;
}

.floating-error[b-7osxuy81or] {
    position: absolute;
    z-index: 100;
    left: 20px;
    right: 20px;
    bottom: 20px;
}

/* =========================================================
   DESKTOP WIDTH
   ========================================================= */

@media (min-width: 700px) {

    .bottom-sheet[b-7osxuy81or] {
        width: 430px;
        right: 50%;
        left: auto;
        transform: translateX(50%);
    }

    .top-map-control[b-7osxuy81or] {
        max-width: 430px;
        margin: auto;
        right: 0;
        left: 0;
    }

    .search-overlay[b-7osxuy81or] {
        width: 430px;
        right: 50%;
        left: auto;
        transform: translateX(50%);
    }
}

/* =========================================================
   TRIP STATUS / CANCEL / NEW TRIP
   ========================================================= */

.trip-status[b-7osxuy81or] {
    text-align: center;
    color: #555;
    font-size: 11px;
    margin-top: 12px;
    background: #f2f6ff;
    border-radius: 12px;
    padding: 10px;
}

.btn-cancel-trip[b-7osxuy81or] {
    display: block;
    width: 100%;
    margin-top: 13px;
    padding: 12px;
    border-radius: 13px;
    border: 1.5px solid #f0c9c9;
    background: #fff5f5;
    color: #c62828;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    font-family: inherit;
}

    .btn-cancel-trip:disabled[b-7osxuy81or] {
        opacity: .6;
        cursor: not-allowed;
    }

.btn-primary-action[b-7osxuy81or] {
    display: block;
    width: 100%;
    margin-top: 13px;
    padding: 13px;
    border-radius: 13px;
    border: 0;
    background: #111;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    font-family: inherit;
}

.cancel-x[b-7osxuy81or] {
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: #ffeded;
    color: #c62828;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
    flex-shrink: 0;
}

/* =========================================================
   RATING — ثبت نظر مسافر پس از پایان سفر
   ========================================================= */

.rating-overlay[b-7osxuy81or] {
    position: absolute;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    background: linear-gradient(180deg, rgba(11,21,38,.28) 0%, rgba(11,21,38,.64) 100%);
    animation: ratingFade-b-7osxuy81or .26s ease;
}

@keyframes ratingFade-b-7osxuy81or {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.rating-card[b-7osxuy81or] {
    width: 100%;
    max-width: 430px;
    box-sizing: border-box;
    background: #ffffff;
    border-radius: 26px;
    padding: 22px 18px 16px;
    box-shadow: 0 26px 60px rgba(11,21,38,.34);
    animation: ratingRise-b-7osxuy81or .34s cubic-bezier(.22,1,.36,1);
}

@keyframes ratingRise-b-7osxuy81or {
    from {
        transform: translateY(34px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.rating-hero[b-7osxuy81or] {
    text-align: center;
}

.rating-hero-icon[b-7osxuy81or] {
    width: 62px;
    height: 62px;
    margin: 0 auto 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    background: radial-gradient(circle at 34% 26%, #fff7e2 0%, #ffd57e 46%, #ffb52e 100%);
    box-shadow: 0 10px 26px rgba(255,181,46,.42);
}

.rating-hero small[b-7osxuy81or] {
    color: #9a9a9a;
    font-size: 10.5px;
}

.rating-hero h2[b-7osxuy81or] {
    margin: 5px 0 0;
    font-size: 19px;
    font-weight: 900;
    color: #14161c;
}

.rating-price[b-7osxuy81or] {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 12px;
    padding: 8px 16px;
    border-radius: 14px;
    background: #f4f7ff;
    border: 1px solid #e6ecfb;
}

    .rating-price span[b-7osxuy81or] {
        color: #7b8290;
        font-size: 10.5px;
    }

    .rating-price strong[b-7osxuy81or] {
        font-size: 18px;
        font-weight: 900;
        color: #14161c;
    }

    .rating-price small[b-7osxuy81or] {
        color: #9aa0ab;
        font-size: 9px;
        font-weight: 700;
    }

.rating-stars[b-7osxuy81or] {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin: 18px 0 6px;
}

.rating-star[b-7osxuy81or] {
    border: 0;
    background: transparent;
    padding: 2px 4px;
    font-size: 34px;
    line-height: 1;
    color: #e3e5ea;
    cursor: pointer;
    font-family: inherit;
    transition: transform .16s ease, color .16s ease;
}

    .rating-star:hover:not(:disabled)[b-7osxuy81or] {
        transform: translateY(-3px) scale(1.06);
    }

    .rating-star.on[b-7osxuy81or] {
        color: #ffc20e;
        text-shadow: 0 6px 16px rgba(255,194,14,.45);
        transform: scale(1.06);
    }

    .rating-star:disabled[b-7osxuy81or] {
        cursor: default;
        opacity: .75;
    }

.rating-caption[b-7osxuy81or] {
    text-align: center;
    color: #6a6f7a;
    font-size: 11.5px;
    font-weight: 700;
    min-height: 17px;
    margin-bottom: 14px;
}

.rating-text[b-7osxuy81or] {
    width: 100%;
    box-sizing: border-box;
    resize: none;
    border: 1.5px solid #e9e5d8;
    border-radius: 16px;
    padding: 12px 13px;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.9;
    color: #14161c;
    background: #fbfaf6;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

    .rating-text:focus[b-7osxuy81or] {
        border-color: #ffc20e;
        background: #ffffff;
        box-shadow: 0 0 0 4px rgba(255,194,14,.16);
    }

.rating-submit[b-7osxuy81or] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 14px;
    padding: 14px;
    border: 0;
    border-radius: 15px;
    background: linear-gradient(135deg, #ffd23f 0%, #ffb52e 100%);
    color: #14161c;
    font-family: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(255,181,46,.38);
    transition: transform .16s ease, box-shadow .16s ease;
}

    .rating-submit:hover:not(:disabled)[b-7osxuy81or] {
        transform: translateY(-2px);
    }

    .rating-submit:disabled[b-7osxuy81or] {
        opacity: .65;
        cursor: not-allowed;
        box-shadow: none;
    }

    .rating-submit .button-spinner[b-7osxuy81or] {
        width: 16px;
        height: 16px;
        border-color: rgba(20,22,28,.25);
        border-top-color: #14161c;
    }

.rating-skip[b-7osxuy81or] {
    display: block;
    width: 100%;
    margin-top: 8px;
    padding: 10px;
    border: 0;
    background: transparent;
    color: #9aa0ab;
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
}

    .rating-skip:disabled[b-7osxuy81or] {
        opacity: .55;
        cursor: not-allowed;
    }

.rating-done[b-7osxuy81or] {
    text-align: center;
    padding: 18px 0 10px;
}

.rating-done-check[b-7osxuy81or] {
    width: 54px;
    height: 54px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: #e8f8ed;
    color: #18a957;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 900;
    animation: ratingRise-b-7osxuy81or .3s ease;
}

.rating-done p[b-7osxuy81or] {
    margin: 0;
    color: #4c515c;
    font-size: 12.5px;
    font-weight: 700;
}
