.sdh-dispatches { --dispatch-red:#b51616; color:#292a2e; font:400 16px/1.6 'Roboto',Arial,sans-serif; width:100%; min-width:0; }
.sdh-dispatches *, .sdh-dispatches *::before, .sdh-dispatches *::after { box-sizing:border-box; }
.sdh-dispatches [hidden] { display:none !important; }
.sdh-dispatches :is(h2,h3,h4,p) { font-family:inherit; }
.sdh-dispatches h2 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.15; font-weight:750; margin:0; letter-spacing:-.025em; }
.sdh-dispatches h3 { font-size:1.25rem; line-height:1.35; font-weight:700; margin:0; }
.sdh-dispatches a { color:var(--dispatch-red); text-decoration:none; }
.sdh-dispatches a:hover { text-decoration:underline; }
.sdh-dispatches :is(a,button,select):focus-visible { outline:3px solid var(--dispatch-red); outline-offset:4px; }
.sdh-dispatches button { font-family:inherit; cursor:pointer; border-radius:0; }
.sdh-dispatch-strip { background:#f6f6f5; border-top:1px solid #e8e8e8; border-bottom:1px solid #e8e8e8; padding:3.75rem .9375rem; }
.sdh-dispatch-inner { max-width:1140px; margin:auto; }
.sdh-dispatch-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:2rem; }
.sdh-dispatches .sdh-dispatch-kicker { margin:0 0 .875rem; color:var(--dispatch-red); text-transform:uppercase; font-weight:700; font-size:.75rem; letter-spacing:.13em; }
.sdh-dispatches .sdh-dispatch-all { display:inline-flex; align-items:center; gap:1.25rem; font-weight:650; font-size:.9375rem; white-space:nowrap; }
.sdh-dispatch-all > span { font-size:1.5rem; }
.sdh-dispatch-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.125rem; }
.sdh-dispatches .sdh-dispatch-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:1.5rem; background:white; border:1px solid #e0e0e0; border-top:3px solid var(--dispatch-red); color:#292a2e; transition:border-color .2s,transform .2s; text-decoration:none; }
.sdh-dispatches .sdh-dispatch-card:hover { border-color:var(--dispatch-red); transform:translateY(-3px); text-decoration:none; }
.sdh-dispatch-type { display:flex; align-items:center; gap:.5rem; color:var(--dispatch-red); font-size:.75rem; font-weight:750; line-height:1.4; }
.sdh-dispatch-dot { display:inline-block; flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:currentColor; }
.sdh-dispatch-card time { font-size:.8125rem; color:#686868; margin:.6rem 0 1.3rem; }
.sdh-dispatch-card h3 { font-size:1.18rem; margin:0 0 .75rem; overflow-wrap:anywhere; }
.sdh-dispatch-card p { font-size:.9rem; color:#595959; margin:0 0 1.25rem; }
.sdh-dispatch-card-link { margin-top:auto; padding-top:1rem; width:100%; border-top:1px solid #ededed; display:flex; justify-content:space-between; gap:.5rem; font-weight:650; font-size:.8125rem; }
.sdh-dispatches .sdh-dispatch-status { font-size:.75rem; color:#6a6a6a; margin:1.25rem 0 0; }
.sdh-dispatch-status a { color:inherit; text-decoration:underline; }
body.page-id-45 #content { width:100%; max-width:none; padding:0; font-family:'Roboto',Arial,sans-serif; }
.sdh-dispatch-archive-content { max-width:1170px; margin:0 auto; padding:3.5rem 15px 4rem; }
.sdh-dispatch-hero > .sdh-dispatch-map { height:clamp(580px,65vh,800px); }
.sdh-dispatch-archive-content > h1 { font:750 clamp(2.4rem,5vw,3.5rem)/1.1 'Roboto',Arial,sans-serif; letter-spacing:-.03em; margin:0 0 2.75rem; }
.sdh-dispatch-archive .sdh-dispatch-heading { margin-bottom:0; align-items:flex-end; }
.sdh-dispatch-lead { color:#626262; margin:1rem 0 0; }
.sdh-dispatch-filter { flex-shrink:0; }
.sdh-dispatch-filter label { display:block; font-size:.75rem; font-weight:650; margin-bottom:.5rem; }
.sdh-dispatch-filter > div { display:flex; gap:.5rem; }
.sdh-dispatch-filter select { min-width:100px; min-height:44px; border:1px solid #c9c9c9; border-radius:0; background:#fff; color:#292a2e; padding:.5rem .75rem; font:600 1rem 'Roboto',Arial,sans-serif; }
.sdh-dispatch-filter button { min-height:44px; background:var(--dispatch-red); border:1px solid var(--dispatch-red); color:white; padding:.5rem 1rem; font-weight:600; }
.sdh-dispatch-filter button:hover { background:#921010; }
.sdh-dispatch-notice { background:#fff5de; color:#674c10; font-size:.875rem; padding:1rem; }
.sdh-dispatch-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:2rem 0; }
.sdh-dispatch-metrics > div { border-left:3px solid var(--dispatch-red); padding:1.25rem 1.5rem; background:#f6f6f5; }
.sdh-dispatch-metrics strong { display:block; font-size:2.4rem; line-height:1.2; font-weight:750; letter-spacing:-.04em; }
.sdh-dispatch-metrics span { display:block; color:#626262; font-size:.875rem; margin-top:.375rem; }
.sdh-dispatch-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; }
.sdh-dispatch-panel-heading > span { color:#686868; font-size:.75rem; text-align:right; }
.sdh-dispatch-map-shell { position:relative; overflow:hidden; }
.sdh-dispatch-map { height:440px; background:#ecefeb; z-index:0; font-family:inherit; }
.sdh-dispatch-map > p { padding:1.5rem; }
.sdh-dispatches .sdh-dispatch-map-help { padding:1rem 1.5rem; margin:0; font-size:.75rem; color:#666; }
.sdh-dispatch-bar { height:7px; background:#515256; }
.sdh-dispatch-bar > span { display:block; height:100%; background:var(--bar-color,#e96861); }
.sdh-dispatch-list { margin-top:2.5rem; border:1px solid #e3e3e3; }
.sdh-dispatch-table-scroll { overflow-x:auto; }
.sdh-dispatch-list table { width:100%; margin:0; border-collapse:collapse; font-size:.875rem; text-align:left; }
.sdh-dispatch-list :is(td,th) { padding:1rem 1.5rem; border:0; border-top:1px solid #e8e8e8; background:transparent; vertical-align:middle; }
.sdh-dispatch-list th { background:#f6f6f5; color:#686868; font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase; }
.sdh-dispatch-list td:first-child { white-space:nowrap; font-size:.8125rem; }
.sdh-dispatch-list td:nth-child(2) { width:36%; }
.sdh-dispatch-list td strong { display:block; font-weight:650; }
.sdh-dispatch-list td span:not([aria-hidden]) { display:block; color:#686868; font-size:.8rem; margin-top:.25rem; }
.sdh-dispatch-list tbody tr:hover { background:#fafafa; }
.sdh-dispatch-list button { padding:.5rem 0; color:var(--dispatch-red); background:transparent; border:0; font-weight:650; font-size:.8125rem; white-space:nowrap; min-height:44px; }
.sdh-dispatch-list > p { padding:1.5rem; margin:0; }
.sdh-dispatch-footnote { color:#686868; font-size:.75rem; margin:1.25rem 0 2.75rem; }
.sdh-dispatch-drawer { position:absolute; z-index:1000; inset:0 0 0 auto; width:min(380px,100%); overflow-y:auto; background:#fff; border-left:3px solid var(--dispatch-red); box-shadow:-8px 0 30px #0002; padding:1.5rem; animation:sdh-slide-in .2s ease; }
.sdh-dispatch-drawer .sdh-dispatch-close { position:sticky; float:right; top:0; margin:-.5rem -.5rem .5rem .5rem; display:grid; place-items:center; width:40px; height:40px; font-size:1.7rem; line-height:1; color:#292a2e; background:#f1f1f1; border:0; z-index:1; }
.sdh-dispatch-drawer h3 { clear:both; margin:.75rem 0; }
.sdh-dispatch-drawer h4 { font-size:.875rem; margin:1.5rem 0 .5rem; }
.sdh-dispatch-drawer time { font-size:.8125rem; color:#666; display:block; }
.sdh-dispatch-drawer p { margin:.75rem 0; font-size:.875rem; }
.sdh-dispatch-drawer ul { list-style:none; margin:0; padding:0; }
.sdh-dispatch-drawer li { font-size:.8125rem; padding:.75rem 0; border-bottom:1px solid #e6e6e6; }
.sdh-dispatch-drawer li strong { display:block; }
.sdh-dispatch-drawer .is-own { color:var(--dispatch-red); }
.sdh-dispatch-choice { display:block; width:100%; text-align:left; background:#f6f6f5; border:1px solid #ddd; color:#292a2e; padding:.75rem; margin:.5rem 0; }
.sdh-dispatch-marker { background:transparent; border:0; }
.sdh-dispatch-marker-symbol { display:grid; place-items:center; width:36px; height:36px; background:var(--marker-color,#59636f); color:#fff; border:2px solid #fff; border-radius:50%; box-shadow:0 1px 6px #0006; }
.sdh-dispatch-marker-symbol svg { width:23px; height:23px; }
.sdh-dispatch-marker-count { position:absolute; top:-6px; right:-7px; min-width:19px; height:19px; padding:0 3px; display:grid; place-items:center; border-radius:10px; background:#fff; color:#292a2e; border:1px solid #b7bdc3; font:700 11px/1 'Roboto',Arial,sans-serif; }
.sdh-dispatch-map-legend { padding:.5rem .65rem; background:#fffffff0; box-shadow:0 1px 5px #0002; max-width:230px; font:400 12px/1.4 'Roboto',Arial,sans-serif; color:#292a2e; }
.sdh-dispatch-map-legend > span { display:flex; align-items:center; gap:.4rem; margin:.2rem 0; }
.sdh-dispatch-map-legend i { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#fff; flex:0 0 22px; }
.sdh-dispatch-map-legend svg { width:16px; height:16px; }
.sdh-dispatches .leaflet-control-layers label { font-size:12px; }
.sdh-dispatches .leaflet-control-layers input { width:auto; }
.sdh-dispatch-coverage { background:#f6f6f5; padding:1.5rem 2rem; margin:1rem 0 2rem; }
.sdh-dispatch-coverage summary { font-weight:700; cursor:pointer; }
.sdh-dispatch-coverage > ul { columns:3; padding-left:1.25rem; margin-top:1.5rem; }
.sdh-dispatch-coverage > ul > li { break-inside:avoid; }
@keyframes sdh-slide-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(max-width:1024px) { .sdh-dispatch-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .sdh-dispatch-heading { align-items:flex-start; flex-direction:column; } .sdh-dispatch-archive .sdh-dispatch-heading { align-items:flex-start; } .sdh-dispatch-strip { padding:2.5rem .9375rem; } .sdh-dispatch-card { padding:1.1rem !important; } .sdh-dispatch-metrics { gap:.5rem; } .sdh-dispatch-metrics > div { padding:1rem .75rem; } .sdh-dispatch-metrics strong { font-size:1.9rem; } .sdh-dispatch-metrics span { font-size:.75rem; } .sdh-dispatch-map { height:410px; } .sdh-dispatch-panel-heading { padding:1rem; } .sdh-dispatch-list :is(td,th) { padding:.85rem 1rem; } .sdh-dispatch-list table { min-width:620px; } .sdh-dispatch-coverage > ul { columns:1; } }
@media(max-width:480px) { .sdh-dispatch-cards { grid-template-columns:minmax(0,1fr); } .sdh-dispatch-card time { margin:.5rem 0 .75rem; } .sdh-dispatch-card-link { padding-top:.6rem; } }
@media(prefers-reduced-motion:reduce) { .sdh-dispatch-drawer { animation:none; } .sdh-dispatch-card { transition:none !important; } }

/* Homepage split: compact dispatch list and an edge-to-edge interactive map. */
.sdh-dispatch-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; border:0; background:#f7f7f7; }
.sdh-dispatch-latest-content { padding:5rem 4rem 5rem max(2rem,calc((100vw - 1440px)/2 + 106px)); min-width:0; }
.sdh-dispatch-strip .sdh-dispatch-heading { margin-bottom:2.5rem; }
.sdh-dispatch-strip .sdh-dispatch-cards { display:flex; flex-direction:column; gap:.9375rem; }
.sdh-dispatch-strip .sdh-dispatch-card { flex-direction:row; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; border:0; box-shadow:0 0 10px #00000012; }
.sdh-dispatch-strip .sdh-dispatch-card > div { min-width:0; }
.sdh-dispatch-strip .sdh-dispatch-card:hover { transform:none; background:#fffafa; }
.sdh-dispatch-strip .sdh-dispatch-card time { display:block; margin:0 0 .2rem; color:var(--dispatch-red); font-size:.875rem; }
.sdh-dispatch-strip .sdh-dispatch-card h3 { margin:0 0 .2rem; font-size:1rem; line-height:1.4; }
.sdh-dispatch-strip .sdh-dispatch-card p { margin:0; font-size:.875rem; }
.sdh-dispatch-arrow { width:24px; height:24px; flex:0 0 24px; color:var(--dispatch-red); }
.sdh-dispatch-strip .sdh-dispatch-all { margin-top:2rem; padding:.8rem 1.6rem; background:var(--dispatch-red); color:#fff; min-height:44px; text-decoration:none; }
.sdh-dispatch-strip .sdh-dispatch-all:hover { background:#921010; text-decoration:none; }
.sdh-dispatch-latest-map { min-height:560px; }
.sdh-dispatch-latest-map > .sdh-dispatch-map { position:absolute; inset:0; height:100%; width:100%; }
@media(max-width:1200px) {
    .sdh-dispatch-latest-content { padding:3.75rem 2rem; }
}
@media(max-width:767px) {
    .sdh-dispatch-strip { grid-template-columns:minmax(0,1fr); }
    .sdh-dispatch-latest-content { padding:3rem 1.25rem; }
    .sdh-dispatch-latest-map { min-height:440px; }
}

/* Match the date and location typography in the upcoming events calendar. */
.sdh-dispatch-strip .sdh-dispatch-card :is(time,p) { font:500 .875rem/1.4 'Roboto',Arial,sans-serif; color:var(--dispatch-red); }
.sdh-dispatch-strip .sdh-dispatch-card p:not(:empty)::before {
    content:''; display:inline-block; width:.75rem; height:.875rem;
    margin-right:.25rem; vertical-align:-.0625rem; background-color:currentColor;
    mask:url('/wp-content/uploads/2026/09/sdh-map-marker-alt.svg') center / contain no-repeat;
}
/* The informational legend must not block markers underneath on narrow maps. */
.sdh-dispatches .sdh-dispatch-map-legend { pointer-events:none; }

/* The archive opens with a full-width map; its legend also carries yearly statistics. */
.sdh-dispatch-map-summary.leaflet-control { width:330px; max-width:calc(100vw - 32px); padding:1.25rem; margin:0 24px 24px 0; background:#fffffff5; border:1px solid #e3e3e3; box-shadow:0 3px 18px #0002; }
.sdh-dispatch-map-summary h3 { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:0 0 1.25rem; font-size:1rem; }
.sdh-dispatch-map-summary h3 > span { font-size:.8125rem; font-weight:400; color:#686868; }
.sdh-dispatch-legend-stat { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:.65rem; margin:1rem 0; }
.sdh-dispatch-legend-stat > i { width:30px; height:30px; }
.sdh-dispatch-legend-stat svg { width:21px; height:21px; }
.sdh-dispatch-legend-label { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; margin-bottom:.4rem; }
.sdh-dispatch-legend-label strong { white-space:nowrap; font-weight:700; }
.sdh-dispatch-map-summary .sdh-dispatch-bar { height:5px; background:#e2e2e2; }
.sdh-dispatch-map-summary > span { margin-top:1rem; padding-top:.75rem; border-top:1px solid #e3e3e3; }
@media(max-width:767px) {
    .sdh-dispatch-hero > .sdh-dispatch-map { height:clamp(560px,75svh,680px); }
    .sdh-dispatch-archive-content { padding:2.5rem 1rem 3rem; }
    .sdh-dispatch-map-summary.leaflet-control { width:300px; padding:1rem; margin:0 12px 12px 0; }
    .sdh-dispatch-map-summary h3 { margin-bottom:.75rem; }
    .sdh-dispatch-legend-stat { margin:.75rem 0; }
}
