.body{
    height:calc(100vh - 3rem);
    overflow:hidden;
}

.drs-layout{
    position:relative;
    display:flex;
    width:100%;
    height:100%;
}

#drs-map{
    flex:1;
    height:100%;
    background:#0f172a;
}

/* PC: 좌우 분할 */
.drs-sidebar{
    width:420px;
    height:100%;
    background:#111827;
    border-left:1px solid #1f2937;
    color:white;

    display:flex;
    flex-direction:column;
}
.drs-drag-handle{
    display:none;
}
.drs-sidebar-content{
    flex:1;
    overflow-y:auto;
    display:flex;
    flex-direction:column;
}

.footer{
    margin-top:auto;
    padding:1rem;
    border-top:1px solid #374151;
}
.footer-section-title{
    width:100%;
    padding:.75rem 0;

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

    background:none;
    border:none;

    color:#e5e7eb;
    font-size:.9rem;
    font-weight:800;
    text-align:left;

    cursor:pointer;
}
.footer-section-title::after{
    content:'+';
    color:var(--label-color);
    font-weight:900;
}
.footer-section.open .footer-section-title::after{
    content:'−';
}
.footer-link-list{
    height:0;
    overflow:hidden;
    transition:height .25s ease;
}
.footer-section.open .footer-link-list{
    height:auto;
    margin-bottom: 1rem;
}
.footer-section{
    border-bottom:1px solid #1f2937;
}

.footer-section h3{
    margin:0 0 .5rem;
    color:white;
    font-size:.9rem;
}

.footer-link{
    display:block;
    padding:.3rem 0;
    color:#9ca3af;
    text-decoration:none;
    font-size:.85rem;
}

.footer-link:hover{
    color:var(--label-color);
}
.footer-version{
    margin:1rem;
    color:#6b7280;
}
.footer-version p{
    text-align: center;
    font-size:.75rem;
}
.leaflet-control a{
    font-size: 0.8rem;
    font-family: "Pretendard Variable", Pretendard, -apple-system, Blin㎞acSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}
.floating-buttons{
    right : 435px;
}
.floating-btn.page-up{
    display: none !important;
}
.in-development{
    margin-bottom: 1rem;
}
/* 모바일: 아래에서 올라오는 바텀시트 */
@media (max-width:768px){
    .drs-layout{
        display:block;
    }

    #drs-map{
        width:100%;
        height:80%;
    }

    .drs-sidebar{
        position:absolute;
        left:0;
        bottom:0;

        width:100%;
        height:82%;

        border-left:none;
        border-top:1px solid #1f2937;

        border-radius:20px 20px 0 0;

        transform:translateY(62%);
        transition:transform .28s ease;

        z-index:500;
        touch-action:none;
    }

    .drs-sidebar.open{
        transform:translateY(0);
    }

    .drs-sidebar.peek{
        transform:translateY(62%);
    }

    .drs-drag-handle{
        display:flex;
        justify-content:center;
        align-items:center;

        height:2.2rem;
        flex-shrink:0;
        cursor:grab;
    }

    .drs-drag-handle::before{
        content:'';
        width:44px;
        height:5px;
        border-radius:999px;
        background:#4b5563;
    }

    .drs-sidebar-content{
        padding:1rem;
    }
}