.sbr-flood { max-width: 54rem; margin-inline: auto; }
.sbr-flood-intro { margin: 1rem 0 1.5rem; }
.sbr-flood-intro h1 { margin-bottom: .5rem; }
.sbr-flood form { display: flex; flex-wrap: wrap; align-items: end; gap: .65rem; }
.sbr-flood form p { flex: 0 0 100%; margin: 0; color: #4b5563; }
.sbr-flood-address label { flex: 0 0 100%; }
.sbr-flood input { flex: 1; min-width: min(100%, 15rem); padding: .6rem; border: 1px solid #a7b5b8; border-radius: .4rem; }
.sbr-flood-location, .sbr-flood-result, .sbr-flood-candidates { margin: 1.25rem 0; padding: 1rem; border: 1px solid #dce6e8; border-radius: .7rem; }
.sbr-flood-location summary { cursor: pointer; }
.sbr-flood-coordinates { margin: 1rem 0; }
.sbr-flood-map { height: min(55vh, 28rem); min-height: 16rem; margin-top: .7rem; border-radius: .5rem; }
.sbr-flood-layers { margin: 1rem 0; padding: 0; list-style: none; }
.sbr-flood-layers li { display: grid; grid-template-columns: minmax(7rem, 1fr) 2fr; gap: .5rem; padding: .55rem .2rem; border-top: 1px solid #dce6e8; }
.sbr-flood-layers .sbr-flood-hit { color: #84210e; font-weight: 600; }
.sbr-flood-layers .sbr-flood-unknown { color: #5e4a14; }
.sbr-flood-candidates ul { display: grid; gap: .35rem; margin-bottom: 0; }
.sbr-flood-candidates button { padding: .3rem 0; border: 0; color: #0e595d; background: none; text-align: start; text-decoration: underline; cursor: pointer; }
.sbr-flood-status:empty { display: none; }
.sbr-flood-sources { font-size: .9rem; }
.sbr-flood [hidden] { display: none; }
