* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background-color: #0a1f15;
    color: #e3e8d9;
    height: 100vh;
    overflow: hidden;
}
.map-container {
    display: flex; flex-direction: column; height: 100vh; width: 100vw;
    position: relative;
}
.map-header {
    display: flex; align-items: center; gap: 15px; padding: 12px 20px;
    background: rgba(26, 51, 39, 0.95); backdrop-filter: blur(10px);
    border-bottom: 1px solid #3f5a4a; z-index: 1000;
}
.back-button {
    background: rgba(77, 107, 83, 0.8); color: #f0ecd6; text-decoration: none;
    font-size: 0.95rem; padding: 8px 16px; border-radius: 40px;
    border: 1px solid rgba(143, 170, 133, 0.5); white-space: nowrap;
    transition: 0.2s;
}
.back-button:hover { background: #608a67; border-color: #e2dbb0; }
.map-header h1 {
    font-size: 1.4rem; font-weight: 400; color: #dbd0a4; margin: 0;
}
.map-canvas { 
    flex: 1; 
    width: 100%; 
    background: #1a3327;
    position: relative;
}

/* Маркеры */
.custom-marker { background: transparent; border: none; }
.custom-marker div {
    width: 32px; height: 32px; background: #2d513a; border: 3px solid #e2dbb0;
    border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.5); cursor: pointer;
    transition: 0.2s; z-index: 1000; position: relative;
}
.custom-marker div:hover { transform: scale(1.2); background: #3d6b4a; border-color: #f3e1b3; }

/* Информационная панель */
.info-panel {
    position: absolute; bottom: 25px; left: 25px; right: 25px; max-width: 450px;
    background: rgba(26, 51, 39, 0.98); backdrop-filter: blur(10px);
    border-radius: 24px; padding: 25px; border: 1px solid #5d8468;
    box-shadow: 0 20px 40px rgba(0,0,0,0.6); z-index: 2000;
}
.info-panel.hidden { display: none; }
.close-panel {
    position: absolute; top: 15px; right: 15px; background: none; border: none;
    color: #a4b6a2; font-size: 1.5rem; cursor: pointer;
    transition: 0.2s;
}
.close-panel:hover { color: #f3e1b3; }
#info-content h3 { 
    font-size: 1.6rem; color: #f3e1b3; margin-bottom: 10px; padding-right: 25px; 
}
#info-content p { 
    font-size: 1rem; color: #c2cfbb; margin-bottom: 10px; line-height: 1.5; 
}
.category-tag {
    display: inline-block; background: #2d513a; color: #faeec3;
    padding: 4px 12px; border-radius: 30px; font-size: 0.9rem; margin-bottom: 15px;
}

/* Адаптация для мобильных */
@media (max-width: 600px) {
    .map-header { padding: 10px 15px; }
    .map-header h1 { font-size: 1.2rem; }
    .info-panel { left: 15px; right: 15px; bottom: 15px; padding: 18px; }
    #info-content h3 { font-size: 1.3rem; }
}