html, body { height: 100%; margin: 0; padding: 0; overflow: hidden; }
#map { height: 100vh; width: 100%; position: fixed; }

/* Sidebar pleine hauteur */
#sidebar {
        position: fixed; 
        top: 0; left: 0; 
        width: 50vw; height: 100vh; 
        background: white; 
        box-shadow: 2px 0 10px rgba(0,0,0,0.3);
        z-index: 1001;
        transform: translateX(-100%);
        transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        overflow-y: auto;
}
#sidebar.open { transform: translateX(0); }

/* Header sidebar */
.sidebar-header {
        background: #2c3e50; 
        color: white; 
        padding: 20px; 
        margin: 0;
}
.sidebar-header h2 { margin: 0 0 0 10px; display: inline; }
.close-btn { 
        float: right; cursor: pointer; 
        font-size: 24px; font-weight: bold;
}

/* Contenu sidebar */
#sidebar-content {
        padding: 20px;
}
.site-img { 
        width: 100%; height: 200px; 
        object-fit: cover; border-radius: 8px; 
        margin-bottom: 15px;
}
.site-desc { line-height: 1.6; margin-bottom: 15px; }
.commons-link { 
        display: inline-block; 
        background: #3498db; color: white; 
        padding: 8px 16px; text-decoration: none; 
        border-radius: 4px;
}

/* Overlay */
#overlay {
        position: fixed; top: 0; left: 0; 
        width: 100vw; height: 100vh; 
        background: rgba(0,0,0,0.6); 
        z-index: 1000; display: none;
}
#overlay.open { display: block; }

/* Tooltip marker */
.leaflet-tooltip { background: #2c3e50; color: white; }

.download-control {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        height: 42px;
        text-decoration: none;
        font-size: 14px;
        color: #222;
        background: #fff;
}

.download-control:hover {
        background: #f4f4f4;
        color: #000;
}
