/* Ruslan's live coverage atlas. Existing brand and product content are retained. */
.finder{width:100%;padding:var(--section-space) max(var(--gutter),calc((100% - var(--content))/2));background:var(--soft)}
.finder>.section-heading{padding:0;margin-bottom:32px}
.finder h2{font-size:clamp(34px,3.6vw,48px);letter-spacing:-.04em}
.finder>.section-heading>p{max-width:360px}
.coverage-atlas{background:#122820;border:1px solid #284b3a;border-radius:24px;color:#f0f7ef;box-shadow:0 12px 40px #10291b08;overflow:hidden}
.atlas-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-bottom:1px solid #ffffff12}
.atlas-kicker{font-size:10px;letter-spacing:1.8px;font-weight:600;color:#bbddac}
.atlas-top h3{font-size:22px;letter-spacing:-.5px;line-height:1.3;margin-top:6px}
.network-count{display:inline-flex;align-items:center;gap:9px;background:#213d2e;border:1px solid #43613c;border-radius:40px;padding:8px 12px;font-size:12px;color:#d8eac8;white-space:nowrap}
.network-count:before{content:'';width:6px;height:6px;border-radius:100%;background:#cafb8a;box-shadow:0 0 14px #c4ff88}
.atlas-search{padding:24px 28px 0}
.search-form{background:transparent;padding:0;gap:12px;grid-template-columns:1.5fr 1fr auto;border-radius:0}
.search-form label{font-size:13px;color:#cbdacf;font-weight:500}
.search-form input,.search-form select{background:#21392e;border:1px solid #45614c;color:#f2f7ee;border-radius:12px;min-height:48px}
.search-form input::placeholder{color:#a8b9aa}
.search-form .input-icon>span{color:#bfd2b8}
.search-form .button{background:#d8edbd;color:#193022;border-radius:999px;min-height:48px;min-width:136px}
.search-form .button:hover{background:#e1ffbe}
.search-form option{background:#21392e;color:#fff}
.atlas-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 28px 0;gap:16px}
.region-switch{display:flex;flex-wrap:wrap;gap:4px;background:#0b1e17;padding:4px;border-radius:14px;border:1px solid #34503d}
.region-switch button{padding:8px 14px;border:0;border-radius:10px;background:transparent;color:#b8cbb6;font-size:13px;min-height:44px;transition:background .2s,color .2s}
.region-switch button[aria-pressed=true]{background:#e7efdd;color:#1f3727;font-weight:700;box-shadow:0 2px 8px #0002}
.atlas-hint{color:#acc0a9;font-size:13px}
.map-stage{position:relative;height:400px;isolation:isolate;background:radial-gradient(ellipse at 22% 65%,#77ad6120,transparent 40%),radial-gradient(ellipse at 76% 32%,#678e6120,transparent 45%);margin:8px 18px 0}
.map-stage:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.18;background-image:radial-gradient(#abcc97 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(ellipse,#0009,transparent 75%)}
.malaysia-map{width:100%;height:100%;display:block;overflow:hidden}
.map-land path{fill:#315a43;stroke:#507456;stroke-width:.55;vector-effect:non-scaling-stroke;transition:fill .25s}
.map-land path.has-sellers{fill:#a3c57b;stroke:#d7f4ad;stroke-width:1.3}
.malaysia-map text{pointer-events:none;font-family:'DM Sans',Arial,sans-serif;letter-spacing:2px;fill:#adc3a2;font-size:13px;font-weight:600}
.malaysia-map .region-label{font-size:12px;letter-spacing:3.5px;fill:#d0dec5}
.malaysia-map .sea-label{font-size:10px;fill:#7b9d8e;letter-spacing:3.5px;font-style:italic}
.malaysia-map .neighbour-label{font-size:10px;fill:#718e78;letter-spacing:3px}
.map-leaders line{stroke:#ccf59c;stroke-opacity:.75;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:2 2}
.map-pins{position:absolute;inset:0;pointer-events:none}
.map-pin{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#18301e;padding:0;pointer-events:auto;isolation:isolate;z-index:2;border-radius:50%}
.pin-core{display:grid;place-items:center;width:21px;height:21px;background:#d8ffad;border:2px solid #f1ffd5;border-radius:50%;font-size:11px;font-weight:800;box-shadow:0 0 0 5px #baff8b18,0 0 23px #ccff8f99;transition:transform .2s}
.pin-halo{position:absolute;width:23px;height:23px;border:1px solid #d3ffae;border-radius:50%;z-index:-1;animation:coverage-pulse 2.8s ease-out infinite;pointer-events:none}
.map-pin:hover .pin-core,.map-pin:focus-visible .pin-core{transform:scale(1.16)}
.map-pin:focus-visible{outline:2px solid #ebffc4;outline-offset:3px}
.pin-label{position:absolute;left:40px;top:50%;transform:translateY(-50%);color:#ecf6df;font-size:13px;font-weight:600;text-shadow:0 1px 6px #10291f;background:#143022c9;padding:1px 6px;border-radius:4px;pointer-events:none;white-space:nowrap}
.map-controls{position:absolute;bottom:21px;right:14px;display:flex;flex-direction:column;border:1px solid #59744d;border-radius:10px;overflow:hidden;z-index:3;background:#1a3527;box-shadow:0 5px 20px #0002}
.map-controls button{height:44px;width:44px;border:0;background:transparent;color:#e1eed4;font-size:23px;line-height:1;display:grid;place-items:center}
.map-controls button+button{border-top:1px solid #ffffff18}
.map-controls button:hover{background:#34533b}
.map-controls button:last-child{font-size:20px}
.map-compass{position:absolute;left:14px;top:22px;font-size:10px;letter-spacing:1px;color:#d0e2c1;display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none}
.map-compass span{display:block;width:11px;height:22px;clip-path:polygon(50% 0,100% 100%,50% 73%,0 100%);background:linear-gradient(90deg,#779276 50%,#d0e2c1 50%)}
.map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#dae9cc;font-size:14px;background:#12282080}
.map-tooltip{position:absolute;width:300px;max-width:calc(100% - 24px);z-index:8;padding:17px;background:#fff;color:#1e3225;border:1px solid #d1dfc4;border-radius:13px;box-shadow:0 18px 50px #020d0799;opacity:0;visibility:hidden;transform:translateY(7px) scale(.98);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none;transform-origin:50% 90%}
.map-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid #e6ebdf}
.preview-heading strong{display:block;font-family:inherit;font-size:20px;line-height:1.2}
.preview-heading small{display:block;color:#6b7665;font-size:12px;margin-top:3px}
.preview-count{font-size:12px;background:#eef3e6;padding:4px 8px;border-radius:5px;white-space:nowrap}
.preview-sellers{list-style:none;margin:0;padding:4px 0;max-height:145px;overflow:auto}
.preview-sellers li{padding:9px 0;display:flex;flex-direction:column;line-height:1.35;font-size:14px;font-weight:600}
.preview-sellers li+li{border-top:1px solid #eef1e9}
.preview-sellers small{font-size:12px;color:#728069;font-weight:400;margin-top:3px}
.preview-open{background:#234632;color:#fff;font-size:13px;font-weight:600;border:0;width:100%;border-radius:7px;padding:11px;margin-top:10px;min-height:44px}
.atlas-bottom{padding:0 28px 24px}
.atlas-legend{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#aabd9f;margin-bottom:20px}
.atlas-legend>span:first-child{display:flex;align-items:center;gap:8px;color:#d9e9ca;font-size:13px}
.legend-light,.area-light{width:7px;height:7px;background:#d7ffac;box-shadow:0 0 12px #c5ff8a88;border-radius:50%;flex-shrink:0}
.area-rail{display:flex;gap:10px;flex-wrap:wrap}
.area-button{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #486543;background:#1b3527;color:#e5f0db;border-radius:10px;min-width:210px;text-align:left;transition:background .2s,border-color .2s}
.area-button:hover{background:#294d33;border-color:#a8cd81}
.area-button>span:nth-child(2){flex:1;display:flex;flex-direction:column;line-height:1.5}
.area-button strong{font-size:14px}.area-button small{color:#a7bda0;font-size:12px}
.area-count{font-size:12px;background:#2a4831;border-radius:5px;padding:4px 8px;white-space:nowrap}
.map-region-empty{border:1px dashed #527344;border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#cfdfc1;font-size:14px}
.map-region-empty a{color:#dcffae;font-size:14px;font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.map-unmapped{font-size:13px;color:#d7e6c9;margin:16px 0 0}
.map-unmapped button{color:inherit;min-height:44px}
.atlas-opportunity{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0;padding:20px 28px;background:#0e2119;border-top:1px solid #36563b}
.atlas-opportunity strong{font-size:16px;font-weight:600;color:#edf6df;display:block}
.atlas-opportunity p{font-size:13px;color:#aabd9f;margin-top:3px}
.atlas-opportunity a{padding:10px 17px;color:#d9f4b4;border:1px solid #5a7c45;border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.atlas-opportunity a:hover{background:#26422c}
.map-credit{font-size:11px;color:#7c8775;margin:13px 6px 0;text-align:right}
.map-credit a{text-decoration:underline;text-underline-offset:3px}
.finder-meta{padding:0;margin-top:20px}
.seller-dialog{border:1px solid #d9e0d0;border-radius:20px;padding:0;max-width:min(970px,calc(100vw - 40px));width:970px;max-height:88dvh;color:var(--ink);background:#f3f5ef;box-shadow:0 30px 100px #0005;overflow:auto;overscroll-behavior:contain}
.seller-dialog::backdrop{background:#07140dbb;backdrop-filter:blur(6px)}
.seller-dialog[open]{animation:dialog-enter .24s ease-out}
.dialog-header{position:sticky;top:0;z-index:2;background:#173624;color:#edf5e4;padding:24px 28px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.dialog-header .eyebrow{font-size:11px;margin-bottom:9px;color:#c6e6aa}
.dialog-header h2{font-size:32px;line-height:1.25;letter-spacing:-1px;color:#fff}
.dialog-header p:last-child{font-size:14px;color:#bbd2ac;margin-top:7px}
.dialog-close{width:44px;height:44px;display:grid;place-items:center;background:#ffffff10;border:1px solid #69805a;color:#eef8e5;font-size:27px;border-radius:50%;flex-shrink:0;line-height:1}
.dialog-content{padding:24px 28px 28px}
.dialog-filter{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px}
.dialog-filter p{font-size:14px;color:#617056;max-width:340px;line-height:1.5}
.dialog-filter label{min-width:250px;font-size:13px}
.dialog-filter select{font-size:14px;min-height:44px}
.dialog-sellers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dialog-sellers:has(.seller-card:only-child){grid-template-columns:minmax(0,1fr);max-width:630px;margin:auto}
.dialog-sellers .seller-top{padding:22px 21px 16px}.dialog-sellers .seller-products{padding:0 21px 18px}.dialog-sellers .seller-bottom{padding:16px 21px}
.dialog-sellers .seller-top h3{font-size:19px;line-height:1.4}
.dialog-sellers .seller-bottom{flex-wrap:wrap}.dialog-sellers .seller-bottom p{max-width:100%;flex:1;min-width:130px}
.dialog-empty{padding:30px;font-size:16px;grid-column:1/-1}
body.seller-dialog-open{overflow:hidden}
@keyframes coverage-pulse{0%{transform:scale(.8);opacity:.7}75%,100%{transform:scale(2.6);opacity:0}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1500px){.map-stage{height:420px}}
@media(max-width:900px){.atlas-hint{display:none}.map-stage{height:370px}.dialog-sellers{grid-template-columns:1fr}.dialog-filter{align-items:flex-start}.dialog-filter label{min-width:220px}.finder{padding-inline:var(--gutter)}.atlas-top,.atlas-search,.atlas-toolbar,.atlas-bottom,.atlas-opportunity{padding-left:22px;padding-right:22px}.pin-label{font-size:12px}}
@media(max-width:680px){
  .finder{padding:var(--section-space) var(--gutter)}.finder>.section-heading{padding:0;margin-bottom:28px}.finder h2{font-size:34px;letter-spacing:-.04em}
  .coverage-atlas{border-radius:22px}.atlas-top{padding:20px;align-items:flex-start;gap:10px;flex-wrap:wrap}.atlas-top h3{font-size:20px}.atlas-kicker{font-size:10px;letter-spacing:1.7px}.network-count{font-size:12px;padding:6px 10px;margin-top:2px}
  .atlas-search{padding:20px 16px 0}.search-form{grid-template-columns:minmax(0,1fr) auto;gap:12px}.search-form>label:first-child{grid-column:1/-1}.search-form>label{font-size:12px;gap:5px}.search-form input,.search-form select{font-size:16px}.search-form .button{min-width:100px;padding:10px 12px;margin:0;font-size:13px}
  .atlas-toolbar{padding:20px 12px 0}.region-switch{width:100%;gap:2px}.region-switch button{flex:1;padding:7px 5px;font-size:12px;min-height:44px;white-space:nowrap}
  .map-stage{height:320px;margin:8px 8px 0}.map-controls{right:9px;bottom:12px}.map-controls button{width:44px;height:44px}.map-compass{left:10px;top:17px}
  .pin-label{display:none}.atlas-bottom{padding:0 16px 20px}.atlas-legend{align-items:flex-start;margin-bottom:20px;gap:12px;flex-wrap:wrap;line-height:1.5}.atlas-legend>span:last-child{max-width:100%;font-size:12px}.atlas-legend>span:first-child{font-size:12px;white-space:nowrap}
  .area-rail{gap:9px}.area-button{width:100%;min-width:0;padding:11px 13px}.map-region-empty{display:block;font-size:13px}.map-region-empty a{display:inline-block;margin-top:12px}
  .atlas-opportunity{padding:20px 16px;flex-wrap:wrap;gap:16px}.atlas-opportunity strong{font-size:15px}.atlas-opportunity p{font-size:13px}.atlas-opportunity a{width:100%;text-align:center}.map-credit{font-size:11px;text-align:left;margin:13px 5px 0;line-height:1.5}
  .finder-meta{margin:16px 0 0;font-size:13px;padding:0}.map-tooltip{width:280px;padding:14px}.preview-sellers{max-height:100px}
  .seller-dialog{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:24px 24px 0 0;border-bottom:0}.dialog-header{padding:20px}.dialog-header h2{font-size:28px}.dialog-header p:last-child{font-size:13px}.dialog-content{padding:20px 16px max(24px,env(safe-area-inset-bottom))}.dialog-filter{display:block}.dialog-filter p{font-size:13px;max-width:100%;margin-bottom:15px}.dialog-filter label{min-width:0}.dialog-filter select{font-size:16px}.dialog-close{width:44px;height:44px}.dialog-sellers .seller-top{padding:20px 17px 16px}.dialog-sellers .seller-products{padding:0 17px 18px}.dialog-sellers .seller-bottom{padding:16px 17px}.dialog-sellers .seller-top h3{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.pin-halo{animation:none;opacity:.35;transform:scale(1.6)}.seller-dialog[open]{animation:none}.map-tooltip{transition:none}.map-land path,.pin-core{transition:none}}

/* Use the same type and spacing tokens as the rest of the page. */
.map-credit{color:var(--muted)}
.dialog-close{padding:0;flex-shrink:0}
.dialog-filter{gap:20px}
.dialog-filter label{font-weight:500}
.map-unmapped button{padding-inline:4px}
@media(max-width:370px){.search-form{grid-template-columns:minmax(0,1fr)}.search-form>label:first-child{grid-column:auto}.search-form .button{width:100%;margin-top:4px}.region-switch button{padding-inline:5px;font-size:12px}.atlas-top{padding-inline:16px}}
