/* Historic Marker Map + Research Tools */
:root {
  --ochs-navy: #1f2a30;
  --ochs-teal: #45818e;
  --ochs-teal-deep: #366a74;
  --ochs-ink: #2b2b2b;
  --ochs-muted: #6b6b6b;
  --ochs-line: #e5e7e8;
  --ochs-paper: #f4f7f8;
  --ochs-white: #fff;
  --ochs-serif: "Libre Baskerville", Georgia, serif;
  --ochs-sans: "Urbanist", "Open Sans", Helvetica, Arial, sans-serif;
}
.ochs-markers {
  color: var(--ochs-ink);
  font-family: var(--ochs-sans);
  background:
    radial-gradient(900px 320px at 8% -8%, rgba(69,129,142,.12), transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--ochs-paper) 42%, #fff 100%);
  padding-bottom: 4rem;
}
.ochs-markers *, .ochs-markers *::before, .ochs-markers *::after { box-sizing: border-box; }
.ochs-markers__shell { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.ochs-markers__hero {
  border-bottom: 1px solid var(--ochs-line);
  background: linear-gradient(180deg, #fff 0%, rgba(244,247,248,.85) 100%);
  padding: 1.75rem 0 1.35rem; margin-bottom: 1.5rem;
}
.ochs-markers__crumbs { display:flex; flex-wrap:wrap; gap:.35rem .5rem; font-size:.85rem; color:var(--ochs-muted); margin-bottom:.85rem; }
.ochs-markers__crumbs a { color:var(--ochs-teal-deep); text-decoration:none; }
.ochs-markers__crumbs a:hover { color:var(--ochs-navy); }
.ochs-markers__kicker { margin:0 0 .45rem; color:var(--ochs-teal); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ochs-markers__hero h1 { margin:0; font-family:var(--ochs-serif); font-size:clamp(1.85rem,3.2vw,2.55rem); line-height:1.2; color:var(--ochs-navy); max-width:18ch; }
.ochs-markers__lede { margin:.75rem 0 0; max-width:40rem; color:var(--ochs-muted); font-size:1.05rem; line-height:1.55; }
.ochs-markers__subnav { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.15rem; }
.ochs-markers__subnav a {
  display:inline-flex; align-items:center; padding:.45rem .85rem; border:1px solid var(--ochs-line);
  background:var(--ochs-white); color:var(--ochs-navy); text-decoration:none; font-size:.9rem; font-weight:600; border-radius:999px;
}
.ochs-markers__subnav a:hover, .ochs-markers__subnav a.is-active { background:var(--ochs-teal); border-color:var(--ochs-teal); color:#fff; }
.ochs-markers__hub { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; }
.ochs-markers__card {
  display:flex; flex-direction:column; gap:.55rem; padding:1.35rem 1.25rem 1.2rem; background:var(--ochs-white);
  border:1px solid var(--ochs-line); border-top:3px solid var(--ochs-teal); text-decoration:none; color:inherit; min-height:100%;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ochs-markers__card:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(31,42,48,.08); }
.ochs-markers__card-kicker { color:var(--ochs-teal); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.ochs-markers__card h2 { margin:0; font-family:var(--ochs-serif); font-size:1.35rem; color:var(--ochs-navy); line-height:1.25; }
.ochs-markers__card p { margin:0; color:var(--ochs-muted); line-height:1.5; flex:1; }
.ochs-markers__card-cta { margin-top:.4rem; color:var(--ochs-teal-deep); font-weight:700; font-size:.92rem; }
.ochs-markers__map-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr); gap:1.15rem; }
.ochs-markers__map-panel, .ochs-markers__sidebar { background:var(--ochs-white); border:1px solid var(--ochs-line); }
.ochs-markers__map-note { margin:0; padding:.75rem 1rem; font-size:.9rem; color:var(--ochs-muted); border-bottom:1px solid var(--ochs-line); background:rgba(69,129,142,.06); }
.ochs-markers__canvas { width:100%; height:min(68vh,640px); min-height:420px; background:linear-gradient(135deg,rgba(69,129,142,.08),transparent 40%), #dce6e8; }
.ochs-markers__sidebar { display:flex; flex-direction:column; max-height:min(68vh,640px); min-height:420px; }
.ochs-markers__sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.9rem 1rem; border-bottom:1px solid var(--ochs-line); }
.ochs-markers__sidebar-head h2 { margin:0; font-family:var(--ochs-serif); font-size:1.2rem; color:var(--ochs-navy); }
.ochs-markers__search { display:block; padding:.75rem 1rem .35rem; }
.ochs-markers__search input { width:100%; border:1px solid var(--ochs-line); padding:.65rem .75rem; font:inherit; background:var(--ochs-paper); }
.ochs-markers__search input:focus { outline:2px solid rgba(69,129,142,.35); border-color:var(--ochs-teal); }
.ochs-markers__list { list-style:none; margin:0; padding:.4rem .55rem .75rem; overflow:auto; flex:1; }
.ochs-markers__list-item {
  width:100%; display:grid; grid-template-columns:64px 1fr; gap:.7rem; align-items:center; text-align:left;
  border:0; background:transparent; padding:.55rem; border-radius:6px; cursor:pointer; font:inherit; color:inherit;
}
.ochs-markers__list-item:hover, .ochs-markers__list-item.is-active { background:rgba(69,129,142,.1); }
.ochs-markers__list-item img, .ochs-markers__list-ph { width:64px; height:64px; object-fit:cover; border-radius:4px; background:#d5e0e3; display:block; }
.ochs-markers__list-item strong { display:block; color:var(--ochs-navy); font-size:.95rem; line-height:1.3; }
.ochs-markers__list-item em { display:block; margin-top:.2rem; font-style:normal; color:var(--ochs-muted); font-size:.82rem; line-height:1.35; }
.ochs-markers__empty { padding:1rem; color:var(--ochs-muted); }
.ochs-markers__empty a { color:var(--ochs-teal-deep); }
.ochs-markers__btn {
  display:inline-flex; align-items:center; justify-content:center; border:0; background:var(--ochs-teal); color:#fff;
  font:inherit; font-weight:700; text-decoration:none; padding:.85rem 1.25rem; border-radius:999px; cursor:pointer;
}
.ochs-markers__btn:hover { background:var(--ochs-teal-deep); color:#fff; }
.ochs-markers__btn--small { padding:.4rem .8rem; font-size:.82rem; }
.ochs-markers__submit-wrap { max-width:720px; }
.ochs-markers__notice { margin:0 0 1rem; padding:.85rem 1rem; border-radius:6px; font-size:.95rem; line-height:1.45; }
.ochs-markers__notice--success { background:#e7f6ef; color:#145c3c; border:1px solid #b7e0cb; }
.ochs-markers__notice--error { background:#fdeeee; color:#7a1f1f; border:1px solid #f0c2c2; }
.ochs-markers__form { background:var(--ochs-white); border:1px solid var(--ochs-line); padding:1.35rem 1.25rem 1.5rem; }
.ochs-markers__fieldset { margin:0 0 1.35rem; padding:0; border:0; }
.ochs-markers__fieldset legend { font-family:var(--ochs-serif); font-size:1.2rem; color:var(--ochs-navy); margin-bottom:.75rem; padding:0; }
.ochs-markers__fieldset--location { padding:1rem; background:rgba(69,129,142,.06); border:1px solid rgba(69,129,142,.18); }
.ochs-markers__field { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.9rem; }
.ochs-markers__field span { font-weight:600; font-size:.92rem; color:var(--ochs-navy); }
.ochs-markers__field abbr { text-decoration:none; color:#b42318; }
.ochs-markers__field input, .ochs-markers__field textarea {
  width:100%; border:1px solid #c9d3d6; padding:.7rem .8rem; font:inherit; color:var(--ochs-ink); background:#fff; border-radius:4px;
}
.ochs-markers__field input:focus, .ochs-markers__field textarea:focus { outline:2px solid rgba(69,129,142,.35); border-color:var(--ochs-teal); }
.ochs-markers__field small, .ochs-markers__field-help, .ochs-markers__fineprint { color:var(--ochs-muted); font-size:.85rem; line-height:1.4; }
.ochs-markers__field-help { margin:0 0 .85rem; }
.ochs-markers__gps-split { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.ochs-markers__location-status { margin:.25rem 0 0; min-height:1.3em; font-size:.9rem; font-weight:600; }
.ochs-markers__location-status.is-ok { color:#145c3c; }
.ochs-markers__location-status.is-bad { color:#7a1f1f; }
.ochs-markers__honeypot { position:absolute!important; left:-9999px!important; height:0!important; overflow:hidden!important; }
.ochs-markers__photo-preview { margin:-.35rem 0 1rem; }
.ochs-markers__photo-preview img { max-width:220px; max-height:160px; object-fit:cover; border-radius:4px; border:1px solid var(--ochs-line); }
.ochs-markers__fineprint { margin:.85rem 0 0; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ochs-markers-info { max-width:240px; font-family:var(--ochs-sans); color:var(--ochs-ink); }
.ochs-markers-info img { width:100%; height:120px; object-fit:cover; border-radius:4px; margin-bottom:.45rem; }
.ochs-markers-info strong { display:block; font-size:.98rem; color:var(--ochs-navy); margin-bottom:.25rem; }
.ochs-markers-info p { margin:0; font-size:.85rem; line-height:1.4; color:var(--ochs-muted); }
@media (max-width:900px) {
  .ochs-markers__hub, .ochs-markers__map-layout { grid-template-columns:1fr; }
  .ochs-markers__sidebar { max-height:none; min-height:0; }
  .ochs-markers__canvas { height:52vh; min-height:320px; }
  .ochs-markers__gps-split { grid-template-columns:1fr; }
}

/* Force Divi full-width content on Research Tools pages (no leftover sidebar column). */
body.ochs-markers-route.et_right_sidebar #main-content .container:before,
body.ochs-markers-route.et_left_sidebar #main-content .container:before {
  display: none !important;
}
body.ochs-markers-route #sidebar {
  display: none !important;
}
body.ochs-markers-route #left-area,
body.ochs-markers-route.et_right_sidebar #left-area,
body.ochs-markers-route.et_left_sidebar #left-area {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
