/* Discovery tool: white result rail, cool map canvas, shared SanatMap identity. */
.map-page .site-footer{display:none}.map-page{height:100dvh;display:flex;flex-direction:column}.map-page .site-header{flex-shrink:0}.map-page .local-strip{font-size:11px;padding:3px}.map-page #main{padding:0;flex:1;min-height:360px;display:flex;flex-direction:column}.map-explorer{--map-line:#d7e1ef;display:grid;grid-template-columns:380px minmax(0,1fr);flex:1;min-height:360px;background:#f3f6fa;overflow:hidden;position:relative;color:#002b66}
.map-rail{min-width:0;display:flex;flex-direction:column;background:#fff;z-index:500;border-left:1px solid var(--map-line);overflow:hidden}.map-search-head{padding:20px 20px 12px;border-bottom:1px solid #edf1f6}.map-search-head h1{font-size:22px;display:flex;gap:10px;align-items:center;line-height:1.5;margin:0 0 16px}.map-search-input{position:relative}.map-search-input input{padding-left:48px!important;height:48px;min-height:48px;font-size:14px!important;background:#f8fafd}.map-search-input button{position:absolute;left:4px;top:2px;width:44px;height:44px}.map-filter-line{display:flex;gap:12px;align-items:center;margin-top:12px;font-size:12px}.map-filter-line .text-link{padding:0;min-height:44px;display:inline-flex;gap:5px;align-items:center;font-size:12px}.map-filter-line .text-link:last-child{margin-right:auto}.map-filter-line .icon{width:18px;height:18px}.map-filters{padding-top:12px}.map-filters .form-grid{gap:10px}.map-filters .field{gap:4px}.map-filters label{font-size:12px}.map-filters select{font-size:12px;min-height:44px;padding:8px 10px 8px 30px}.map-filters .button{margin-top:12px;min-height:44px;font-size:13px}.map-results-heading{padding:12px 20px;display:grid;gap:4px;border-bottom:1px solid #edf1f6;font-size:13px;flex-shrink:0}.map-results-heading small{font-size:11px;color:#607189}.map-results{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 16px;scrollbar-width:thin}.map-result{display:grid;grid-template-columns:48px minmax(0,1fr) 38px;gap:12px;padding:17px 2px;border-bottom:1px solid #e7edf5;background:white;transition:background-color .15s}.map-result.is-selected{background:#eef4fb;box-shadow:3px 0 #ff7900;padding-inline:8px}.map-result-logo{width:48px;height:48px;object-fit:contain;padding:4px;border:1px solid #e6ecf3;border-radius:9px;background:#f8fafd;display:grid;place-items:center}.map-result-main{min-width:0}.map-result h2{font-size:14px;line-height:1.8;margin:0 0 3px}.map-result p{font-size:12px;margin:0 0 3px;line-height:1.8;color:#566b86}.map-result .map-show{border:1px solid #d7e1ef;background:#fff;color:#002b66;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;min-height:36px;border-radius:7px;font:500 11px Vazirmatn,sans-serif;cursor:pointer;margin-top:6px}.map-result .map-show .icon{width:16px;height:16px}.bookmark-button{border:1px solid #d7e1ef;border-radius:9px;background:white;color:#002b66;min-width:44px;min-height:44px;display:inline-grid;place-items:center;cursor:pointer}.bookmark-button[aria-pressed=true]{background:#fff3e7;border-color:#ff7900;color:#a74a00}.map-result>.bookmark-button{border:0;min-width:38px;width:38px;align-self:start}.map-result>.bookmark-button .icon{width:19px;height:19px}.map-pagination{display:flex;justify-content:space-between;align-items:center;padding:9px 16px;border-top:1px solid #d7e1ef;font-size:12px}.map-pagination .button{min-height:40px;font-size:12px}.map-pagination button:disabled{opacity:.4;cursor:default}.map-stage{position:relative;min-width:0;min-height:0;direction:ltr}#discovery-map{height:100%;width:100%;background:#e9eee9;font-family:Vazirmatn,sans-serif}.map-tools{position:absolute;left:16px;top:16px;z-index:450;display:flex;gap:8px;direction:rtl}.map-tool{display:inline-flex;gap:7px;align-items:center;justify-content:center;border:1px solid #d7e1ef;background:white;border-radius:10px;color:#002b66;box-shadow:0 2px 8px #142e4814;min-height:44px;padding:10px 13px;font:600 12px Vazirmatn,sans-serif;cursor:pointer}.map-tool .icon{width:18px;height:18px}.map-selection{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);width:420px;max-width:calc(100% - 40px);z-index:460;background:#fff;border:1px solid #d7e1ef;border-radius:14px;box-shadow:0 6px 24px #16345520;padding:16px;direction:rtl}.map-selection-head{display:flex;align-items:flex-start;gap:12px}.map-selection h2{font-size:17px;line-height:1.6;margin:0}.map-selection p{font-size:12px;margin:5px 0;color:#566b86}.map-selection .icon-button{margin-right:auto;flex-shrink:0}.map-selection-actions{display:flex;gap:9px;margin-top:14px}.map-selection-actions .button{flex:1;min-height:44px;padding:8px;font-size:12px}.map-message{position:absolute;top:70px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);background:#fff8ed;color:#71410a;padding:9px 15px;z-index:450;font-size:12px;direction:rtl;border:1px solid #edcc92;border-radius:9px}.map-marker{background:transparent;border:0}.map-marker:focus-visible{outline:3px solid #ff7900;outline-offset:4px;border-radius:50%}.map-view-switch{display:none}.map-empty{padding:36px 8px;text-align:center;color:#536b88;font-size:14px}.map-empty strong{display:block;color:#002b66;margin-bottom:10px}.map-empty button{margin-top:14px}.map-stage .leaflet-control-zoom{border:1px solid #d7e1ef!important;box-shadow:0 2px 6px #142e4814!important}.map-stage .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;color:#002b66}.map-stage .leaflet-control-attribution{font-size:10px;max-width:90%;padding:2px 6px}.map-stage .leaflet-control-scale{margin-bottom:12px!important}.map-stage .leaflet-bottom.leaflet-left{bottom:34px}.factory-card-media>.bookmark-button{position:absolute;left:10px;top:10px;z-index:2}.factory-card-media{position:relative}
@media(min-width:901px){.map-explorer:has(#map-filters:not([hidden])) .map-search-head{padding-bottom:14px}}
@media(max-width:1100px){.map-explorer{grid-template-columns:340px minmax(0,1fr)}.map-tool span{display:none}}
@media(max-width:900px){.map-page .local-strip{display:none}.map-explorer{display:block;padding-bottom:58px}.map-rail{position:absolute;inset:0;z-index:500;pointer-events:none;background:transparent;border:0;overflow:visible}.map-search-head{background:white;padding:12px 14px 8px;pointer-events:auto}.map-search-head h1{display:none}.map-search-input input{height:44px;min-height:44px}.map-search-input button{top:0}.map-filter-line{margin-top:7px;gap:10px}.map-filter-line .text-link,.map-filter-line .button{min-height:38px}.map-results-heading{background:white;font-size:12px;padding:5px 15px 9px;pointer-events:auto;border-bottom:1px solid #d7e1ef}.map-results-heading small{display:none}.map-stage{position:absolute;inset:139px 0 58px}.map-tools{top:12px;left:12px}.map-tools .map-tool{padding:8px;min-width:44px}.map-results,.map-pagination{display:none}.map-view-switch{display:flex;position:absolute;bottom:0;left:0;right:0;z-index:700;height:58px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #d7e1ef;justify-content:space-around;gap:12px}.map-view-switch button{background:transparent;border:0;border-bottom:3px solid transparent;color:#667b94;display:flex;align-items:center;justify-content:center;gap:8px;font:600 13px Vazirmatn,sans-serif;min-height:52px;width:44%;cursor:pointer}.map-view-switch button[aria-pressed=true]{color:#002b66;border-bottom-color:#ff7900}.map-explorer[data-view=list] .map-rail{background:white;pointer-events:auto;bottom:58px}.map-explorer[data-view=list] .map-results{display:block}.map-explorer[data-view=list] .map-pagination{display:flex}.map-explorer[data-view=list] .map-stage{visibility:hidden}.map-explorer[data-view=map] .map-results-heading{display:block}.map-selection{padding:12px;bottom:31px;max-width:calc(100% - 24px);border-radius:12px}.map-selection h2{font-size:15px}.map-selection p{margin:3px 0;font-size:11px}.map-selection .map-result-logo{width:40px;height:40px}.map-selection-actions{margin-top:9px}.map-message{top:64px}.map-filters{max-height:calc(100dvh - 245px);overflow-y:auto;padding-bottom:8px}.map-stage .leaflet-control-zoom a{width:34px;height:34px;line-height:34px}.map-stage .leaflet-bottom.leaflet-left{bottom:27px}.map-result{grid-template-columns:48px minmax(0,1fr) 44px}.map-result>.bookmark-button{width:44px;min-width:44px}}
@media(prefers-reduced-motion:reduce){.map-result{transition:none}}
@media print{.bookmark-button,.map-explorer,.profile-community{display:none!important}}

.map-explorer{min-height:360px}.map-filter-line button.text-link{background:none;border:0;color:#607189;font-family:inherit;cursor:pointer}

.discovery-cluster{display:grid;place-items:center;border-radius:50%;border:3px solid #fff;background:#002b66;box-shadow:0 1px 6px #002b6655;color:#fff;font:700 14px Vazirmatn,sans-serif;width:44px;height:44px}.discovery-pin{display:block;color:#002b66;filter:drop-shadow(0 2px 3px #002b6633)}.discovery-pin svg{display:block;transform:none!important;width:30px;height:37px}.discovery-pin.is-selected{color:#ff7900}

@media(max-width:900px){.map-stage .leaflet-bottom.leaflet-left{top:76px;bottom:auto}.map-stage .leaflet-control-scale{display:none}.map-stage .leaflet-control-zoom{margin-top:0;margin-left:12px}}


.map-stage{z-index:1}.map-filters .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.map-filters .field{margin:0}.map-filters .field label{margin:0}.map-result{grid-template-columns:48px minmax(0,1fr) 44px}.map-result>.bookmark-button{width:44px;min-width:44px}.map-result .map-show{min-height:44px}


@media(max-width:360px){.map-selection-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:6px}.map-selection-actions .button{min-width:0;font-size:11px;padding:7px 4px}.map-selection-actions .button>.icon{display:none}}

/* Artwork motion stays inside Leaflet's positioning transforms. */
.discovery-pin,.discovery-cluster{transform-origin:50% 90%;transition:color .18s ease,filter .18s ease}
.marker-enter>.discovery-pin,.marker-enter>.discovery-cluster{animation:map-marker-enter .24s cubic-bezier(.2,.7,.3,1) both}
.marker-exit{pointer-events:none!important}.marker-exit>.discovery-pin,.marker-exit>.discovery-cluster{animation:map-marker-exit .18s ease-in both}
@keyframes map-marker-enter{from{opacity:0;transform:translateY(4px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes map-marker-exit{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.88)}}
@media(prefers-reduced-motion:reduce){.discovery-pin,.discovery-cluster{transition:none;animation:none!important}.map-stage .leaflet-zoom-animated{transition:none!important}}
