/* BigCHomes Canal Map — everything is scoped under .ccm so it won't fight your site CSS */
.ccm {
  --ccm-ink: #0b2138;
  --ccm-ink-2: #5c6f82;
  --ccm-line: #d9e4ed;
  --ccm-bg: #f5f9fc;
  --ccm-card: #ffffff;
  --ccm-accent: #0b2c73;
  --ccm-accent-2: #071f55;
  --ccm-D: #0f907e;  /* BigCHomes sea: gulf, no bridges */
  --ccm-B: #16458f;  /* BigCHomes secondary navy: gulf with bridges */
  --ccm-F: #7cb342;  /* fresh */
  --ccm-V: #9aa6b2;  /* verify */
  --ccm-bad: #e5484d;
  --ccm-unk: #9aa6b2;
  --ccm-radius: 14px;
  color: var(--ccm-ink);
  font-family: inherit;
  line-height: 1.5;
  background: var(--ccm-bg);
  padding: 0 16px 48px;
}
.ccm *, .ccm *::before, .ccm *::after { box-sizing: border-box; }

.ccm-hero { max-width: 1240px; margin: 0 auto; padding: 40px 0 20px; }
.ccm-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 700; color: var(--ccm-accent); margin: 0 0 6px; }
.ccm-hero h1 { font-size: clamp(28px, 4.2vw, 44px); line-height: 1.1; margin: 0 0 10px; letter-spacing: -.01em; }
.ccm-lede { font-size: 17px; color: var(--ccm-ink-2); max-width: 720px; margin: 0; }

