/* Crime Catcher pins and cards on the Windsor Watchers Crime Map. */
/* Crime Catcher styles. Page top, ward shading and county hatching stay as they are. */
.cc-field{margin-top:12px}
.cc-toggle-label{display:flex;gap:8px;align-items:flex-start;font-size:.92rem;color:#E8F0D8;cursor:pointer}
.cc-toggle-label input{margin-top:3px}
.cc-toggle-note{margin:.35rem 0 0;font-size:.8rem;color:#C5D6A0}
.cc-pin{background:none;border:0}
.cc-pin-dot{
  display:block;width:16px;height:16px;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  background:#9BE22E;border:2px solid #0B1405;
  box-shadow:0 0 0 2px rgba(155,226,46,.35), 0 2px 6px rgba(0,0,0,.55);
}
.cc-card{
  position:fixed;z-index:2000;right:16px;top:88px;width:min(400px,calc(100% - 24px));
  max-height:calc(100vh - 110px);overflow:auto;
  background:linear-gradient(180deg,#14200c 0%,#0B1405 70%);
  color:#E8F0D8;border:2px solid #FFD400;border-radius:8px;
  box-shadow:0 12px 32px rgba(0,0,0,.55);
  padding:14px 14px 16px;font:400 15px/1.45 "Source Sans 3",system-ui,sans-serif;
}
.cc-close{
  position:absolute;top:8px;right:8px;font:inherit;font-weight:700;cursor:pointer;
  border:2px solid #9BE22E;background:#0B1405;color:#9BE22E;border-radius:999px;padding:2px 10px;
}
.cc-kicker{margin:0 40px 4px 0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#9BE22E;font-weight:700}
.cc-title{margin:0 40px 8px 0;font:700 1.15rem/1.25 "Newsreader",Georgia,serif;color:#FFD400;text-transform:none;letter-spacing:0}
.cc-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 8px;font-size:.86rem;color:#C5D6A0}
.cc-meta span{white-space:nowrap}
.cc-area{margin:0 0 10px;font-size:.86rem;color:#E8F0D8}
.cc-photo{margin:0 0 10px}
.cc-photo img{display:block;width:100%;height:auto;border:1px solid #FFD400;background:#0B1405}
.cc-photo figcaption{margin:4px 0 0;font-size:.78rem;color:#C5D6A0}
.cc-photo figcaption a{color:#9BE22E}
.cc-summary{margin:0 0 12px;color:#E8F0D8}
.cc-actions{margin:0 0 8px}
.cc-tip{
  display:inline-block;background:#9BE22E;color:#0B1405;font-weight:700;text-decoration:none;
  padding:8px 14px;border-radius:4px;border:2px solid #0B1405;
}
.cc-tip:hover,.cc-tip:focus{background:#FFD400}
.cc-links{margin:0 0 10px;font-size:.86rem}
.cc-links a{color:#9BE22E}
.cc-fine{margin:0;font-size:.78rem;color:#C5D6A0}
@media (max-width:640px){
  .cc-card{
    position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;
    max-height:62vh;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;
    right:auto;z-index:2000;
  }
}
/* Nov 10, 2026: all-areas pins, area filter, picture cards */
.cc-areas{margin:0 0 14px;padding:12px 14px;border:1px solid #3a4a22;border-radius:8px;background:#0f1808;color:#E8F0D8}
.cc-areas-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:8px}
.cc-areas-head h3{margin:0;font:700 1.05rem/1.2 "Newsreader",Georgia,serif;color:#FFD400}
.cc-select-label{font-size:.9rem;color:#C5D6A0}
.cc-select-label select{margin-left:6px;font:inherit;background:#0B1405;color:#E8F0D8;border:1px solid #9BE22E;border-radius:4px;padding:3px 6px}
.cc-chips{display:flex;flex-wrap:wrap;gap:6px}
.cc-chips button{font:600 .88rem/1 "Source Sans 3",system-ui,sans-serif;cursor:pointer;background:#0B1405;color:#E8F0D8;border:1px solid #5E8C12;border-radius:999px;padding:7px 11px}
.cc-chips button[aria-pressed="true"]{background:#FFD400;color:#0B1405;border-color:#FFD400}
.cc-chips button:hover,.cc-chips button:focus-visible{border-color:#FFD400}
.cc-count{display:inline-block;min-width:1.4em;margin-left:4px;padding:2px 6px;border-radius:999px;background:#1f2e10;color:#9BE22E;font-size:.78rem;text-align:center}
.cc-chips button[aria-pressed="true"] .cc-count{background:#0B1405;color:#FFD400}
.cc-area-line{margin:10px 0 6px;font-size:.92rem}
.cc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:.82rem;color:#C5D6A0;align-items:center}
.cc-key{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:4px;border:2px solid #0B1405}
.cc-key.cc-svc-wps,.cc-svc-wps .cc-pin-dot{background:#FFD400}
.cc-key.cc-svc-opp,.cc-svc-opp .cc-pin-dot{background:#5BC0FF}
.cc-key.cc-svc-lps,.cc-svc-lps .cc-pin-dot{background:#FF9F1C}
.cc-svc-opp .cc-pin-dot{box-shadow:0 0 0 2px rgba(91,192,255,.4),0 2px 6px rgba(0,0,0,.55)}
.cc-svc-lps .cc-pin-dot{box-shadow:0 0 0 2px rgba(255,159,28,.4),0 2px 6px rgba(0,0,0,.55)}
.cc-svc-wps .cc-pin-dot{box-shadow:0 0 0 2px rgba(255,212,0,.35),0 2px 6px rgba(0,0,0,.55)}
.cc-facts{margin:0 0 10px;display:grid;gap:4px}
.cc-facts div{display:grid;grid-template-columns:4.2em 1fr;gap:8px;font-size:.88rem}
.cc-facts dt{color:#9BE22E;font-weight:700}
.cc-facts dd{margin:0;color:#E8F0D8}
.cc-area-chip{display:inline-block;margin-left:4px;padding:0 6px;border-radius:999px;background:#1f2e10;color:#C5D6A0;font-size:.75rem}
.cc-photo img{aspect-ratio:3/2;object-fit:cover}
.cc-photo-file figcaption{font-style:italic}
/* Nov 10, 2026: pins coloured by type of crime, letter on each pin for colour-blind readers, police service badge on cards */
.cc-pin .cc-pin-dot{width:20px;height:20px;border:2px solid #0B1405;box-shadow:0 0 0 2px rgba(255,255,255,.75),0 2px 6px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center}
.cc-pin .cc-pin-dot b{transform:rotate(45deg);font:800 11px/1 "Source Sans 3",system-ui,sans-serif;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000}
.cc-g-theft .cc-pin-dot b,.cc-g-wanted .cc-pin-dot b,.cc-g-other .cc-pin-dot b{color:#111;text-shadow:none}
.cc-breaking .cc-pin-dot{animation:ccpulse 1.4s ease-out infinite}
@keyframes ccpulse{0%{box-shadow:0 0 0 2px #fff,0 0 0 0 rgba(255,255,255,.9)}100%{box-shadow:0 0 0 2px #fff,0 0 0 14px rgba(255,255,255,0)}}
@media (prefers-reduced-motion:reduce){.cc-breaking .cc-pin-dot{animation:none;box-shadow:0 0 0 4px #fff}}
.cc-cat-legend{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.cc-cat-legend button{display:inline-flex;align-items:center;gap:6px;background:#0B1405;color:#E8F0D8;border:1px solid #3d5a22;border-radius:999px;padding:3px 10px 3px 4px;font:600 .8rem/1.2 "Source Sans 3",system-ui,sans-serif;cursor:pointer}
.cc-cat-legend button[aria-pressed="true"]{border-color:#FFD400;background:#24330f}
.cc-cat-legend .cc-key{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font:800 10px/1 "Source Sans 3",system-ui,sans-serif;color:#fff;text-shadow:0 0 2px #000;margin:0;border:2px solid #0B1405;box-shadow:0 0 0 1px rgba(255,255,255,.7)}
.cc-cat-legend .cc-count{color:#9BE22E;font-weight:700}
.cc-legend-ring{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#C5D6A0;padding:3px 6px}
.cc-ring-key{width:14px;height:14px;border-radius:50%;background:transparent;border:2px solid #fff;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.cc-cat-tag{display:inline-flex;align-items:center;gap:6px}
.cc-cat-tag .cc-key{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font:800 9px/1 "Source Sans 3",system-ui,sans-serif;color:#fff;text-shadow:0 0 2px #000;border-radius:50%;margin:0}
.cc-dept{display:flex;align-items:center;gap:10px;margin:2px 40px 8px 0;padding:6px 8px;background:#0B1405;border:1px solid #3d5a22;border-radius:6px}
.cc-dept-img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #9BE22E;flex:none}
.cc-dept span{display:flex;flex-direction:column;line-height:1.2}
.cc-dept-label{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#C5D6A0}
.cc-dept strong{font-size:.98rem;color:#fff}
.cc-card .cc-photo:first-of-type{margin-top:30px}

/* Nov 10, 2026: missing person banner, card, pin and pattern pin */
.cc-g-missing .cc-pin-dot b,.cc-g-missing_pattern .cc-pin-dot b{color:#111;text-shadow:none}
.cc-missing-open .cc-pin-dot{animation:ccpulse 1.4s ease-out infinite}
.cc-pattern-pin .cc-pin-dot{border-radius:3px}
.cc-example-flag{
  margin:28px 40px 10px 0;padding:8px 10px;border:2px solid #00E5FF;border-radius:6px;
  background:#042a30;color:#00E5FF;font-weight:700;font-size:.86rem
}
.cc-missing-banner{
  position:sticky;top:0;z-index:800;margin:0 0 14px;padding:12px 16px;
  background:linear-gradient(180deg,#042a30 0%,#061418 100%);
  border:3px solid #00E5FF;border-radius:10px;color:#E8F0D8;
  box-shadow:0 0 0 3px #000,0 0 18px rgba(0,229,255,.35)
}
.cc-missing-banner[hidden]{display:none !important}
.cc-missing-banner-title{
  margin:0 0 6px;font:700 1.15rem/1.2 "Source Sans 3",system-ui,sans-serif;
  color:#00E5FF;letter-spacing:.06em;text-transform:uppercase
}
.cc-missing-banner-list{margin:0 0 6px;padding:0 0 0 1.15em}
.cc-missing-banner-list a{color:#FFD400;font-weight:700}
.cc-missing-banner-list a:hover,.cc-missing-banner-list a:focus-visible{color:#fff}
.cc-missing-banner-note{margin:0;font-size:.82rem;color:#C5D6A0}
.cc-call-line{margin:0 0 10px;font-weight:700;color:#E8F0D8}
.cc-call-line a{color:#00E5FF}
.cc-missing-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cc-call{
  display:inline-block;background:#00E5FF;color:#0B1405;font-weight:700;text-decoration:none;
  padding:8px 14px;border-radius:4px;border:2px solid #0B1405
}
.cc-call:hover,.cc-call:focus{background:#FFD400;color:#0B1405}
.cc-share{
  display:inline-block;font:inherit;font-weight:700;cursor:pointer;
  background:#0B1405;color:#00E5FF;border:2px solid #00E5FF;border-radius:4px;padding:8px 14px
}
.cc-share:hover,.cc-share:focus{background:#042a30;color:#fff;border-color:#fff}
@media (prefers-reduced-motion:reduce){
  .cc-missing-open .cc-pin-dot{animation:none;box-shadow:0 0 0 4px #fff}
}
.cc-card-missing{max-height:calc(100vh - 24px);top:12px}
.cc-card-missing .cc-photo{margin-top:28px}
.cc-card-missing .cc-photo img{aspect-ratio:auto;max-height:180px;object-fit:contain;object-position:center top}
.cc-card-missing .cc-example-flag{margin-top:28px}
@media (max-width:640px){
  .cc-card-missing{
    top:auto;
    bottom:0;
    max-height:66vh;
  }
  .cc-card-missing .cc-example-flag{margin-top:24px;padding:6px 8px;font-size:.8rem}
  .cc-card-missing .cc-photo{margin:8px 0}
  .cc-card-missing .cc-photo img{max-height:72px}
}

/* Nov 10, 2026: outlaw motorcycle gang pin uses a generic motorcycle icon, never a club logo */
.cc-moto{display:block;width:12px;height:12px;color:#F5F0E6}
.cc-pin .cc-pin-dot .cc-moto{transform:rotate(45deg);width:13px;height:13px}
.cc-cat-legend .cc-key .cc-moto,.cc-cat-tag .cc-key .cc-moto{width:12px;height:12px}
.cc-g-biker .cc-pin-dot{box-shadow:0 0 0 2px rgba(245,240,230,.8),0 2px 6px rgba(0,0,0,.6)}
