.map-page{min-height:100vh;background:var(--bg-body);padding-bottom:60px}.map-page-container{max-width:var(--bb-max-width);margin:0 auto;padding:24px 20px}.map-page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.map-page-back-btn{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;background:var(--bg-card);padding:10px 18px;border-radius:12px;border:1px solid var(--border-color);transition:all .3s var(--ease-smooth);cursor:pointer}.map-page-back-btn:hover{background:var(--bg-card-hover);border-color:var(--primary);color:var(--primary);transform:translateX(-4px)}.map-page-title{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.map-page-title svg{color:var(--primary)}.map-page-content{position:relative;height:calc(100vh - 120px);display:flex;align-items:stretch}.map-page-map-fullscreen{flex:1 1;position:relative;min-width:0}.map-page-yandex{width:100%;height:100%;border-radius:0;overflow:hidden;background:var(--bg-surface)}@media (min-width:768px){.map-page-yandex{border-radius:24px}}.map-page-locations-panel{position:absolute;z-index:10}@media (min-width:768px){.map-page-locations-panel.desktop{top:20px;right:20px;bottom:20px;width:380px;background:rgba(26,26,46,.85);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.05);transform:translateX(0);transition:transform .4s var(--ease-smooth),opacity .3s ease;opacity:1;display:flex;flex-direction:column;overflow:hidden}.map-page-locations-panel.desktop.closed{transform:translateX(calc(100% + 20px));opacity:0;pointer-events:none}@media (prefers-color-scheme:light){.map-page-locations-panel.desktop{background:rgba(250,250,250,.85);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(0,0,0,.08)}}}.map-page-sidebar-toggle{position:absolute;top:50%;right:400px;transform:translateY(-50%);z-index:11;pointer-events:auto;width:40px;height:80px;background:rgba(26,26,46,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px 0 0 12px;border:1px solid rgba(255,255,255,.12);border-right:none;display:flex;align-items:center;justify-content:center;color:var(--primary);cursor:pointer;transition:all .3s var(--ease-smooth)}.map-page-sidebar-toggle:hover{background:rgba(255,69,0,.15);width:44px}.map-page-sidebar-toggle.closed{right:20px;border-radius:12px;border:1px solid rgba(255,255,255,.12)}.map-page-sidebar-toggle svg{transition:transform .3s ease}@media (max-width:767px){.map-page-locations-panel.mobile{position:fixed;bottom:0;left:0;right:0;z-index:20;max-height:70vh;background:var(--bg-surface);border-radius:24px 24px 0 0;border-top:1px solid var(--border-color);box-shadow:0 -10px 40px rgba(0,0,0,.4);transform:translateY(calc(100% - 120px));transition:transform .4s var(--ease-smooth);overflow:hidden;display:flex;flex-direction:column}.map-page-locations-panel.mobile.open{transform:translateY(0)}.map-page-locations-panel.mobile.closed{transform:translateY(calc(100% - 60px))}}.map-page-drag-handle{padding:12px 0 8px;display:flex;justify-content:center;cursor:pointer;touch-action:none}.handle-bar{width:40px;height:4px;background:var(--text-muted);border-radius:2px;opacity:.6}.map-page-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.map-page-locations-content{padding:24px;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--primary) transparent}.map-page-locations-content::-webkit-scrollbar{width:6px}.map-page-locations-content::-webkit-scrollbar-track{background:transparent}.map-page-locations-content::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}@media (max-width:767px){.map-page-locations-content{padding:16px}}.map-page-subtitle{display:flex;align-items:center;gap:12px;font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0 0 20px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.location-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:var(--primary);color:white;font-size:.85rem;font-weight:700;border-radius:14px}.map-page-locations-list{display:flex;flex-direction:column;gap:10px}.map-page-location-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .25s var(--ease-smooth);cursor:pointer;margin-bottom:10px}.map-page-location-card:hover{background:rgba(255,69,0,.08);border-color:var(--primary);transform:translateX(4px)}.map-page-location-card.selected{background:rgba(255,69,0,.12);border-color:var(--primary);border-width:2px;box-shadow:0 0 0 3px rgba(255,69,0,.2)}.map-page-location-content{flex:1 1;min-width:0}.map-page-location-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.map-page-location-address{font-size:.9rem;color:var(--text-secondary);line-height:1.4;margin-bottom:8px}.map-page-location-availability{display:inline-block;font-size:.85rem;font-weight:500;padding:4px 10px;border-radius:6px;margin-top:4px}.map-page-location-availability.available{color:#10b981;background:rgba(16,185,129,.1)}.map-page-location-availability.unavailable{color:var(--text-secondary);background:var(--bg-card)}.map-page-location-link{padding:8px 16px;background:var(--primary);color:white;font-size:.9rem;font-weight:500;border-radius:8px;text-decoration:none;transition:all .3s var(--ease-smooth);display:inline-block;margin-top:10px}.map-page-location-link:hover{background:var(--primary-hover);transform:translateY(-2px)}@media (max-width:480px){.map-page-container{padding:16px}.map-page-header{flex-direction:column;align-items:flex-start;gap:12px}.map-page-title{font-size:1.3rem}.map-page-yandex{height:300px}.map-page-location-card{flex-direction:column;align-items:flex-start;gap:12px}.map-page-location-link{width:100%;text-align:center}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=light] .map-page-location-card{background:var(--bg-surface)}