/* ---------- layout ---------- */
.ccm-app {
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: 380px 1fr; gap: 16px;
  min-height: 640px;
}
.ccm-panel {
  background: var(--ccm-card); border: 1px solid var(--ccm-line); border-radius: var(--ccm-radius);
  padding: 16px; display: flex; flex-direction: column; gap: 14px;
  max-height: 78vh; overflow: auto;
}
.ccm-mapwrap { position: relative; border-radius: var(--ccm-radius); overflow: hidden; border: 1px solid var(--ccm-line); background: #dfe8ef; min-height: 640px; }
#ccm-map { position: absolute; inset: 0; }
@media (max-width: 900px) {
  .ccm-app { grid-template-columns: 1fr; }
  .ccm-mapwrap { order: -1; min-height: 58vh; }
  .ccm-panel { max-height: none; }
}

/* ---------- tabs & inputs ---------- */
.ccm-tabs { display: flex; background: var(--ccm-bg); border-radius: 10px; padding: 4px; gap: 4px; }
.ccm-tab { flex: 1; border: 0; background: transparent; padding: 8px 10px; border-radius: 8px; font: inherit; font-weight: 600; font-size: 14px; color: var(--ccm-ink-2); cursor: pointer; }
.ccm-tab.is-on { background: var(--ccm-card); color: var(--ccm-ink); box-shadow: 0 1px 3px rgba(16,36,58,.12); }
.ccm-search { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.ccm-row { display: flex; gap: 8px; }
.ccm-field { display: flex; flex-direction: column; gap: 4px; position: relative; font-size: 13px; font-weight: 600; color: var(--ccm-ink-2); }
.ccm-num { width: 96px; flex: none; }
.ccm-street { flex: 1; min-width: 0; }
.ccm-field input {
  font: inherit; font-size: 16px; font-weight: 500; color: var(--ccm-ink);
  padding: 10px 12px; border: 1px solid var(--ccm-line); border-radius: 10px; background: #fff; width: 100%;
}
.ccm-field input:focus { outline: 2px solid var(--ccm-accent); outline-offset: 1px; border-color: transparent; }
.ccm-btn {
  font: inherit; font-weight: 700; font-size: 15px; color: #fff; background: var(--ccm-accent);
  border: 0; border-radius: 10px; padding: 12px 14px; cursor: pointer;
}
.ccm-btn:hover { background: var(--ccm-accent-2); }
.ccm-hint { margin: 0; font-size: 13px; color: var(--ccm-ink-2); min-height: 1em; }
.ccm-hint:empty { display: none; }
.ccm-sugg {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 1000; margin: 4px 0 0; padding: 4px;
  list-style: none; background: #fff; border: 1px solid var(--ccm-line); border-radius: 10px;
  box-shadow: 0 10px 30px rgba(16,36,58,.15); max-height: 260px; overflow: auto;
}
.ccm-sugg li { padding: 8px 10px; border-radius: 7px; cursor: pointer; font-weight: 500; color: var(--ccm-ink); }
.ccm-sugg li small { color: var(--ccm-ink-2); font-weight: 400; margin-left: 6px; }
.ccm-sugg li[aria-selected="true"], .ccm-sugg li:hover { background: var(--ccm-bg); }

.ccm-boat { display: grid; gap: 10px; padding: 12px; background: var(--ccm-bg); border-radius: 10px; }
.ccm-slider { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--ccm-ink-2); font-weight: 600; }
.ccm-slider span { display: flex; justify-content: space-between; }
.ccm-slider b { color: var(--ccm-ink); }
.ccm-slider input { width: 100%; accent-color: var(--ccm-accent); }

/* ---------- result card ---------- */
.ccm-empty p { margin: 0; font-size: 14px; color: var(--ccm-ink-2); }
.ccm-card { display: flex; flex-direction: column; gap: 12px; }
.ccm-badge {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
  font-weight: 800; font-size: 13px; letter-spacing: .02em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 999px; color: #fff;
}
.ccm-badge.k-D { background: var(--ccm-D); }
.ccm-badge.k-B { background: var(--ccm-B); }
.ccm-badge.k-F { background: var(--ccm-F); }
.ccm-badge.k-V, .ccm-badge.k-N { background: var(--ccm-V); }
.ccm-addr { font-size: 20px; font-weight: 800; margin: 0; line-height: 1.2; }
.ccm-sub { margin: 2px 0 0; color: var(--ccm-ink-2); font-size: 14px; }
.ccm-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ccm-stat { background: var(--ccm-bg); border-radius: 10px; padding: 10px; }
.ccm-stat b { display: block; font-size: 18px; line-height: 1.2; }
.ccm-stat span { font-size: 12px; color: var(--ccm-ink-2); font-weight: 600; }
.ccm-stat.is-bad b { color: var(--ccm-bad); }
.ccm-note { font-size: 14px; margin: 0; padding: 10px 12px; border-radius: 10px; background: #fff7e6; border: 1px solid #f5dfae; }
.ccm-note.is-bad { background: #fdecec; border-color: #f5c2c3; }
.ccm-h3 { font-size: 14px; margin: 4px 0 0; text-transform: uppercase; letter-spacing: .06em; color: var(--ccm-ink-2); }
.ccm-bridges { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ccm-bridges li {
  display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 8px;
  padding: 8px 10px; border: 1px solid var(--ccm-line); border-radius: 10px; cursor: pointer; font-size: 14px;
}
.ccm-bridges li:hover { border-color: var(--ccm-accent); }
.ccm-bridges .n { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 12px; color: #fff; background: var(--ccm-B); }
.ccm-bridges .is-bad .n { background: var(--ccm-bad); }
.ccm-bridges .is-unk .n { background: var(--ccm-unk); }
.ccm-bridges .h { font-weight: 800; white-space: nowrap; }
.ccm-bridges .is-bad .h { color: var(--ccm-bad); }
.ccm-bridges .is-unk .h { color: var(--ccm-ink-2); font-weight: 600; font-size: 13px; }
.ccm-bridges small { display: block; color: var(--ccm-ink-2); font-size: 12px; }
.ccm-route { font-size: 13px; color: var(--ccm-ink-2); margin: 0; }
.ccm-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ccm-cta a, .ccm-cta button {
  min-height: 40px; display: inline-flex; align-items: center; justify-content: center;
  text-align: center; text-decoration: none; font: inherit; font-weight: 750; font-size: 13px;
  padding: 8px 11px; border-radius: 999px; border: 1px solid #9fb2d2; color: var(--ccm-accent); background: #fff; cursor: pointer;
}
.ccm-cta a.primary { grid-column: 1 / -1; min-height: 44px; background: var(--ccm-accent); border-color: var(--ccm-accent); color: #fff; }
.ccm-cta a:hover, .ccm-cta button:hover { border-color: var(--ccm-accent); background: #f1f5fb; }
.ccm-cta a.primary:hover { background: var(--ccm-accent-2); color: #fff; }

/* ---------- map bits ---------- */
.ccm-legend {
  position: absolute; left: 10px; bottom: 10px; z-index: 500; display: flex; flex-wrap: wrap; gap: 6px 12px;
  background: rgba(255,255,255,.94); padding: 8px 10px; border-radius: 10px; font-size: 12px; font-weight: 600; max-width: calc(100% - 20px);
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
}
.ccm-legend span { display: inline-flex; align-items: center; gap: 5px; }
.ccm-legend .sw { width: 14px; height: 10px; border-radius: 3px; display: inline-block; }
.sw-D { background: var(--ccm-D); } .sw-B { background: var(--ccm-B); } .sw-F { background: var(--ccm-F); } .sw-V { background: var(--ccm-V); }
.ccm-legend .dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.3); }
.dot-ok { background: var(--ccm-B); } .dot-bad { background: var(--ccm-bad); } .dot-unk { background: var(--ccm-unk); }
.ccm-loading { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(245,248,251,.8); z-index: 600; font-weight: 700; }
.ccm-loading[hidden] { display: none; }
.ccm-pin { width: 18px; height: 18px; border-radius: 50%; background: #0b2c73; border: 3px solid #fff; box-shadow: 0 0 0 2px #0b2c73, 0 3px 10px rgba(0,0,0,.4); }
.ccm-bnum { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 800 11px/1 system-ui, sans-serif; color: #fff; border: 2px solid #fff; box-shadow: 0 1px 6px rgba(0,0,0,.45); }
.ccm-bnum.ok { background: var(--ccm-B); } .ccm-bnum.bad { background: var(--ccm-bad); } .ccm-bnum.unk { background: var(--ccm-unk); }
.leaflet-container { font-family: inherit; }
.ccm-layerbtn { background: #fff; border: 0; padding: 6px 10px; font: 700 12px system-ui, sans-serif; cursor: pointer; border-radius: 6px; }

/* ---------- FAQ / fine print ---------- */
.ccm-faq, .ccm-fine { max-width: 860px; margin: 40px auto 0; }
.ccm-faq h2 { font-size: 26px; margin: 0 0 12px; }
.ccm-faq details { background: var(--ccm-card); border: 1px solid var(--ccm-line); border-radius: 12px; padding: 12px 16px; margin-bottom: 8px; }
.ccm-faq summary { font-weight: 700; cursor: pointer; }
.ccm-faq p { margin: 8px 0 0; color: var(--ccm-ink-2); }
.ccm-fine { font-size: 13px; color: var(--ccm-ink-2); }

/* fixes */
.ccm-search[hidden] { display: none; }
@media (max-width: 900px) {
  .ccm-mapwrap { display: flex; flex-direction: column; min-height: 0; }
  #ccm-map { position: relative; inset: auto; height: 56vh; min-height: 340px; }
  .ccm-legend { position: static; max-width: none; border-radius: 0; box-shadow: none; border-top: 1px solid var(--ccm-line); font-size: 11px; gap: 4px 10px; }
}

/* ---------- marching-ants route ---------- */
.ccm-ants { stroke-dasharray: 10 9; animation: ccm-march 0.9s linear infinite; }
@keyframes ccm-march { to { stroke-dashoffset: -19; } }
@media (prefers-reduced-motion: reduce) { .ccm-ants { animation: none; } }

/* ---------- tide box ---------- */
.ccm-tide { display: grid; gap: 6px; padding: 12px; border-radius: 10px; background: #eef6fb; border: 1px solid #d3e6f2; font-size: 13px; }
.ccm-tide[hidden] { display: none; }
.ccm-toggle { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ccm-ink); cursor: pointer; }
.ccm-toggle input { width: 16px; height: 16px; accent-color: var(--ccm-accent); }
.ccm-tide-now b { color: var(--ccm-accent); }
.ccm-spark { position: relative; height: 56px; }
.ccm-spark svg { display: block; width: 100%; height: 56px; overflow: visible; }
.ccm-spark .fill { fill: rgba(11,44,115,.12); }
.ccm-spark .line { fill: none; stroke: var(--ccm-accent); stroke-width: 2; vector-effect: non-scaling-stroke; }
.ccm-spark .mhw { stroke: #7a8da0; stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.ccm-spark .now { stroke: #0f907e; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.ccm-spark-dot { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: #0f907e; border: 2px solid #fff; box-shadow: 0 0 0 1px #0f907e; }
.ccm-spark-x { display: flex; justify-content: space-between; font-size: 11px; color: var(--ccm-ink-2); margin-top: -2px; }
.ccm-tide-next { color: var(--ccm-ink); font-weight: 600; }
.ccm-tide-src { font-size: 11px; color: var(--ccm-ink-2); }
.ccm-note.ok { background: #e8f8f5; border-color: #bfe9e2; }

/* BigCHomes v29.9 embedded presentation */
.ccm-embed{padding-top:0;border-top:1px solid #d9e4ed;border-bottom:1px solid #d9e4ed}
.ccm-embed-head{max-width:1240px;margin:0 auto;padding:42px 0 22px}
.ccm-embed-head h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.06;letter-spacing:-.045em;margin:6px 0 12px;color:var(--ccm-ink)}
.ccm-embed .ccm-fine{max-width:1240px;margin:20px auto 0}
.ccm-embed .ccm-fine p{margin:8px 0}
@media(max-width:900px){.ccm-embed-head{padding-top:30px}.ccm{padding-left:12px;padding-right:12px}}

/* ---------- mobile map gesture handling ---------- */
@media (hover: none) and (pointer: coarse) {
  #ccm-map.ccm-two-finger-map {
    /* Leaflet touch-zoom still handles two-finger pan/pinch; one finger belongs to page scroll. */
    touch-action: pan-x pan-y;
  }
  .ccm-gesture-hint {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1100;
    transform: translate(-50%, -50%) scale(.98);
    max-width: calc(100% - 36px);
    padding: 11px 16px;
    border-radius: 999px;
    background: rgba(8,36,62,.92);
    color: #fff;
    font: 700 14px/1.25 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: center;
    box-shadow: 0 6px 24px rgba(0,0,0,.24);
    pointer-events: none;
    opacity: 0;
    transition: opacity .16s ease, transform .16s ease;
  }
  .ccm-gesture-hint.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}


/* Boat-fit lead funnel */
.boat-check-funnel{padding:38px 0;background:linear-gradient(135deg,#eef6ff 0%,#fff 62%);border-top:1px solid #d8e5f2;border-bottom:1px solid #d8e5f2}
.boat-check-funnel-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:34px;align-items:start}
.boat-check-copy h2{margin:.35rem 0 .75rem;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.08;color:#08243e}
.boat-check-copy>p{font-size:1.05rem;line-height:1.65;color:#43576b}
.boat-check-points{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:20px 0;padding:0;list-style:none}
.boat-check-points li{position:relative;padding-left:22px;font-weight:700;color:#173a61}
.boat-check-points li:before{content:'✓';position:absolute;left:0;color:#0b7d6e}
.boat-check-note{margin-top:16px!important;font-size:.96rem!important}
.boat-check-card{background:#fff;border:1px solid #c9d9ea;border-radius:18px;padding:24px;box-shadow:0 14px 38px rgba(8,36,62,.10)}
.boat-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.boat-check-grid .field{display:flex;flex-direction:column;gap:6px}
.boat-check-grid .field.full{grid-column:1/-1}
.boat-check-grid label{font-weight:800;color:#173a61;font-size:.92rem}
.boat-check-grid input,.boat-check-grid textarea{width:100%;border:1px solid #b8c9db;border-radius:10px;padding:11px 12px;font:inherit;background:#fff;color:#08243e}
.boat-check-grid input:focus,.boat-check-grid textarea:focus{outline:3px solid rgba(17,87,201,.15);border-color:#1157c9}
.boat-check-card .consent{font-size:.78rem;line-height:1.45;color:#63768a;margin:14px 0}
.boat-check-card .form-submit{width:100%;justify-content:center}
@media(max-width:820px){.boat-check-funnel-inner{grid-template-columns:1fr}.boat-check-points{grid-template-columns:1fr}.boat-check-grid{grid-template-columns:1fr}.boat-check-grid .field.full{grid-column:auto}}

/* Waterfront Property Report funnel enhancements */
.boat-check-status{min-height:1.4em;margin:10px 0 0;color:#43566a;font-size:.92rem}
.waterfront-report-preview{padding:26px;border-radius:20px;background:linear-gradient(145deg,#f4f9ff,#fff);border:1px solid #cbdced;box-shadow:0 16px 34px rgba(13,44,73,.10)}
.waterfront-report-preview h3{margin:.35rem 0 1rem;font-size:1.45rem;color:#08243e}
.waterfront-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
.waterfront-preview-grid>div{padding:14px;border-radius:14px;background:#fff;border:1px solid #d9e5ef}
.waterfront-preview-grid span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#63778a;margin-bottom:4px}
.waterfront-preview-grid strong{display:block;color:#0b2c73;line-height:1.35}
.waterfront-report-preview p{margin:0;color:#43566a;line-height:1.65}
@media(max-width:600px){.waterfront-preview-grid{grid-template-columns:1fr}}


/* v29.18 — compact Waterfront Property Report funnel */
.boat-check-funnel-compact{padding:24px 0;background:linear-gradient(135deg,#eef6ff 0%,#fff 68%)}
.boat-check-funnel-compact .boat-check-funnel-inner{grid-template-columns:minmax(260px,.72fr) minmax(480px,1.28fr);gap:24px;align-items:center}
.boat-check-funnel-compact .boat-check-copy h2{font-size:clamp(1.55rem,2.2vw,2.05rem);margin:.25rem 0 .55rem}
.boat-check-funnel-compact .boat-check-copy>p{font-size:.96rem;line-height:1.5;margin:.45rem 0}
.boat-check-funnel-compact .boat-check-note{font-size:.86rem!important;line-height:1.45!important;margin-top:10px!important}
.boat-check-funnel-compact .boat-check-card{padding:18px;border-radius:16px;box-shadow:0 9px 26px rgba(8,36,62,.08)}
.boat-check-funnel-compact .boat-check-grid{gap:10px 12px}
.boat-check-funnel-compact .boat-check-grid label{font-size:.83rem}
.boat-check-funnel-compact .boat-check-grid input,.boat-check-funnel-compact .boat-check-grid textarea{padding:9px 10px;border-radius:9px}
.boat-check-optional{margin:10px 0 0;border-top:1px solid #e0e9f2;padding-top:8px}
.boat-check-optional summary{cursor:pointer;font-weight:800;color:#173a61;font-size:.87rem;list-style:none}
.boat-check-optional summary::-webkit-details-marker{display:none}
.boat-check-optional summary:after{content:' +';font-size:1rem}
.boat-check-optional[open] summary:after{content:' −'}
.boat-check-optional summary span{font-weight:500;color:#6a7d90}
.boat-check-optional .optional-grid{margin-top:10px}
.boat-check-funnel-compact .consent{margin:9px 0!important;font-size:.71rem!important;line-height:1.35!important}
.boat-check-funnel-compact .form-submit{min-height:42px;padding:10px 16px}
@media(max-width:900px){.boat-check-funnel-compact .boat-check-funnel-inner{grid-template-columns:1fr}.boat-check-funnel-compact .boat-check-copy{max-width:720px}.boat-check-funnel-compact .boat-check-card{padding:16px}}
@media(max-width:620px){.boat-check-funnel-compact{padding:18px 0}.boat-check-funnel-compact .boat-check-grid{grid-template-columns:1fr}.boat-check-funnel-compact .boat-check-copy h2{font-size:1.6rem}}


/* v29.19: compact in-map Waterfront Property Report + desktop zoom hint */
.ccm-report-panel{margin:14px 0 4px;padding:14px;border:1px solid #cbdced;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(8,36,62,.07)}
.ccm-report-panel[hidden]{display:none!important}
.ccm-report-copy h3{margin:0 0 6px;font-size:1.05rem;line-height:1.2;color:#08243e}
.ccm-report-copy p{margin:0 0 10px;font-size:.79rem;line-height:1.45;color:#4a6074}
.ccm-report-fields{display:grid;grid-template-columns:1fr;gap:7px}
.ccm-report-fields label,.ccm-report-address-fallback{display:block}
.ccm-report-fields span,.ccm-report-address-fallback span{display:block;margin:0 0 4px;font-size:.72rem;font-weight:750;color:#173653}
.ccm-report-fields input,.ccm-report-fields textarea,.ccm-report-address-fallback input{width:100%;box-sizing:border-box;border:1px solid #bfd0df;border-radius:8px;padding:8px 9px;font:inherit;font-size:.82rem;background:#fff;color:#0c2942}
.ccm-report-fields textarea{resize:vertical;min-height:54px}
.ccm-report-optional{margin:8px 0 0;border-top:1px solid #e0e8ef;padding-top:7px}
.ccm-report-optional summary{cursor:pointer;font-size:.77rem;font-weight:750;color:#173653}
.ccm-report-optional summary span{font-weight:500;color:#627689}
.ccm-report-optional[open] summary{margin-bottom:7px}
.ccm-report-submit{width:100%;margin-top:9px;border:0;border-radius:9px;background:#123987;color:#fff;padding:10px 12px;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}
.ccm-report-submit:hover{filter:brightness(.96)}
.ccm-report-submit:disabled{opacity:.65;cursor:wait}
.ccm-report-consent,.ccm-report-privacy{margin:7px 0 0!important;font-size:.64rem!important;line-height:1.35!important;color:#617487!important}
.ccm-report-privacy a{color:#345d84;text-decoration:underline}
.ccm-report-panel .boat-check-status{margin:7px 0 0;font-size:.72rem;color:#35536c}
.ccm-report-panel .waterfront-report-preview{padding:10px 11px;border-radius:9px;box-shadow:none;background:#f4f9ff;border:1px solid #cbdced}
.ccm-report-panel .waterfront-report-preview strong{display:block;color:#08243e;font-size:.86rem;margin-bottom:4px}
.ccm-report-panel .waterfront-report-preview p{margin:4px 0;font-size:.72rem;line-height:1.4;color:#4a6074}
.ccm-zoom-toast{position:absolute;z-index:900;left:50%;top:52%;transform:translate(-50%,-50%) translateY(8px);padding:10px 16px;border-radius:999px;background:rgba(8,54,48,.94);color:#fff;font-size:.86rem;font-weight:750;box-shadow:0 8px 22px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;white-space:nowrap}
.ccm-zoom-toast.show{opacity:1;transform:translate(-50%,-50%) translateY(0)}
@media(max-width:720px){.ccm-zoom-toast{font-size:.8rem;padding:9px 13px}.ccm-report-panel{margin:12px 0 4px;padding:12px}}

/* v29.20 — cleaner consent + stronger post-submit confirmation */
.ccm-report-consent{margin:8px 0 0!important;font-size:.67rem!important;line-height:1.42!important;color:#536b80!important}
.ccm-report-consent a{color:#345d84;text-decoration:underline}
.ccm-report-submit{margin-top:7px}
.ccm-report-panel .waterfront-report-preview{position:relative;padding:14px 13px 13px 48px;border-radius:11px;background:#f2f8ff;border:1px solid #b8d3ec;box-shadow:0 6px 18px rgba(8,36,62,.08)}
.ccm-report-success-icon{position:absolute;left:13px;top:14px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#0e7a68;color:#fff;font-weight:900;font-size:1rem}
.ccm-report-panel .waterfront-report-preview strong{font-size:.98rem;margin-bottom:7px;color:#08243e}
.ccm-report-panel .waterfront-report-preview .ccm-preview-address{font-weight:800;font-size:.79rem;color:#173653;margin:0 0 4px}
.ccm-report-panel .waterfront-report-preview .ccm-preview-facts{font-size:.74rem;color:#31536f;margin:0 0 7px}
.ccm-report-panel .waterfront-report-preview .ccm-preview-next{font-size:.71rem;line-height:1.42;color:#536b80;margin:0}
