#cityModal.modal,
#storesModal.modal{
    padding:18px!important;

    align-items:center!important;
    justify-content:center!important;

    background:rgba(0,0,0,.70)!important;

    backdrop-filter:blur(15px)!important;
    -webkit-backdrop-filter:blur(15px)!important;
}

#cityModal.city-modal-v25 .modal-box,
#storesModal.stores-modal-v25 .modal-box{
    position:relative!important;

    height:auto!important;
    min-height:0!important;

    margin:auto!important;

    padding:12px!important;

    overflow:hidden!important;

    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:24px!important;

    background:
        radial-gradient(
            circle at 92% 5%,
            rgba(239,27,36,.13),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            rgba(20,21,24,.94),
            rgba(5,5,6,.92)
        )!important;

    color:#fff!important;

    backdrop-filter:blur(28px) saturate(125%)!important;
    -webkit-backdrop-filter:blur(28px) saturate(125%)!important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        0 35px 100px rgba(0,0,0,.62)!important;
}

#cityModal.city-modal-v25 .modal-box{
    width:min(650px,calc(100vw - 36px))!important;
    max-width:650px!important;
    max-height:calc(100dvh - 36px)!important;
}

#storesModal.stores-modal-v25 .modal-box{
    width:min(920px,calc(100vw - 36px))!important;
    max-width:920px!important;
    max-height:calc(100dvh - 36px)!important;
}

#cityModal .modal-head,
#storesModal .modal-head{
    position:relative!important;

    min-height:118px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;

    gap:20px!important;

    margin:0!important;
    padding:20px 22px!important;

    overflow:hidden!important;

    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:17px!important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.085),
            rgba(255,255,255,.025)
        )!important;

    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
}

#cityModal .modal-head:after,
#storesModal .modal-head:after{
    content:"";

    position:absolute;

    right:-65px;
    top:-90px;

    width:240px;
    height:240px;

    border:1px solid rgba(239,27,36,.28);
    border-radius:50%;

    box-shadow:
        0 0 55px rgba(239,27,36,.07),
        inset 0 0 45px rgba(239,27,36,.05);

    pointer-events:none;
}

.city-modal-title-v25{
    position:relative;
    z-index:2;

    min-width:0;
}

.city-modal-title-v25>span{
    display:block;

    margin-bottom:8px;

    color:#ef242d!important;

    font-size:9px!important;
    font-weight:900!important;

    letter-spacing:.12em!important;
}

#cityModal .city-modal-title-v25 h3,
#storesModal .city-modal-title-v25 h3{
    margin:0!important;

    color:#fff!important;

    font-size:34px!important;
    line-height:1!important;
    font-weight:900!important;

    text-transform:uppercase!important;
}

.city-modal-title-v25 p{
    margin:8px 0 0!important;

    color:rgba(255,255,255,.48)!important;

    font-size:12px!important;
    line-height:1.35!important;
}

#cityModal .modal-close,
#storesModal .modal-close{
    position:relative!important;
    z-index:3!important;

    flex:0 0 48px!important;

    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;

    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;

    display:grid!important;
    place-items:center!important;

    padding:0!important;

    border:1px solid rgba(255,255,255,.13)!important;
    border-radius:50%!important;

    background:rgba(255,255,255,.055)!important;

    color:#fff!important;

    font-size:27px!important;
    line-height:1!important;

    transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease,
        box-shadow .22s ease!important;
}

#cityModal .modal-close:hover,
#storesModal .modal-close:hover{
    transform:rotate(7deg) scale(1.07)!important;

    border-color:rgba(239,27,36,.7)!important;

    background:rgba(239,27,36,.20)!important;

    box-shadow:
        0 0 24px rgba(239,27,36,.15)!important;
}

#cityModal .city-picker-v25{
    display:block!important;

    width:100%!important;
    height:auto!important;
    min-height:0!important;

    margin-top:12px!important;

    overflow:visible!important;
}

#cityModal .modal-list.city-list{
    display:grid!important;

    grid-template-columns:
        repeat(2,minmax(0,1fr))!important;

    gap:9px!important;

    width:100%!important;
    height:auto!important;

    max-height:min(430px,calc(100dvh - 210px))!important;

    padding:0!important;

    overflow-x:hidden!important;
    overflow-y:auto!important;
}

#cityModal .city-list button,
#storesModal .city-list button{
    position:relative!important;

    min-width:0!important;

    display:grid!important;

    grid-template-columns:
        32px
        minmax(0,1fr)
        26px!important;

    gap:10px!important;
    align-items:center!important;

    padding:13px 14px!important;

    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:13px!important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.018)
        )!important;

    color:#fff!important;

    text-align:left!important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035)!important;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease!important;
}

#cityModal .city-list button:hover,
#storesModal .city-list button:hover{
    transform:translateY(-2px)!important;

    border-color:rgba(255,255,255,.20)!important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.085),
            rgba(239,27,36,.035)
        )!important;

    box-shadow:
        0 10px 28px rgba(0,0,0,.25)!important;
}

