/**
 * Maillage Interne + Carte — Univers Nuisibles v2
 * Compatible Elementor
 * @package UnCore @since 1.4.0
 */

/* GRILLE */
.un-grid{display:grid;gap:10px;margin:12px 0;width:100%}
.un-grid-2{grid-template-columns:repeat(2,1fr)}
.un-grid-3{grid-template-columns:repeat(3,1fr)}
.un-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:768px){.un-grid-3,.un-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.un-grid-2,.un-grid-3,.un-grid-4{grid-template-columns:1fr}}

/* CARDS */
.un-card-link{text-decoration:none !important;color:inherit !important;display:block}
.un-card-link.un-card-disabled{opacity:.45;pointer-events:none}
.un-card{background:#fff;border:1px solid #E5E7EB;border-radius:10px;padding:14px 16px;transition:all .2s;position:relative}
.un-card:hover{border-color:#2C5F2D;box-shadow:0 2px 10px rgba(44,95,45,.08);transform:translateY(-1px)}

/* CARD DÉPARTEMENT */
.un-card-icon-dept{width:44px;height:44px;border-radius:10px;background:#F0FDF4;display:flex;align-items:center;justify-content:center;color:#2C5F2D;margin-bottom:10px}
.un-card-title-dept{font-size:16px;font-weight:600;color:#111827;margin:0 0 3px}
.un-card-subtitle{font-size:12px;color:#6B7280;margin:0 0 8px}
.un-card-meta{display:flex;gap:10px;font-size:11px;color:#9CA3AF}
.un-card-arrow{position:absolute;top:14px;right:14px;font-size:16px;color:#D1D5DB;transition:color .2s}
.un-card:hover .un-card-arrow{color:#2C5F2D}

/* CARD VILLE */
.un-card-ville{padding:12px 14px}
.un-card-ville-nom{font-size:14px;font-weight:600;color:#111827;margin:0 0 3px}
.un-card-ville-meta{display:flex;gap:8px;font-size:11px;color:#9CA3AF}

/* VILLES VOISINES */
.un-voisines-wrap{margin:20px 0;width:100%}
.un-voisines-title{font-size:17px;font-weight:600;color:#111827;margin:0 0 12px;padding-bottom:6px;border-bottom:2px solid #2C5F2D;display:inline-block}
.un-card-voisine{padding:10px 12px;background:#FAFAFA}
.un-card-voisine:hover{background:#F0FDF4}

/* CARTE COMBINÉE (mini map + store locator features) */
.un-mini-map-wrap{width:100%;margin:16px 0;position:relative}
.un-mini-map{border-radius:10px;border:1px solid #E5E7EB;overflow:hidden;width:100%;z-index:1}
.un-map-controls{position:absolute;top:10px;left:10px;z-index:1000;display:flex;flex-direction:column;gap:6px}
.un-map-btn{width:32px;height:32px;border-radius:6px;background:#fff;border:1px solid #E5E7EB;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#374151;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .15s}
.un-map-btn:hover{background:#F0FDF4;border-color:#2C5F2D;color:#2C5F2D}
.un-map-search{position:absolute;top:10px;right:10px;z-index:1000}
.un-map-search input{width:200px;padding:7px 12px;border-radius:6px;border:1px solid #E5E7EB;font-size:13px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.un-map-search input:focus{outline:none;border-color:#2C5F2D;box-shadow:0 0 0 2px rgba(44,95,45,.15)}
@media(max-width:640px){
    .un-map-search input{width:140px;font-size:12px}
}

/* SVG Pin reset (empêche Leaflet d'ajouter du style par défaut sur les divIcon) */
.un-svg-pin{background:none !important;border:none !important}
.un-svg-pin svg{display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}

/* MARQUEURS MINI MAP — même SVG que le store locator */
.un-locator-marker-icon.leaflet-div-icon,
.un-marker-dot-wrap.leaflet-div-icon{background:none !important;border:none !important;box-shadow:none !important}
.un-marker-pin{display:block;width:32px;height:42px;position:relative;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.35))}
.un-marker-pin svg{width:32px;height:42px;display:block}
.un-marker-dot-wrap{background:none !important;border:none !important}
.un-marker-dot{width:10px;height:10px;border-radius:50%;background:#2C5F2D;opacity:0.6;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
