:root{
    --fav10-blue:#0057D9;
    --fav10-dark:#002171;
    --fav10-bg:#F4F7FC;
    --fav10-text:#10213A;
    --fav10-muted:#64748B;
}

.jeeko-favorites10{
    margin-top:18px;
    padding:20px 16px;
    border-radius:28px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,35,70,.07);
}

.jeeko-favorites10-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
}

.jeeko-favorites10-head small{
    color:#0057D9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
}

.jeeko-favorites10-head h2{
    margin:3px 0 0;
    font-size:21px;
}

.jeeko-favorites10-head>button{
    padding:8px 11px;
    border:0;
    border-radius:999px;
    background:#EAF2FF;
    color:#002171;
    font-size:10px;
    font-weight:900;
}

.jeeko-favorites10-places{
    display:flex;
    gap:10px;
    margin-top:16px;
    overflow:auto;
    scroll-snap-type:x mandatory;
}

.jeeko-favorites10-place{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    flex:0 0 135px;
    min-height:126px;
    padding:13px;
    border:1px solid #E2E8F0;
    border-radius:18px;
    background:linear-gradient(145deg,#FFFFFF,#F6F9FD);
    color:var(--fav10-text);
    text-align:left;
    scroll-snap-align:start;
}

.jeeko-favorites10-place>span{
    display:grid;
    place-items:center;
    width:39px;
    height:39px;
    border-radius:13px;
    background:#EAF2FF;
    font-size:20px;
}

.jeeko-favorites10-place>b{
    margin-top:10px;
    font-size:12px;
}

.jeeko-favorites10-place>small{
    display:-webkit-box;
    overflow:hidden;
    margin-top:4px;
    color:#64748B;
    font-size:9px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.jeeko-favorites10-place>i{
    position:absolute;
    top:7px;
    right:7px;
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#F1F5F9;
    color:#64748B;
    font-size:15px;
    font-style:normal;
}

.jeeko-favorites10-place.add{
    align-items:center;
    justify-content:center;
    text-align:center;
}

.jeeko-favorites10-place.add>span{
    background:linear-gradient(145deg,#0057D9,#002171);
    color:#fff;
}

.jeeko-favorites10-subhead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:21px;
}

.jeeko-favorites10-subhead strong{
    font-size:15px;
}

.jeeko-favorites10-subhead small{
    color:#64748B;
    font-size:9px;
}

.jeeko-favorites10-routes{
    display:flex;
    gap:11px;
    margin-top:11px;
    overflow:auto;
    scroll-snap-type:x mandatory;
}

.jeeko-favorites10-route{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
    flex:0 0 88%;
    min-height:154px;
    padding:14px;
    border:1px solid #E2E8F0;
    border-radius:20px;
    background:#F8FAFC;
    scroll-snap-align:start;
}

.jeeko-favorites10-route>span{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:16px;
    background:#EAF2FF;
    font-size:24px;
}

.jeeko-favorites10-route>div{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.jeeko-favorites10-route small{
    color:#0057D9;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}

.jeeko-favorites10-route strong{
    display:-webkit-box;
    overflow:hidden;
    margin-top:3px;
    font-size:11px;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.jeeko-favorites10-route p{
    display:-webkit-box;
    overflow:hidden;
    margin:5px 0 0;
    color:#64748B;
    font-size:9px;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.jeeko-favorites10-route>a,
.jeeko-favorites10-route>button{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    margin-top:auto;
    border:0;
    border-radius:12px;
    background:linear-gradient(145deg,#0057D9,#002171);
    color:#fff;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
}

.jeeko-favorites10-route>button:disabled{
    background:#CBD5E1;
}

.jeeko-favorites10-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    flex:0 0 100%;
    padding:27px 18px;
    border-radius:19px;
    background:#F8FAFC;
    text-align:center;
}

.jeeko-favorites10-empty>span{
    font-size:34px;
}

.jeeko-favorites10-empty strong{
    margin-top:8px;
    font-size:13px;
}

.jeeko-favorites10-empty p{
    max-width:300px;
    margin:5px 0 0;
    color:#64748B;
    font-size:10px;
    line-height:1.5;
}

.jeeko-favorites10-skeleton{
    flex:0 0 88%;
    height:154px;
    border-radius:20px;
    background:linear-gradient(90deg,#EEF2F7 25%,#F8FAFC 38%,#EEF2F7 62%);
    background-size:400% 100%;
    animation:fav10Shimmer 1.3s infinite;
}

@keyframes fav10Shimmer{
    0%{background-position:100% 0}
    100%{background-position:0 0}
}

.jeeko-favorites10-modal{
    position:fixed;
    inset:0;
    z-index:100060;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    background:rgba(2,6,23,.58);
    backdrop-filter:blur(5px);
}

.jeeko-favorites10-modal[hidden]{
    display:none!important;
}

.jeeko-favorites10-modal>section{
    position:relative;
    width:min(620px,100%);
    padding:25px 20px calc(25px + env(safe-area-inset-bottom));
    border-radius:28px 28px 0 0;
    background:#fff;
    text-align:center;
    box-shadow:0 -20px 50px rgba(2,6,23,.30);
}

.jeeko-favorites10-modal section>span{
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    margin:0 auto;
    border-radius:21px;
    background:#EAF2FF;
    font-size:31px;
}

.jeeko-favorites10-modal h2{
    margin:14px 0 5px;
    font-size:22px;
}

.jeeko-favorites10-modal p{
    max-width:430px;
    margin:0 auto;
    color:#64748B;
    font-size:13px;
    line-height:1.5;
}

.jeeko-favorites10-modal label{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-top:14px;
    text-align:left;
}

.jeeko-favorites10-modal label small{
    color:#475569;
    font-size:10px;
    font-weight:800;
}

.jeeko-favorites10-modal input,
.jeeko-favorites10-modal textarea,
.jeeko-favorites10-modal select{
    width:100%;
    padding:11px 13px;
    border:1px solid #CBD5E1;
    border-radius:14px;
    font:inherit;
    outline:none;
}

.jeeko-favorites10-save{
    width:100%;
    min-height:52px;
    margin-top:16px;
    border:0;
    border-radius:15px;
    background:linear-gradient(135deg,#0057D9,#002171);
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.jeeko-favorites10-close{
    position:absolute;
    top:14px;
    right:15px;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#F1F5F9;
    color:#334155;
    font-size:27px;
}

.jeeko-favorites10-modal section>small{
    display:block;
    min-height:18px;
    margin-top:9px;
    color:#B91C1C;
}

@media(max-width:420px){
    .jeeko-favorites10{
        padding-left:13px;
        padding-right:13px;
        border-radius:24px;
    }
}