#cityModal .city-list button.active,
#storesModal .city-list button.active{
    border-color:rgba(239,27,36,.65)!important;

    background:
        linear-gradient(
            135deg,
            rgba(239,27,36,.18),
            rgba(255,255,255,.025)
        )!important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 0 25px rgba(239,27,36,.08)!important;
}

#cityModal .city-list button b,
#storesModal .city-list button b{
    min-width:0!important;

    overflow:hidden!important;

    color:#fff!important;

    font-size:16px!important;
    line-height:1.1!important;
    font-weight:900!important;

    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

#cityModal .city-list button i,
#storesModal .city-list button i{
    display:grid!important;
    place-items:center!important;

    width:26px!important;
    height:26px!important;

    border-radius:50%!important;

    background:rgba(255,255,255,.05)!important;

    color:rgba(255,255,255,.42)!important;

    font-size:15px!important;
    font-style:normal!important;
}

#cityModal .city-list button.active i,
#storesModal .city-list button.active i{
    background:rgba(239,27,36,.18)!important;
    color:#ff454d!important;
}

.city-pin-v25{
    position:relative;

    width:22px;
    height:22px;

    display:block;

    border:1px solid rgba(255,255,255,.16);
    border-radius:8px;

    background:rgba(255,255,255,.04);
}

.city-pin-v25:before{
    content:"";

    position:absolute;

    left:50%;
    top:5px;

    width:7px;
    height:9px;

    border:2px solid currentColor;
    border-radius:7px 7px 8px 8px;

    color:#fff;

    transform:translateX(-50%);
}

.city-pin-v25:after{
    content:"";

    position:absolute;

    left:50%;
    top:9px;

    width:3px;
    height:3px;

    border-radius:50%;

    background:#ef242d;

    transform:translateX(-50%);
}

#storesModal .stores-picker-v25{
    display:grid!important;

    grid-template-columns:
        255px
        minmax(0,1fr)!important;

    gap:12px!important;

    min-height:410px!important;

    margin-top:12px!important;
}

#storesModal .stores-cities-v25,
#storesModal .stores-points-v25{
    min-width:0!important;

    padding:15px!important;

    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:16px!important;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        )!important;
}

#storesModal .stores-cities-v25{
    overflow:hidden!important;
}

#storesModal .modal-kicker{
    display:block!important;

    margin-bottom:12px!important;

    color:rgba(255,255,255,.42)!important;

    font-size:9px!important;
    font-weight:900!important;

    text-transform:uppercase!important;
    letter-spacing:.1em!important;
}

#storesModal .modal-list.city-list{
    display:grid!important;

    gap:7px!important;

    max-height:360px!important;

    padding:0 4px 0 0!important;

    overflow-x:hidden!important;
    overflow-y:auto!important;
}

#storesModal .city-list button{
    min-height:57px!important;
}

#storesModal .stores-points-v25{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    display:flex!important;
    flex-direction:column!important;

    overflow:hidden!important;
}

#storesModal .point-hint{
    margin:0 0 11px!important;

    color:rgba(255,255,255,.46)!important;

    font-size:12px!important;
    line-height:1.4!important;
}

#storesModal .point-list{
    display:none!important;
}

#storesModal .point-list.active{
    flex:1 1 auto!important;

    min-height:0!important;

    display:grid!important;

    grid-template-columns:
        repeat(2,minmax(0,1fr))!important;

    align-content:start!important;

    gap:8px!important;

    max-height:330px!important;

    padding:0 5px 4px 0!important;

    overflow-x:hidden!important;
    overflow-y:auto!important;
}

#storesModal .point-list button{
    min-width:0!important;
    min-height:105px!important;

    display:grid!important;

    grid-template-columns:
        38px
        minmax(0,1fr)
        28px!important;

    gap:10px!important;
    align-items:center!important;

    padding:13px!important;

    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:13px!important;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.018)
        )!important;

    color:#fff!important;

    text-align:left!important;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease!important;
}

#storesModal .point-list button:hover{
    transform:translateY(-2px)!important;

    border-color:rgba(239,27,36,.45)!important;

    background:
        linear-gradient(
            145deg,
            rgba(239,27,36,.12),
            rgba(255,255,255,.025)
        )!important;
}

.store-icon-v25{
    position:relative;

    width:38px;
    height:38px;

    display:block;

    border:1px solid rgba(255,255,255,.1);
    border-radius:11px;

    background:rgba(255,255,255,.045);
}

.store-icon-v25:before{
    content:"";

    position:absolute;

    left:9px;
    right:9px;
    top:11px;

    height:14px;

    border:2px solid rgba(255,255,255,.76);
    border-top:0;

    border-radius:0 0 4px 4px;
}

.store-icon-v25:after{
    content:"";

    position:absolute;

    left:8px;
    right:8px;
    top:8px;

    height:5px;

    border-radius:3px 3px 1px 1px;

    background:#ef242d;
}

