body { font-family: 'Lora', serif; background-color: #EADDCF; }
#map { width: 100vw; height: 100vh; z-index: 10; }

.leaflet-tile-pane { filter: grayscale(100%) opacity(85%); }

/* --- Panel Physics --- */
#info-panel { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), top 0.3s, bottom 0.3s; z-index: 1000; top: 1rem; }
#info-panel.collapsed { transform: translateX(calc(-100% - 1rem)); }

/* Pill and Rotate Logic */
#info-pill { left: 1rem; top: 1rem; }
#panel-close-btn svg { transform: rotate(90deg); transition: transform 0.2s; } /* Desktop points LEFT */

.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background-color: #d4c4b5; border-radius: 10px; }

.leaflet-container, .leaflet-popup-content-wrapper, .leaflet-popup-content, .leaflet-popup-tip {
    font-family: 'Lora', serif !important;
}

.leaflet-popup-content p { margin: 0 !important; }

.leaflet-popup-content-wrapper {
    background-color: #EADDCF !important;
    padding: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 25px rgba(44, 54, 63, 0.4) !important;
    border: 1px solid #d4c4b5;
}

.leaflet-popup-content { margin: 0 !important; width: 270px !important; }
.leaflet-popup-tip { background-color: #EADDCF !important; }
.leaflet-popup-close-button { display: none !important; }

@media (max-width: 640px) { 
    /* Universal Mobile Bottom Anchor (Half-Sheet) */
    #info-panel { 
        width: 90%; max-width: none; 
        top: auto; bottom: 0; margin-bottom: 1rem; 
        max-height: 55vh; 
    }
    #info-panel.mode-trasy { max-height: 66vh; } /* Trasy needs a slightly taller sheet */
    
    /* Universal Mobile Collapse (Downwards) */
    #info-panel.collapsed { transform: translateY(calc(100% + 1rem)); }
    #panel-close-btn svg { transform: rotate(0deg); } /* Mobile points DOWN */

    /* Centered Pill for thumb navigation */
    #info-pill { top: auto; bottom: 1rem; left: 50%; transform: translateX(-50%); }
}

/* --- THE ZOOM BUTTON FIX --- */
.leaflet-bar a { background-color: #EADDCF !important; color: #2C363F !important; border-color: #d4c4b5 !important; }
.leaflet-bar a:hover { background-color: #e4d4c3 !important; }