#FAV_SECTION {display: none; border-top: 1px solid #e2e6ea; border-bottom: 1px solid #e2e6ea; background: #fff;}
#FAV_SECTION.show {display: block;}
#FAV_HEAD {display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; cursor: pointer; user-select: none; font-size: 13px; font-weight: 700; color: var(--c-primary);}
#FAV_HEAD .fav-arrow {font-size: 11px; color: #888; transition: transform .15s;}
#FAV_SECTION.collapsed #FAV_HEAD .fav-arrow {transform: rotate(-90deg);}
#FAV_LIST {list-style: none; margin: 0; padding: 0; max-height: 240px; overflow-y: auto;}
#FAV_SECTION.collapsed #FAV_LIST {display: none;}
#FAV_LIST li {padding: 10px 16px; border-top: 1px solid #f0f2f5; cursor: pointer; font-size: 13px; color: #333; display: flex; flex-direction: column; gap: 2px; transition: background .15s;}
#FAV_LIST li:hover {background: var(--c-primary-soft);}
#FAV_LIST li .fav-name {font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
#FAV_LIST li .fav-addr {font-size: 11px; color: #888; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
#FAV_LIST li.fav-empty {color: #999; cursor: default; text-align: center; padding: 24px 16px;}
#FAV_LIST li.fav-empty:hover {background: transparent;}
#SIDEBAR {width:300px;min-height:0;background:#fff;border-right:1px solid #ddd;display:flex;flex-direction:column;flex-shrink:0;}
.marker-wrap.selected .marker-pin {transform: scale(1.35); filter: drop-shadow(0 0 7px rgba(26, 95, 180, 0.75)); z-index: 10 !important;}
.sidebar-handle {display:none;height:44px;align-items:center;justify-content:center;gap:8px;background:var(--c-primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer;user-select:none;touch-action:none;flex-shrink:0;}
.sidebar-handle .handle-grip {font-size:16px;letter-spacing:3px;opacity:0.7;}
.parking-type-bar {display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px;border-bottom:1px solid #e0e0e0;}
.parking-type-btn {display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 4px;border:1px solid #e0e0e0;border-radius:4px;background:#fff;font-size:13px;font-weight:700;color:#3a4657;cursor:pointer;transition:all 0.15s;text-decoration:none;white-space:nowrap;}
.parking-type-btn .p-icon {display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;}
.parking-type-btn.blue .p-icon {background:var(--c-primary);}
.parking-type-btn.green .p-icon {background:#2e7d32;}
.parking-type-btn.orange .p-icon {background:#e65100;}
.parking-type-btn.purple .p-icon {background:#6a1b9a;}
.parking-type-btn:hover {background:var(--c-primary-soft);}
.parking-type-btn.active {background:var(--c-primary-soft-2);border-color:var(--c-primary);color:var(--c-primary);}
.parking-icon {width:38px;height:38px;background:#666;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;flex-shrink:0;}
.distance-row {display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #e0e0e0;}
.distance-row select {flex:1;padding:6px 8px;border:1px solid #ccc;border-radius:6px;font-size:13px;color:#333;background:#fff;outline:none;}
.theme-btn {flex:2;padding:7px 12px;background:var(--c-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:background 0.15s;}
.theme-btn:hover {background:var(--c-primary);}
.search-panel {padding:14px 12px;border-bottom:1px solid #e0e0e0;}
.search-radio-row {display:flex;gap:16px;margin-bottom:10px;font-size:13px;align-items:center;}
.search-radio-row label {display:flex;align-items:center;gap:4px;cursor:pointer;color:#333;}
.search-input-row {display:flex; gap: 2px;}
.search-input-row select {padding:10px 5px;border:1px solid #ccc; font-size:13px;color:#333;background:#fff;outline:none;}
.search-input-row input[type="text"] {flex:1;padding:10px;border:1px solid #ccc; font-size:13px;outline:none;transition:border-color 0.15s;}
.search-input-row input[type="text"]:focus {border-color:var(--c-primary);}
.search-btn {padding:12px 16px;background:var(--c-primary);color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background 0.15s;}
.search-btn:hover {background:var(--c-primary-hover);}
.search-full-btn {width:100%;margin-top:6px;}
.reset-btn {margin-left:auto;display:flex;align-items:center;gap:3px;font-size:12px;color:#666;cursor:pointer;background:none;border:none;padding:0;}
.reset-btn:hover {color:var(--c-primary);}
.filter-row {display:flex;gap:6px;margin-bottom:8px;}
.filter-row select {flex:1;padding:6px 8px;border:1px solid #ccc;border-radius:6px;font-size:12px;color:#333;background:#fff;outline:none;}
.visited-check {margin-top:8px;font-size:12px;color:#555;display:flex;align-items:center;gap:5px;cursor:pointer;}
.visited-check input {accent-color:var(--c-primary);}
/* 검색 결과 안내 + 건수 */
.result-info {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid #e0e0e0;flex-shrink:0;font-size:13px;font-weight:700;}
.result-info .result-notice {color:#e8001d;}
.result-info .result-count {color:#333;font-weight:400;}
.result-info .result-count b {font-weight:700;}
.result-panel {padding:8px 8px 0;flex:1;overflow-y:auto;}
.result-item {display:flex;align-items:center;gap:10px;padding:13px 12px;border:1px solid #e8e8e8;margin-bottom:6px;cursor:pointer;transition:all 0.15s;background:#fff;}
.result-item:hover {border-color:var(--c-primary);}
.result-item.active {border-color:var(--c-primary); box-shadow:0 3px 10px rgba(0,32,96,0.14);}
.result-item.active .result-name {color:var(--c-primary); font-weight:700;}
.result-name {font-size:16px;color:#111;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.p-badge {width:22px;height:22px;background:var(--c-primary);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}
.open-banner {padding:12px 14px;background:var(--c-primary);border:1px solid var(--c-primary);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.open-banner-left {display:flex;align-items:center;gap:10px;}
.open-banner-icon {width:36px;height:36px;background:rgba(255,255,255,0.16);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex-shrink:0;}
.open-banner-text .title {font-size:13px;font-weight:700;color:#ffffff;}
.open-banner-text .sub {font-size:12px;color:#a9c0dc;}
.apply-btn {padding:8px 12px;background:#ffffff;color:var(--c-primary);border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background 0.15s;}
.apply-btn:hover {background:var(--c-primary-soft);}
@media (min-width:769px) and (max-width:1100px) {
#SIDEBAR {width:240px;min-height:0;}
.parking-type-bar {grid-template-columns:repeat(3,1fr);gap:4px;padding:10px 8px;}
.parking-type-btn {padding:6px 3px;font-size:11px;}
.search-panel {padding:12px 10px;}
.open-banner {padding:10px 12px;}
.open-banner-text .title {font-size:11px;}
.open-banner-text .sub {font-size:10px;}
.apply-btn {padding:5px 10px;font-size:11px;}
}
@media (max-width:768px) {
#SIDEBAR {position:fixed;bottom:0;left:0;right:0;width:100%;height:0;min-height:0;overflow:hidden;border-right:none;border-top:2px solid var(--c-primary);box-shadow:0 -3px 12px rgba(0,0,0,0.15);z-index:250;transition:height 0.3s ease;}
#SIDEBAR.open {height:70vh;overflow-y:auto;}
.sidebar-handle {display:flex;}
.result-panel {overflow-y:auto;}
}