.store-body-v25{
    min-width:0!important;

    display:grid!important;

    gap:7px!important;
}

#storesModal .point-list b{
    overflow:hidden!important;

    color:#fff!important;

    font-size:15px!important;
    line-height:1.12!important;
    font-weight:900!important;

    text-overflow:ellipsis!important;
}

#storesModal .point-list small{
    display:grid!important;

    gap:2px!important;

    color:rgba(255,255,255,.52)!important;

    font-size:10px!important;
    line-height:1.25!important;
}

#storesModal .point-list small span{
    color:rgba(255,255,255,.28)!important;

    font-size:8px!important;
    font-weight:800!important;

    text-transform:uppercase!important;
}

#storesModal .point-list button>i{
    display:grid!important;
    place-items:center!important;

    width:28px!important;
    height:28px!important;

    border-radius:50%!important;

    background:rgba(255,255,255,.055)!important;

    color:#ef242d!important;

    font-size:19px!important;
    font-style:normal!important;
}

#storesModal .point-empty{
    display:none!important;

    padding:18px!important;

    border:1px dashed rgba(255,255,255,.10)!important;
    border-radius:13px!important;

    color:rgba(255,255,255,.43)!important;

    text-align:center!important;
}

#storesModal .point-empty.active{
    display:block!important;
}

#cityModal .city-list,
#storesModal .city-list,
#storesModal .point-list.active{
    scrollbar-width:thin!important;
    scrollbar-color:
        rgba(239,27,36,.5)
        rgba(255,255,255,.03)!important;
}

#cityModal .city-list::-webkit-scrollbar,
#storesModal .city-list::-webkit-scrollbar,
#storesModal .point-list::-webkit-scrollbar{
    width:4px!important;
}

#cityModal .city-list::-webkit-scrollbar-thumb,
#storesModal .city-list::-webkit-scrollbar-thumb,
#storesModal .point-list::-webkit-scrollbar-thumb{
    border-radius:999px!important;
    background:rgba(239,27,36,.55)!important;
}

@media(max-width:700px){

    #cityModal.modal,
    #storesModal.modal{
        padding:
            calc(8px + env(safe-area-inset-top))
            8px
            calc(8px + env(safe-area-inset-bottom))!important;

        align-items:center!important;
    }

    #cityModal.city-modal-v25 .modal-box,
    #storesModal.stores-modal-v25 .modal-box{
        width:calc(100vw - 16px)!important;
        max-width:none!important;

        height:auto!important;

        max-height:
            calc(
                100dvh -
                16px -
                env(safe-area-inset-top) -
                env(safe-area-inset-bottom)
            )!important;

        padding:8px!important;

        border-radius:19px!important;

        overflow-y:auto!important;
    }

    #cityModal .modal-head,
    #storesModal .modal-head{
        min-height:96px!important;

        padding:16px!important;

        border-radius:14px!important;
    }

    #cityModal .city-modal-title-v25 h3,
    #storesModal .city-modal-title-v25 h3{
        font-size:25px!important;
    }

    .city-modal-title-v25 p{
        max-width:260px!important;

        font-size:10px!important;
    }

    #cityModal .modal-close,
    #storesModal .modal-close{
        flex-basis:42px!important;

        width:42px!important;
        min-width:42px!important;
        max-width:42px!important;

        height:42px!important;
        min-height:42px!important;
        max-height:42px!important;
    }

    #cityModal .modal-list.city-list{
        grid-template-columns:1fr!important;

        max-height:
            calc(100dvh - 145px)!important;
    }

    #cityModal .city-list button{
        min-height:58px!important;
    }

    #storesModal .stores-picker-v25{
        grid-template-columns:1fr!important;

        min-height:0!important;
    }

    #storesModal .stores-cities-v25,
    #storesModal .stores-points-v25{
        padding:11px!important;

        border-radius:13px!important;
    }

    #storesModal .modal-list.city-list{
        display:flex!important;

        gap:7px!important;

        max-height:none!important;

        padding:0 0 5px!important;

        overflow-x:auto!important;
        overflow-y:hidden!important;
    }

    #storesModal .city-list button{
        flex:0 0 auto!important;

        width:auto!important;
        min-width:145px!important;
        min-height:51px!important;

        grid-template-columns:
            27px
            minmax(0,1fr)!important;

        padding:9px 10px!important;
    }

    #storesModal .city-list button>i{
        display:none!important;
    }

    #storesModal .point-list.active{
        grid-template-columns:1fr!important;

        max-height:310px!important;
    }

    #storesModal .point-list button{
        min-height:88px!important;
    }
}

@media(max-width:380px){

    #cityModal .city-modal-title-v25 h3,
    #storesModal .city-modal-title-v25 h3{
        font-size:22px!important;
    }

    #storesModal .city-list button{
        min-width:132px!important;
    }
}
