/* ========================================
   POI DATABASE - STYLES (V2 - UI ENHANCED)
   ======================================== */

.poi-container { max-width: 1400px; margin: 40px auto; }
.city-section.hidden { display: none; }

/* --- Filter Nav --- */
.city-nav { position: sticky; top: 50px; /* Adjust based on your main nav height */ z-index: 100; display: flex; justify-content: center; gap: 15px; margin-bottom: 40px; padding: 20px; background: #1a1a1a; border-top: 1px solid #404040; border-bottom: 1px solid #404040; }
.city-btn { display: flex; align-items: center; gap: 10px; padding: 10px 25px; background: #2d2d2d; border: 1px solid #404040; font-family: 'Orbitron', sans-serif; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.1em; cursor: pointer; transition: all 0.3s; color: #a0a0a0; }
.city-btn:hover { background: #404040; color: #ffffff; transform: translateY(-2px); }
.city-btn.active { background: #c41e3a; border-color: #c41e3a; color: #ffffff; }

/* --- District Sections --- */
.district-section { margin-bottom: 20px; }
.district-header { display: flex; align-items: center; gap: 15px; background: #2d2d2d; padding: 15px 20px; cursor: pointer; user-select: none; border: 1px solid #404040; transition: background-color 0.3s; }
.district-header:hover { background: #353535; }
.collapse-icon { font-size: 1.2rem; color: #c41e3a; transition: transform 0.4s; transform: rotate(-90deg); }
.district-section.expanded .collapse-icon { transform: rotate(0deg); }
.district-title { font-family: 'Orbitron', sans-serif; font-size: 1.5rem; color: #ffffff; margin: 0; }
.district-content { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease-in-out; }
.district-section.expanded .district-content { grid-template-rows: 1fr; }
.content-wrapper { overflow: hidden; }
.poi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; padding: 20px; background: #1a1a1a; border: 1px solid #404040; border-top: none; }

/* --- POI Cards --- */
.poi-card { background: #252525; border: 1px solid #404040; padding: 20px; cursor: pointer; transition: all 0.3s; }
.poi-card:hover { transform: translateY(-3px); border-color: #ffffff; box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
.poi-card.importance-critical { border-left: 3px solid #c41e3a; }
.poi-card.importance-major { border-left: 3px solid #ff851b; }
.poi-card.importance-secondary { border-left: 3px solid #0074d9; }
.poi-name { font-family: 'Orbitron', sans-serif; font-size: 1.2rem; color: #ffffff; margin: 0 0 5px 0; }
.poi-type { font-size: 0.9rem; color: #808080; text-transform: uppercase; }

/* --- POI MODAL (UPGRADED) --- */
.poi-modal { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); backdrop-filter: blur(5px); align-items: center; justify-content: center; }
.poi-modal.active { display: flex; }

.modal-content { background: #1e1e1e; border: 1px solid #404040; width: 90%; max-width: 800px; position: relative; display: flex; flex-direction: column; max-height: 90vh; }
.modal-close { position: absolute; top: 15px; right: 25px; color: #aaa; font-size: 28px; font-weight: bold; cursor: pointer; z-index: 10; }

.modal-image-container { width: 100%; max-height: 400px; flex-shrink: 0; background-color: #0a0a0a; }
.modal-image-container img { width: 100%; height: 100%; object-fit: cover; }

.modal-text-container { padding: 30px; overflow-y: auto; }
#modal-name { font-family: 'Orbitron', sans-serif; font-size: 2.2rem; color: #ffffff; margin: 0 0 15px 0; }
#modal-keywords { display: flex; gap: 15px; margin-bottom: 20px; flex-wrap: wrap; }
#modal-description p { color: #b0b0b0; line-height: 1.7; margin-bottom: 15px; }

/* Keyword Badge Styles (Copied for consistency) */
.keyword-badge { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; background: #2d2d2d; border: 1px solid #404040; font-size: 0.85rem; }
.keyword-badge.primary { border-color: #c41e3a; }
.keyword-badge.secondary { border-color: #4a9eff; }
.key-label { font-weight: bold; }
.keyword-badge.primary .key-label { color: #c41e3a; }
.keyword-badge.secondary .key-label { color: #4a9eff; }
.key-value { color: #a0a0a0; }