.leaflet-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.leaflet-container,.leaflet-marker-icon{transform:translateZ(0);will-change:transform}.leaflet-marker-icon{transition:all .3s ease}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:0}.leaflet-popup-content{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;margin:12px 16px}.leaflet-popup-tip{box-shadow:0 2px 8px #00000014}.leaflet-control-zoom{border:none!important;border-radius:8px!important;box-shadow:0 2px 8px #00000014!important}.leaflet-control-zoom a{border-radius:8px!important;font-size:18px!important;height:32px!important;line-height:32px!important;transition:all .2s ease;width:32px!important}.leaflet-control-zoom a:hover{background-color:#f7f7f7!important;transform:scale(1.05)}.leaflet-control-attribution{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc!important;border-radius:4px;font-size:10px;padding:2px 6px}.marker-cluster-large,.marker-cluster-medium,.marker-cluster-small{background-color:#ff385c99;border-radius:50%;box-shadow:0 2px 8px #00000026}.marker-cluster-large div,.marker-cluster-medium div,.marker-cluster-small div{background-color:#ff385ccc;border-radius:50%;color:#fff;font-weight:600}.leaflet-tile{transition:opacity .3s ease}.leaflet-tile-loaded{opacity:1}:root{--map-primary-color:#e53e3e;--map-primary-light:#fc8181;--map-primary-dark:#c53030;--map-text-primary:#2d3748;--map-text-secondary:#718096;--map-text-tertiary:#a0aec0;--map-bg-light:#f7fafc;--map-border-light:#0000000a;--map-shadow-sm:0 2px 8px #0000000d;--map-shadow-md:0 4px 12px #00000014;--map-shadow-lg:0 10px 40px #0000001a;--map-shadow-xl:0 20px 60px #0000001f;--map-shadow-primary:0 4px 12px #e53e3e4d;--map-transition-fast:.2s cubic-bezier(.4,0,.2,1);--map-transition-base:.3s cubic-bezier(.4,0,.2,1);--map-radius-sm:4px;--map-radius-md:8px;--map-radius-lg:12px;--map-radius-xl:16px;--map-radius-2xl:24px}.custom-map-marker{background:#0000!important;border:none!important}.marker-pin-container{height:42px;position:relative;width:30px}.marker-pin{background:linear-gradient(135deg,var(--map-primary-light) 0,var(--map-primary-color) 100%);border-radius:50% 50% 50% 0;box-shadow:var(--map-shadow-md);height:30px;position:absolute;transform:rotate(-45deg);transition:all var(--map-transition-base);width:30px}.marker-pin:hover{box-shadow:0 6px 20px #e53e3e80;transform:rotate(-45deg) scale(1.05)}.marker-pin-inner{background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:12px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:12px}.marker-pulse{background:#e53e3e4d;border-radius:50% 50% 50% 0;display:none;height:30px;pointer-events:none;position:absolute;transform:rotate(-45deg);width:30px}.custom-cluster-icon{background:#0000!important;border:none!important}.cluster-marker{align-items:center;background:linear-gradient(135deg,var(--map-primary-light) 0,var(--map-primary-color) 100%);border:3px solid #fff;border-radius:50%;box-shadow:var(--map-shadow-md);color:#fff;display:flex;font-weight:700;justify-content:center}.cluster-marker span{font-size:14px;line-height:1}.cluster-small{height:40px;width:40px}.cluster-medium{height:50px;width:50px}.cluster-medium span{font-size:16px}.cluster-large{height:60px;width:60px}.cluster-large span{font-size:18px}.custom-popup .leaflet-popup-content-wrapper{background:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 10px 40px #0000001a,0 2px 8px #0000000f;padding:8px 12px}.custom-popup .leaflet-popup-content{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}.custom-popup .leaflet-popup-tip{background:#fff;border:1px solid #0000000d;box-shadow:0 2px 4px #0000000d}.custom-popup a.leaflet-popup-close-button{color:#718096;font-size:20px;padding:8px 8px 0 0;transition:color .2s}.custom-popup a.leaflet-popup-close-button:hover{color:#e53e3e}.product-card-popup .leaflet-popup-content-wrapper{background:#fff;border:1px solid #0000000a;border-radius:16px;box-shadow:0 20px 60px #0000001f,0 4px 16px #0000000f;padding:12px}.product-card-popup .leaflet-popup-content{margin:0;min-width:240px}.product-popup-card{display:flex;flex-direction:column}.product-popup-image{border-radius:8px;height:120px;margin-bottom:12px;object-fit:cover;transition:transform .3s ease;width:100%}.product-popup-image:hover{transform:scale(1.02)}.product-popup-title{color:var(--map-text-primary);font-size:16px;font-weight:600;line-height:1.3;margin:0 0 8px}.product-popup-badge{background:var(--map-bg-light);border-radius:var(--map-radius-sm);display:inline-block;font-size:12px;padding:4px 8px}.product-popup-address,.product-popup-badge{color:var(--map-text-secondary);margin:0 0 8px}.product-popup-address{font-size:13px;line-height:1.4}.product-popup-description{color:var(--map-text-tertiary);display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;margin:0 0 12px;-webkit-box-orient:vertical;overflow:hidden}.product-popup-distance{color:var(--map-text-tertiary);font-size:12px;margin:8px 0}.product-popup-button{background:linear-gradient(135deg,var(--map-primary-light) 0,var(--map-primary-color) 100%);border:none;border-radius:var(--map-radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;margin-top:12px;padding:10px 16px;text-transform:uppercase;transition:all var(--map-transition-fast);width:100%}.product-popup-button:hover{box-shadow:var(--map-shadow-primary);transform:translateY(-2px)}.product-popup-button:active{transform:translateY(0)}.product-card-popup .leaflet-popup-tip{background:#fff;border:1px solid #0000000a;box-shadow:0 4px 12px #00000014}.product-card-popup a.leaflet-popup-close-button{color:#a0aec0;font-size:24px;font-weight:300;padding:8px 12px 0 0;transition:all .2s}.product-card-popup a.leaflet-popup-close-button:hover{color:#e53e3e;transform:scale(1.1)}.leaflet-control-zoom{border:none!important;border-radius:8px!important;box-shadow:0 4px 12px #00000014!important;overflow:hidden}.leaflet-control-zoom a{background:#fff!important;border:none!important;color:#2d3748!important;font-size:20px!important;font-weight:600!important;height:36px!important;line-height:36px!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;width:36px!important}.leaflet-control-zoom a:hover{background:#e53e3e!important;color:#fff!important;transform:scale(1.05)}.leaflet-control-zoom a:first-child{border-bottom:1px solid #e2e8f0!important}.leaflet-control-geosearch{border:none!important;border-radius:8px!important;box-shadow:0 4px 12px #00000014!important;overflow:hidden}.leaflet-control-geosearch form{background:#fff!important;border-radius:8px!important}.leaflet-control-geosearch form input{border:none!important;font-family:system-ui,-apple-system,sans-serif!important;font-size:14px!important;padding:10px 14px!important}.leaflet-control-geosearch a.reset{background:#e53e3e!important;border-radius:4px!important;color:#fff!important;transition:all .2s!important}.leaflet-control-geosearch a.reset:hover{background:#c53030!important}.leaflet-control-attribution{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#ffffffe6!important;border:1px solid #0000000d!important;border-radius:6px!important;box-shadow:0 2px 8px #0000000d!important;font-size:11px!important;margin:0 8px 8px 0!important;padding:4px 8px!important}.leaflet-control-attribution a{color:#e53e3e!important;font-weight:500!important}.leaflet-marker-icon,.leaflet-marker-shadow{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(.4,0,.2,1)!important}@media(max-width:768px){.marker-pin-container{height:34px;width:24px}.marker-pin{height:24px;width:24px}.marker-pin-inner{height:10px;width:10px}.cluster-small{height:32px;width:32px}.cluster-medium{height:40px;width:40px}.cluster-large{height:48px;width:48px}.cluster-marker span{font-size:12px}}@media(prefers-color-scheme:dark){.custom-popup .leaflet-popup-content-wrapper,.custom-popup .leaflet-popup-tip{background:#2d3748;border-color:#4a5568}.custom-popup h3,.custom-popup h4{color:#f7fafc!important}.custom-popup p{color:#cbd5e0!important}.leaflet-control-zoom a{background:#2d3748!important;color:#f7fafc!important}.leaflet-control-attribution{background:#2d3748e6!important;color:#cbd5e0!important}}
