.admin-map-card .card-body { padding: 1.25rem; } .map-actions { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(130px, .42fr) auto auto; gap: .75rem; width: min(900px, 100%); } .map-shell { position: relative; height: 600px; min-height: 600px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #e9f2f6; box-shadow: 0 18px 42px rgba(15, 76, 129, .1); } .tourism-map { width: 100%; height: 100%; z-index: 1; } .leaflet-container { width: 100%; height: 100%; position: relative; } .tourism-map::before { content: attr(data-empty-message); display: none; place-items: center; height: 100%; padding: 2rem; color: #64748b; text-align: center; } .tourism-map.is-empty::before { display: grid; } .map-legend { position: absolute; right: 14px; bottom: 14px; z-index: 500; width: min(300px, calc(100% - 28px)); padding: .85rem 1rem; border-radius: 12px; background: rgba(255, 255, 255, .96); border: 1px solid rgba(15, 76, 129, .14); box-shadow: 0 14px 34px rgba(15, 76, 129, .16); font-size: .9rem; } .legend-dot { width: 14px; height: 14px; border-radius: 50%; display: inline-block; box-shadow: 0 0 0 4px rgba(15, 76, 129, .08); } .legend-dot-ar { background: #dc2626; } .legend-dot-video { background: #2563eb; } .map-stat { border: 1px solid var(--line); border-radius: 12px; padding: 1rem; background: #fff; box-shadow: 0 10px 26px rgba(15, 76, 129, .07); } .map-stat small { display: block; color: #64748b; font-weight: 700; margin-bottom: .35rem; } .map-stat strong { display: block; color: var(--ink); font-size: 1.8rem; line-height: 1; } .tourism-marker { background: transparent; border: 0; } .tourism-marker-pin { position: relative; display: block; width: 30px; height: 30px; border-radius: 50% 50% 50% 0; background: var(--marker-color); border: 3px solid #fff; transform: rotate(-45deg); box-shadow: 0 10px 24px rgba(15, 23, 42, .28); } .tourism-marker-pin::after { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: #fff; } .leaflet-popup-content-wrapper { border-radius: 14px; padding: 0; overflow: hidden; box-shadow: 0 18px 42px rgba(15, 23, 42, .2); } .leaflet-popup-content { margin: 0; } .map-popup-card { width: 280px; border-radius: 14px; overflow: hidden; } .map-popup-card .card-img-top { width: 100%; height: 140px; object-fit: cover; } .map-popup-card .card-body { padding: .9rem; } .map-popup-title { font-size: 1rem; font-weight: 800; line-height: 1.25; } .map-popup-row { display: flex; align-items: flex-start; gap: .45rem; color: #475569; font-size: .86rem; margin-top: .4rem; } .map-popup-row i { color: var(--ocean); line-height: 1.35; } .fullscreen-control { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-bottom: 1px solid #ccc; background: #fff; color: #111827; cursor: pointer; font-size: 1rem; } .fullscreen-control:hover { background: #f3f4f6; } @media (max-width: 991.98px) { .map-actions { grid-template-columns: 1fr; width: 100%; } .map-shell { height: 600px; min-height: 600px; } .map-legend { right: 12px; bottom: 12px; } }