/* coverage.css - "Where we serve" coverage map: Ontario base SVG + inline pin
   overlay, region tabs, crawlable pills, GTA inset, stats strip, hover linking,
   staggered reveal. GLOBAL as of v0.58.0: promoted out of location.css (was
   body.single-stk_location scoped) so the Ontario hub and any page can render
   the map. Class-scoped and inert without .stk-cov markup. Interactive
   behaviour (tabs/hover/reveal) ships in location.js on stk_location pages;
   promoting that JS is the paired follow-up when the hub gets the map. */

/* ============================================================
   Coverage map ("Where we serve") - non-office served pages   v0.51.0
   Cached base SVG (assets/maps/coverage/*) + per-page inline pin overlay.
   Pills are the canonical crawlable internal links; pins are decorative.
   ============================================================ */
.stk-cov{display:flex;flex-direction:column;gap:30px;}
.stk-cov__main{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;}
.stk-cov__map{position:relative;border:1px solid var(--stk-border);border-radius:var(--stk-r-card);overflow:hidden;background:#eaf1fb;}
.stk-cov__base{display:block;width:100%;height:auto;}
.stk-cov__pins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.stk-cov__conn{stroke:var(--stk-blue);stroke-width:2;stroke-dasharray:5 4;opacity:.55;}
.stk-cov__dot{fill:var(--stk-blue);stroke:#fff;stroke-width:2;}
.stk-cov__ring{fill:#fff;stroke:var(--stk-navy,#1e3a8a);stroke-width:3;}
.stk-cov__core{fill:var(--stk-navy,#1e3a8a);}
.stk-cov__pulse{fill:var(--stk-blue);transform-box:fill-box;transform-origin:center;animation:stk-cov-pulse 2.2s ease-out infinite;}
@keyframes stk-cov-pulse{0%{transform:scale(.5);opacity:.55;}100%{transform:scale(4);opacity:0;}}
@media(prefers-reduced-motion:reduce){.stk-cov__pulse{animation:none;opacity:.4;}}
.stk-cov__inset{position:absolute;right:12px;bottom:12px;width:38%;max-width:228px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 6px 20px rgba(15,23,42,.16);overflow:hidden;}
.stk-cov__inset-cap{display:block;font-family:var(--stk-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--stk-ink-2);padding:5px 8px;border-bottom:1px solid #eef2f7;background:#f8fafc;}
.stk-cov__inset-wrap{position:relative;}
.stk-cov__inset-base{display:block;width:100%;height:auto;}
.stk-cov__inset-pins{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.stk-cov__legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--stk-ink-2);font-weight:500;}
.stk-cov__legend i{display:inline-flex;align-items:center;gap:8px;font-style:normal;}
.stk-cov__legend svg{flex:none;}
.stk-cov__aside{display:flex;flex-direction:column;}
.stk-cov__viewall{margin-top:18px;}
.stk-cov__list{border-top:1px solid #eef2f7;padding-top:24px;}
.stk-cov__group{margin-bottom:16px;}
.stk-cov__group:last-child{margin-bottom:0;}
.stk-cov__group-label{font-family:var(--stk-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--stk-muted-3,#94a3b8);margin:0 0 10px;font-weight:600;}
.stk-cov__pills{display:flex;flex-wrap:wrap;gap:8px;}
.stk-cov__pill{display:inline-flex;align-items:center;gap:6px;background:var(--stk-surface-1);border:1px solid var(--stk-border);color:var(--stk-ink-2);text-decoration:none;font-size:13.5px;font-weight:500;padding:6px 12px;border-radius:999px;transition:background .12s,border-color .12s,color .12s;}
.stk-cov__pill:hover{background:#fff;border-color:var(--stk-blue);color:var(--stk-blue);}
.stk-cov__pill-ic{width:11px;height:11px;color:var(--stk-blue);flex:none;}
.stk-cov__pill-ic svg,.stk-cov__pill-ic{display:inline-block;}
.stk-cov__pill.is-current{background:var(--stk-blue);border-color:var(--stk-blue);color:#fff;}
.stk-cov__pill.is-current .stk-cov__pill-ic{color:#fff;}
@media(max-width:860px){.stk-cov__main{grid-template-columns:1fr;}}

/* ============================================================
   Coverage map - Option D (region tabs, linked hover, staggered
   reveal, stats strip, depth).  v0.51.0
   ============================================================ */
.stk-cov__stats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;margin:-6px 0 28px;font-size:14px;color:var(--stk-ink-2);}
.stk-cov__stats span{display:inline-flex;align-items:center;}
.stk-cov__stats span:not(:first-child){padding-left:18px;margin-left:18px;border-left:1px solid var(--stk-border);}
.stk-cov__stats strong{font-family:var(--stk-display);color:var(--stk-ink);font-weight:700;margin-right:6px;}
.stk-cov__filter{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #eef2f7;padding-top:22px;margin-bottom:18px;}
.stk-cov__tab{background:#fff;border:1px solid #cbd5e1;color:var(--stk-ink-2);font-family:var(--stk-body,'Inter',sans-serif);font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;}
.stk-cov__tab:hover{border-color:var(--stk-blue);color:var(--stk-blue);}
.stk-cov__tab.is-on{background:var(--stk-ink);border-color:var(--stk-ink);color:#fff;}
.stk-cov__list--flat{display:flex;flex-wrap:wrap;gap:10px;border-top:none;padding-top:0;}
.stk-cov__list--flat .stk-cov__pill{padding:8px 15px;font-size:14px;}
.stk-cov__more{margin:20px 0 0;font-size:.96rem;color:var(--stk-ink-2);}
.stk-cov__more a{color:var(--stk-blue);font-weight:600;text-decoration:none;}
.stk-cov__more a:hover{text-decoration:underline;}
/* pills filter to active region (JS present = .cov-anim; no-JS shows all) */
.stk-cov.cov-anim[data-filter="gta"] .stk-cov__pill:not([data-region="gta"]),
.stk-cov.cov-anim[data-filter="sw"] .stk-cov__pill:not([data-region="sw"]),
.stk-cov.cov-anim[data-filter="east"] .stk-cov__pill:not([data-region="east"]){display:none;}
/* map spotlight only after a tab is clicked (.cov-focused) so full coverage shows on load */
.stk-cov.cov-focused[data-filter="gta"] .stk-cov__pin:not([data-region="gta"]),
.stk-cov.cov-focused[data-filter="sw"] .stk-cov__pin:not([data-region="sw"]),
.stk-cov.cov-focused[data-filter="east"] .stk-cov__pin:not([data-region="east"]){opacity:.12;}
/* inset is only meaningful on GTA / All - hide it when a non-GTA region is focused */
.stk-cov.cov-focused[data-filter="sw"] .stk-cov__inset,.stk-cov.cov-focused[data-filter="east"] .stk-cov__inset{display:none;}
.stk-cov__pins{filter:drop-shadow(0 1px 2px rgba(15,23,42,.22));}
.stk-cov__lead{stroke:var(--stk-blue);stroke-width:1.4;stroke-dasharray:4 4;opacity:.4;}
.stk-cov__pins,.stk-cov__inset-pins{pointer-events:none;}
.stk-cov__pin{pointer-events:auto;cursor:pointer;}
.stk-cov__dot{transition:r .12s;}
.stk-cov__lbl{font-family:var(--stk-body,'Inter',sans-serif);font-weight:600;font-size:14px;fill:var(--stk-ink);paint-order:stroke;stroke:#fff;stroke-width:3.5;text-anchor:middle;opacity:0;transition:opacity .12s;pointer-events:none;}
.stk-cov__inset-pins .stk-cov__lbl{font-size:12px;stroke-width:3;}
.stk-cov__pin.is-hot .stk-cov__lbl{opacity:1;}
.stk-cov__pin--current .stk-cov__lbl{opacity:1;fill:var(--stk-blue);font-weight:700;}
.stk-cov__pin.is-hot .stk-cov__dot{r:11;}
.stk-cov__inset-pins .stk-cov__pin.is-hot .stk-cov__dot{r:8.5;}
.stk-cov__pin--office.is-hot .stk-cov__ring{stroke:var(--stk-blue);}
.stk-cov__pin--office.is-hot .stk-cov__core{fill:var(--stk-blue);}
.stk-cov__pin.is-hot{opacity:1 !important;}
.stk-cov__pill.is-hot{background:#fff;border-color:var(--stk-blue);color:var(--stk-blue);}
.stk-cov__pill.is-hot .stk-cov__pill-ic{color:var(--stk-blue);}
.stk-cov__pill.is-current.is-hot{background:var(--stk-blue);color:#fff;}
.stk-cov.cov-anim .stk-cov__pin{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .45s ease,transform .5s cubic-bezier(.34,1.56,.64,1);}
.stk-cov.cov-anim.is-revealed .stk-cov__pin{opacity:1;transform:scale(1);}
.stk-cov.cov-anim .stk-cov__inset-pins .stk-cov__pin{opacity:1;transform:none;}
.stk-cov.cov-anim .stk-cov__lead{opacity:0;transition:opacity .5s ease .5s;}
.stk-cov.cov-anim.is-revealed .stk-cov__lead{opacity:.4;}
@media(prefers-reduced-motion:reduce){.stk-cov.cov-anim .stk-cov__pin{opacity:1!important;transform:none!important;transition:none!important;}.stk-cov.cov-anim .stk-cov__lead{opacity:.4;}}

/* Office-page "Where we serve across Ontario" - region-filtered list, no map. */
.stk-cov--list{margin-top:2px;}
.stk-cov--list .stk-cov__filter{border-top:none;padding-top:4px;}
