/* Destinations Map Frontend */
:root{--dm-primary:#009640;}

/* FIX: Force pointer events on markers */
.leaflet-marker-icon {
    pointer-events: auto !important;
    cursor: pointer !important;
}

.leaflet-marker-pane {
    pointer-events: auto !important;
}

/* Increase clickable area for markers */
.leaflet-marker-icon::after {
    content: '';
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    pointer-events: auto;
}

.leaflet-popup{margin-bottom:23px;}
.leaflet-popup-content-wrapper{border-radius:12px;}
.leaflet-popup-content{margin:12px 15px;}
.leaflet-container img{max-width:none!important;}
.leaflet-marker-icon{pointer-events:auto!important;cursor:pointer!important;}

.dm-wrap{max-width:1400px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;}
.dm-layout-locator{display:flex;gap:24px;}

/* Sidebar */
.dm-side{width:380px;min-width:380px;background:var(--dm-primary);border-radius:15px;color:#fff;display:flex;flex-direction:column;position:relative;max-height:800px;}

/* Categories */
.dm-cat-list{padding:20px 20px 10px;display:flex;flex-direction:column;gap:10px;}
.dm-cat-item{border:1px solid rgba(255,255,255,.5);border-radius:90px;padding:14px 18px;cursor:pointer;transition:.2s;font-size:15px;display:flex;align-items:center;gap:10px;}
.dm-cat-item:hover{background:rgba(255,255,255,.15);border-color:#fff;}
.dm-cat-item.active{background:#fff;color:var(--dm-primary);font-weight:600;border-color:#fff;}
.dm-cat-item .dm-cat-icon{width:24px;height:24px;object-fit:contain;}
.dm-cat-item .dm-cat-name{flex:1;}
.dm-cat-item .dm-cat-count{background:rgba(255,255,255,.2);padding:2px 10px;border-radius:20px;font-size:12px;}
.dm-cat-item.active .dm-cat-count{background:var(--dm-primary);color:#fff;}

/* Destinations List */
.dm-dest-list{flex:1;overflow:auto;padding:10px 20px 80px;display:flex;flex-direction:column;gap:8px;}
.dm-dest-item{border-radius:12px;padding:12px 16px;background:rgba(255,255,255,.12);cursor:pointer;transition:.15s;display:flex;flex-direction:column;gap:4px;}
.dm-dest-item:hover{background:rgba(255,255,255,.25);transform:translateX(5px);}
.dm-dest-item.active{background:#fff;color:var(--dm-primary);}
.dm-dest-title{font-weight:500;}
.dm-dest-type{font-size:12px;opacity:.7;}
.dm-dest-empty{opacity:.7;font-style:italic;text-align:center;padding:30px 20px;}

.dm-copy{position:absolute;left:0;right:0;bottom:0;padding:12px 20px;font-size:13px;opacity:.8;background:inherit;border-radius:0 0 15px 15px;}

/* Map Column */
.dm-map-col{flex:1;position:relative;}
.dm-map{width:100%;border-radius:15px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.1);}

/* Info Card */
.dm-card{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:15px;padding:24px;box-shadow:0 10px 40px rgba(0,0,0,.15);min-width:340px;max-width:420px;display:none;z-index:500;}
.dm-card.show{display:flex;flex-direction:column;gap:12px;animation:slideUp .3s ease;}

@keyframes slideUp{
    from{opacity:0;transform:translateY(20px);}
    to{opacity:1;transform:translateY(0);}
}

.dm-card .dm-card-close{position:absolute;top:12px;right:12px;background:#f0f0f0;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;transition:.2s;}
.dm-card .dm-card-close:hover{background:#e0e0e0;}

.dm-card .dm-title{font-size:20px;font-weight:700;line-height:1.3;padding-right:40px;color:#222;}
.dm-card .dm-badge{display:inline-flex;padding:5px 14px;border-radius:20px;font-size:12px;color:#fff;width:fit-content;}

.dm-card .dm-line{font-size:14px;display:flex;gap:10px;color:#444;}
.dm-card .dm-label{min-width:70px;color:#888;font-weight:500;}
.dm-card .dm-value{flex:1;}
.dm-card .dm-value a{color:var(--dm-primary);text-decoration:none;}
.dm-card .dm-value a:hover{text-decoration:underline;}

/* External Links */
.dm-card .dm-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.dm-card .dm-link-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:8px;font-size:13px;text-decoration:none;transition:.2s;background:#f5f5f5;color:#333;}
.dm-card .dm-link-btn:hover{background:#e8e8e8;transform:translateY(-1px);}
.dm-card .dm-link-website{background:#e3f2fd;color:#1565c0;}
.dm-card .dm-link-booking{background:#e8f5e9;color:#2e7d32;}
.dm-card .dm-link-tripadvisor{background:#fff3e0;color:#e65100;}
.dm-card .dm-link-reviews{background:#fff8e1;color:#f9a825;}
.dm-card .dm-link-maps{background:#fce4ec;color:#c2185b;}

.dm-card .dm-social-line{font-size:13px;color:#666;display:flex;align-items:center;gap:8px;margin-top:5px;}

/* Mobile */
@media(max-width:900px){
    .dm-layout-locator{flex-direction:column;gap:16px;}
    .dm-side{width:100%;min-width:0;background:transparent;max-height:none;order:1;}
    .dm-cat-list{flex-direction:row;gap:10px;padding:14px;overflow-x:auto;background:var(--dm-primary);border-radius:15px;-webkit-overflow-scrolling:touch;}
    .dm-cat-item{white-space:nowrap;flex:0 0 auto;padding:12px 20px;}
    .dm-dest-list{background:var(--dm-primary);border-radius:15px;margin-top:8px;padding:14px;max-height:200px;}
    .dm-copy{display:none;}
    .dm-map-col{order:2;}
    .dm-card{position:relative;left:auto;bottom:auto;margin:8px 0;width:100%;max-width:none;min-width:0;box-shadow:0 5px 20px rgba(0,0,0,.1);}
    .dm-map{height:400px!important;margin-top:8px;border-radius:15px;}
}

/* Scrollbar */
.dm-dest-list::-webkit-scrollbar{width:6px;}
.dm-dest-list::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:3px;}
.dm-dest-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:3px;}
.dm-dest-list::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5);}
