.map-hero{padding:92px 0 76px;background:linear-gradient(105deg,#0c0b09fa,#181f1ce0),var(--bg)}.map-hero h1{max-width:850px;font-size:clamp(48px,6.5vw,84px)}.map-section{padding-top:54px}.map-toolbar{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(180px,.9fr) auto;gap:12px;align-items:end;margin-bottom:18px}.map-toolbar label{display:grid;gap:7px;color:#f4eee4cc;font-size:13px;font-weight:800}.map-toolbar input,.map-toolbar select{width:100%;min-height:48px;border:1px solid rgba(244,238,228,.16);background:var(--panel);color:var(--ink);padding:0 14px;font:inherit}.map-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);min-height:690px;border:1px solid rgba(196,154,85,.24);background:var(--panel)}.map-canvas-wrap{position:relative;min-width:0;height:690px;background:#cfd8d0;overflow:hidden}.workshop-map{width:100%;height:100%;min-height:690px;z-index:1}.map-loading{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#191713;font-weight:800;background:#d7ddd7}.map-loading[hidden]{display:none}.map-credit{position:absolute;z-index:3;left:10px;bottom:22px;max-width:420px;margin:0;padding:6px 9px;color:#24211c;background:#ffffffe0;font-size:11px}.workshop-directory{display:grid;align-content:start;min-width:0;max-height:690px;overflow:hidden;border-left:1px solid rgba(196,154,85,.22)}.directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid rgba(196,154,85,.18)}.directory-head h2{margin-top:12px;font-size:32px}.directory-head>strong{display:grid;place-items:center;width:44px;height:44px;color:#15120d;background:var(--gold)}.workshop-list{display:grid;gap:0;overflow-y:auto}.workshop-card{padding:24px;border-bottom:1px solid rgba(196,154,85,.18)}.workshop-card.featured{background:linear-gradient(110deg,rgba(196,154,85,.1),transparent 62%)}.workshop-card-head{display:flex;justify-content:space-between;gap:16px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.workshop-card h3{margin-top:12px;font-size:25px}.workshop-place{margin:7px 0 16px;color:var(--gold-2);font-weight:700}.workshop-tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.workshop-tags span{padding:5px 8px;border:1px solid rgba(143,160,165,.3);color:#f4eee4c7;font-size:11px}.workshop-address{display:grid;gap:2px;font-size:14px}.workshop-phone{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:baseline;margin:10px 0 0;font-size:14px}.workshop-phone strong{color:var(--gold)}.workshop-phone a{color:var(--ink);font-weight:700;text-decoration-color:#c49a5580}.workshop-address small{color:#f4eee47a}.workshop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.workshop-actions .btn{min-height:39px;padding:0 12px;font-size:12px}.empty-state{padding:24px}.workshop-marker-shell{background:transparent;border:0}.workshop-marker{position:relative;display:grid;place-items:center;width:34px;height:34px;border:3px solid #f4eee4;border-radius:50% 50% 50% 0;background:#202b28;box-shadow:0 4px 14px #0000006b;transform:rotate(-45deg)}.workshop-marker.featured{background:var(--gold)}.workshop-marker span{width:9px;height:9px;border-radius:50%;background:#0c0b09}.map-popup{min-width:210px;color:#171511}.map-popup>span{color:#8a642a;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.map-popup h3{margin:7px 0 4px;font-size:19px}.map-popup p{margin:0;color:#3f3a31}.map-popup small{display:block;margin-top:6px;color:#6e675c}.popup-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.popup-links a{color:#704a12;font-size:12px;font-weight:800}.map-about{margin-top:86px}.map-step{color:var(--gold);font:28px/1 Georgia,Times New Roman,serif}@media (max-width: 980px){.map-layout{grid-template-columns:1fr}.map-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-map{min-height:540px}.map-canvas-wrap{height:540px}.workshop-directory{max-height:none;border-left:0;border-top:1px solid rgba(196,154,85,.22)}}@media (max-width: 620px){.map-toolbar{grid-template-columns:1fr}.workshop-map{min-height:480px}.map-canvas-wrap{height:480px}}
