/* Address, supply and parameter exploration share one public view. */
.water-outdoor-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.water-map-surface [data-unified-map-controls="fountains"],.water-map-surface [data-unified-map-controls="rivers"],.water-map-surface [data-unified-map-controls="lakes"] { display:block; }
.water-map-surface [data-unified-map-controls][hidden] { display:none; }
.water-map-surface .water-outdoor-actions button { display:block; text-align:center; white-space:normal; min-width:180px; }
.water-map-surface .water-outdoor-actions .water-checkbox { display:flex; justify-content:flex-start; gap:10px; }
.water-map-surface .water-outdoor-actions .water-checkbox input { flex:0 0 18px; margin:0; }
.water-outdoor-tabs button,.water-outdoor-actions button,.water-add-comparison,.water-compare-chips button { border:1px solid #b9d4d4; border-radius:9px; padding:11px 16px; background:#f6fbfa; color:#12636c; font:inherit; font-weight:700; cursor:pointer; }
.water-outdoor-tabs button[aria-pressed="true"] { background:#075e73; color:white; border-color:#075e73; }
.water-outdoor-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; }
.water-outdoor-actions label { display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-size:.9rem; }
.water-outdoor-actions select { max-width:100%; padding:10px; border:1px solid #b9d4d4; border-radius:8px; background:white; font:inherit; }
.water-outdoor-actions input[type="checkbox"] { width:18px; height:18px; accent-color:#08776e; }
.water-surface-warning { padding:14px 16px; border-radius:10px; background:#fff4e1; color:#785017; }
.water-map-surface .comparison-data-map.has-shared-map { height:490px; min-height:360px; aspect-ratio:auto!important; isolation:isolate; }
.has-shared-map > img,.has-shared-map > .comparison-data-map-marker-layer,.has-shared-map > .comparison-character-map-credit { display:none; }
.water-shared-leaflet { position:absolute; inset:0; z-index:1; font-family:inherit; }
.water-supply-icon { background:transparent; border:0; }
.water-supply-icon .comparison-data-map-dot { animation:none; opacity:1; width:12px; height:12px; }
.water-supply-icon .comparison-data-map-popover { display:none!important; }
.water-map-popup { display:grid; gap:9px; line-height:1.5; font-size:13px; overflow-wrap:anywhere; }
.water-map-popup p { margin:0!important; }
.water-map-popup strong { font-size:15px; color:#103f4d; }
.water-map-popup small { color:#516e76; }
.water-map-popup a { color:#096978; font-weight:700; }
.water-map-home { padding:8px 10px; background:white; border:1px solid #bbc9cc; border-radius:4px; cursor:pointer; color:#153f4d; }
.water-nearest-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.water-nearest-list[hidden] { display:none; }
.water-nearest-list button { width:100%; height:100%; padding:14px; text-align:left; display:grid; gap:8px; background:#f2f8fa; border:1px solid #d1e2e8; border-radius:10px; color:#134654; font:inherit; cursor:pointer; }
.water-nearest-list small { font-size:.8rem; line-height:1.5; }
.water-layer-credit { font-size:.75rem; color:#607980; overflow-wrap:anywhere; }
.water-layer-credit a { color:#276779; }
.water-add-comparison { margin:8px 0 20px; background:#e6f4f0; }
.water-add-comparison:disabled { opacity:.65; cursor:default; }
.water-compare { margin:24px 0; padding:28px; background:#fff; border:1px solid #d8e5e4; border-radius:18px; min-width:0; }
.water-compare header { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.water-compare header h3 { margin:5px 0 0; color:#103f4d; font-size:1.4rem; }
.water-compare header > span { white-space:nowrap; border-radius:20px; background:#e5f3ee; padding:8px 14px; color:#08685f; font-weight:800; }
.water-compare p { color:#506c73; line-height:1.65; font-size:.9rem; }
.water-compare-chips { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0; }
.water-compare-scroll { overflow-x:auto; max-width:100%; border-radius:10px; }
.water-compare table { border-collapse:collapse; min-width:780px; width:100%; table-layout:fixed; font-size:.88rem; }
.water-compare th,.water-compare td { padding:14px; border-bottom:1px solid #dce8e8; text-align:left; vertical-align:top; white-space:normal; overflow-wrap:anywhere; }
.water-compare thead th { background:#eaf4f3; color:#103f4d; }
.water-compare tbody th { min-width:160px; max-width:200px; color:#345964; }
.water-compare small { display:block; margin-top:7px; font-size:.75rem; font-weight:400; color:#57727a; }
.water-compare .water-compare-difference { background:#f3f8fc; }
[data-water-compare-status],[data-water-layer-status] { color:#386572; font-size:.9rem; line-height:1.6; }
@media(max-width:600px) {
  .water-map-surface .comparison-data-map.has-shared-map { height:410px; }
  .water-nearest-list { grid-template-columns:1fr; }
  .water-outdoor-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .water-outdoor-tabs button:first-child { grid-column:1 / -1; }
  .water-outdoor-tabs button { padding:12px 8px; font-size:.85rem; }
  .water-compare { padding:18px; }
  .water-outdoor-actions { align-items:stretch; flex-direction:column; }
}
.water-comparison { padding:0; border:0; background:transparent; box-shadow:none; }
.water-comparison-head { padding:10px 4px 0; }
.water-comparison-choices { margin:20px 0 24px; }
.water-comparison .comparison-unified-map { display:block; padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.water-map-surface { margin:24px 0; padding:24px; border:1px solid #d8e5e4; border-radius:18px; background:#fff; box-shadow:0 5px 20px #163e4c06; min-width:0; }
.water-map-surface .comparison-unified-map-head { padding:0 0 22px; }
.water-map-surface .comparison-unified-map-modes { padding:6px; gap:6px; background:#edf4f3; border-radius:12px; }
.water-map-surface .comparison-unified-map-modes button { border:0; border-radius:8px; min-height:62px; }
.water-map-surface .comparison-unified-map-controls { padding:20px 0; border:0; background:transparent; }
.water-map-surface [data-unified-map-controls="chemistry"] { flex-wrap:wrap; align-items:flex-start; gap:16px; }
.water-map-surface [data-unified-map-controls="chemistry"] > label { width:min(340px,100%); }
.water-map-surface [data-unified-map-controls="chemistry"] > .comparison-unified-filter-row { flex:1 0 100%; flex-wrap:wrap; overflow:visible; gap:8px; }
.water-map-surface [data-unified-map-controls="chemistry"] button[data-unified-map-filter=""] { display:block; }
.water-map-surface .comparison-unified-map-frame { border:0; padding:0; min-width:0; }
.water-map-surface .comparison-unified-map-title { padding:12px 0; border:0; }
.water-map-surface .comparison-data-map { border:1px solid #d6e3e4; border-radius:12px; }
.water-map-surface .comparison-unified-map-frame > p { padding:0; margin:14px 0 0; line-height:1.65; }
.water-map-surface .comparison-unified-map-explorer { min-width:0; }
.water-map-surface .comparison-data-map-dot.is-awaiting-data { background:#fff9ec; border:2px solid #b77928; box-shadow:0 1px 3px #59402126; }
.water-map-surface .comparison-data-map-dot:not(.is-awaiting-data) { z-index:3; }
.water-map-surface .comparison-data-map-dot:hover,.water-map-surface .comparison-data-map-dot:focus-visible,.water-map-surface .comparison-data-map-dot.is-open { z-index:6; }
.water-map-surface [data-unified-map-filter="missing"] i { background:#fff9ec; border:2px solid #b77928; }
.water-at-a-glance { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0 8px; }
.water-at-a-glance > * { display:flex; flex-direction:column; gap:8px; padding:18px; border:1px solid #497079; border-radius:12px; background:#174b58; color:#fff; text-decoration:none; }
.water-at-a-glance span { color:#a8dcd5; font-size:.8rem; font-weight:700; }
.water-at-a-glance strong { font-size:1rem; line-height:1.45; }
.water-at-a-glance small { color:#d1e4e7; font-size:.8rem; line-height:1.5; }
.water-sample-stamp { color:#bed8de; font-size:.85rem; }
.presentation-hero h1 { font-size:clamp(2rem,5vw,3.6rem); line-height:1.08; }
.water-finder { background:#fff; border:1px solid #d8e5e4; border-radius:18px; padding:28px; margin:0; scroll-margin-top:20px; box-shadow:0 5px 20px #163e4c06; }
.water-finder label { display:block; color:#103f4d; font-weight:800; font-size:1.35rem; }
.water-finder p { margin:8px 0 16px; line-height:1.55; }
.water-search-controls { display:flex; gap:8px; flex-wrap:wrap; }
.water-search-controls input { flex:1 1 260px; min-width:0; border:1px solid #abcac5; background:white; border-radius:8px; padding:14px; font:inherit; }
.water-search-controls button,.water-profile-heading button { border:0; border-radius:8px; background:#08776e; color:#fff; padding:12px 18px; font:inherit; font-weight:700; cursor:pointer; }
.water-search-controls .water-location-button { background:white; color:#08685f; border:1px solid #98c6bf; }
.water-search-controls button:disabled { opacity:.55; cursor:wait; }
.water-finder-note { display:block; margin-top:14px; color:#4c656b; line-height:1.6; }
.water-search-results { list-style:none; padding:0; margin:8px 0 0; max-height:300px; overflow:auto; border:1px solid #c4dfd9; border-radius:8px; }
.water-search-results button,.water-lookup-status button { display:flex; flex-direction:column; gap:5px; width:100%; padding:13px; text-align:left; background:white; color:#134654; border:0; border-bottom:1px solid #d9e7e5; cursor:pointer; font:inherit; }
.water-search-results button:hover,.water-lookup-status button:hover { background:#e3f3ed; }
.water-search-results small,.water-lookup-status small { display:block; color:#597278; line-height:1.5; }
.water-lookup-status:not(:empty) { display:grid; gap:10px; padding:20px; margin-top:20px; background:#f1f7f6; border:0; border-radius:12px; }
.water-lookup-status > p { margin:0 0 4px; color:#4f6870; font-size:.9rem; }
.water-lookup-status > button { border:1px solid #e0eae7; border-radius:9px; padding:16px; box-shadow:0 2px 6px #143e4b03; }
.water-lookup-status > button:hover { border-color:#8cbbb1; }
.water-location-map { height:340px; margin-top:16px; border-radius:12px; z-index:0; }
.water-parameter-profile { margin-top:24px; border:1px solid #d8e5e4; border-radius:18px; padding:28px; min-width:0; background:white; box-shadow:0 5px 20px #163e4c06; }
.water-profile-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:10px; }
.water-profile-heading h3 { margin:6px 0; font-size:1.65rem; color:#103f4d; }
.water-profile-heading p { margin:5px 0; color:#526c74; }
.water-origin-types { margin:20px 0 24px; border:0; padding:16px 18px; border-radius:10px; background:#f1f6f6; }
.water-origin-types summary { cursor:pointer; font-weight:700; color:#235860; }
.water-origin-types li { padding:7px 0; line-height:1.5; }
.water-origin-types li span { display:block; color:#5b7276; font-size:.85rem; }
.water-parameter-profile .presentation-card-minerals { box-shadow:none; margin:0; padding:24px; border:0; border-radius:12px; background:#f4f9f6; }
.water-parameter-profile .presentation-card-minerals::before { display:none; }
.water-other-minerals { padding:24px; border:0; border-radius:12px; background:#f4f9f6; }
.water-other-minerals h3 { margin:0 0 12px; color:#174852; }
.water-other-minerals > p { margin:0 0 20px; color:#526c70; line-height:1.65; }
.water-other-minerals .mineral-concentration-row { padding:20px; margin:12px 0 0; border:0; border-radius:10px; background:#fff; }
.water-other-minerals .mineral-concentration-row > p { margin:10px 0 0; color:#687b7b; }
.water-other-minerals .mineral-concentration-track { margin-top:35px; }
.water-safety-panel { margin-top:24px; scroll-margin-top:20px; border:0; border-radius:12px; padding:24px; background:#f4f7fa; }
.water-safety-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.water-safety-heading h3 { margin:6px 0 14px; color:#143f57; }
.water-safety-heading label { display:grid; gap:7px; font-size:.85rem; font-weight:700; }
.water-safety-heading input { padding:12px; border:1px solid #bfcfdb; border-radius:8px; font:inherit; width:260px; max-width:100%; }
.water-treatment { padding:12px 15px; background:#eaf4f4; border-radius:8px; line-height:1.55; }
.water-data-availability { padding:15px 18px; border:0; border-radius:9px; background:#faf4e5; color:#655630; line-height:1.55; font-size:.9rem; }
.water-parameter-table-wrap { overflow:auto; }
.water-parameter-table { border-collapse:collapse; width:100%; min-width:0; text-align:left; font-size:.88rem; }
.water-parameter-table th,.water-parameter-table td { max-width:none; padding:14px 10px; border-bottom:1px solid #dce5ec; vertical-align:middle; }
.water-parameter-table thead { background:#eaf0f5; color:#3d5667; }
.water-parameter-table tbody th { font-weight:700; color:#163b53; }
.water-parameter-table button { text-align:left; padding:0; color:#086c76; background:none; border:0; font:inherit; font-weight:700; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.water-state { display:inline-block; padding:5px 9px; border-radius:7px; font-weight:600; font-size:.8rem; background:#f0f2f4; color:#54606b; }
.water-state-ok { background:#e6f3eb; color:#246445; }
.water-state-fail { background:#fae4e4; color:#9b3030; }
.water-state-review { background:#fcf0d4; color:#765619; }
.water-parameter-hint { color:#55717c; font-size:.85rem; line-height:1.6; }
.water-finder [hidden],.water-parameter-profile [hidden] { display:none !important; }
.water-finder :focus-visible,.water-parameter-profile :focus-visible { outline:3px solid #299cbb; outline-offset:3px; }
@media(max-width:850px) { .water-at-a-glance { grid-template-columns:repeat(2,minmax(0,1fr)); } .water-safety-heading { align-items:stretch; flex-direction:column; } .water-safety-heading input { width:100%; } }
@media(max-width:540px) {
 .water-comparison .water-comparison-head { gap:16px; }
 .water-map-surface,.water-parameter-profile { padding:18px; border-radius:14px; }
 .water-map-surface .comparison-unified-map-head { flex-wrap:wrap; gap:12px; }
 .water-map-surface .comparison-unified-map-modes { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .water-lookup-status:not(:empty) { padding:14px; }
 .water-other-minerals .mineral-concentration-row { padding:16px; }
 .water-at-a-glance { gap:8px; } .water-at-a-glance > * { padding:12px; } .water-at-a-glance strong { font-size:.86rem; }
 .water-finder,.water-safety-panel,.water-other-minerals,.water-parameter-profile .presentation-card-minerals { padding:16px; }
 .water-search-controls input { flex-basis:100%; } .water-search-controls button { flex:1 1 auto; font-size:.85rem; padding:12px; }
 .water-finder label { font-size:1.15rem; } .water-profile-heading { align-items:stretch; flex-direction:column; }
 .water-parameter-table,.water-parameter-table tbody { display:block; width:100%; }
 .water-parameter-table thead { display:none; }
 .water-parameter-table tr { display:grid; grid-template-columns:1fr 1fr; margin:12px 0; border:1px solid #d6e2e8; border-radius:10px; overflow:hidden; background:#fff; }
 .water-parameter-table tbody th { grid-column:1 / -1; background:#edf4f7; padding:12px; }
 .water-parameter-table td { padding:10px; font-size:.82rem; overflow-wrap:anywhere; }
 .water-parameter-table td::before { content:attr(data-label); display:block; font-size:.7rem; color:#677d89; margin-bottom:5px; font-weight:600; }
 .water-location-map { height:280px; }
 .water-origin-types { padding:12px; } .water-origin-types ol { padding-left:20px; }
}
