.coc-discovery { color: var(--coc-ink); }
.coc-discovery *, .coc-discovery *::before, .coc-discovery *::after { box-sizing: border-box; }
.coc-discovery__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: end; margin-bottom: clamp(30px, 5vw, 54px); padding: clamp(20px, 4vw, 36px); border: 1px solid var(--coc-line); border-top: 4px solid var(--coc-green-900); background: var(--coc-paper); box-shadow: var(--coc-shadow); }
.coc-discovery__heading { grid-column: 1 / -1; max-width: 720px; margin-bottom: 4px; }
.coc-discovery__heading h2 { margin: 0 0 6px; color: var(--coc-green-950); font-family: var(--coc-serif); font-size: clamp(1.7rem, 3vw, 2.3rem); }
.coc-discovery__heading p:last-child { margin: 0; color: var(--coc-muted); }
.coc-discovery__form label { display: grid; gap: 6px; color: var(--coc-green-950); font-family: var(--coc-sans); font-size: .8rem; font-weight: 750; }
.coc-discovery__form input:not([type="checkbox"]),
.coc-discovery__form select { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #aeb7b1; border-radius: 0; background: #fff; color: var(--coc-ink); font: 500 .9rem/1.2 var(--coc-sans); }
.coc-discovery__form input:focus,
.coc-discovery__form select:focus { border-color: var(--coc-gold); outline: 2px solid rgba(173, 135, 70, .2); outline-offset: 1px; }
.coc-discovery__form .coc-choice-group { grid-column: 1 / -1; }
.coc-discovery__actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; }
.coc-nearby-picker { position: relative; display: grid; gap: 6px; }
.coc-nearby-picker__results { position: absolute; z-index: 20; top: 68px; right: 0; left: 0; max-height: 18rem; overflow: auto; border: 1px solid var(--coc-gold-soft); background: var(--coc-paper); box-shadow: var(--coc-shadow); }
.coc-nearby-picker__result { display: grid; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--coc-line); background: transparent; color: var(--coc-ink); text-align: left; cursor: pointer; }
.coc-nearby-picker__result:hover,
.coc-nearby-picker__result:focus { background: var(--coc-ivory); outline: 0; }
.coc-nearby-picker__result small { color: var(--coc-muted); }
.coc-nearby-picker__selected { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid var(--coc-gold-soft); background: var(--coc-ivory); }
.coc-nearby-picker__selected[hidden] { display: none; }
.coc-nearby-picker__selected span { display: grid; }
.coc-nearby-picker__selected small { color: var(--coc-muted); font-size: .72rem; }
.coc-nearby-picker__selected button { padding: 4px; border: 0; background: transparent; color: var(--coc-green-900); font: 700 .72rem/1 var(--coc-sans); text-decoration: underline; cursor: pointer; }
.coc-nearby-picker__status { min-height: 1.2em; margin: 0; color: var(--coc-muted); font-size: .72rem; }

@media (max-width: 700px) {
  .coc-discovery__form { grid-template-columns: 1fr; }
  .coc-discovery__actions .coc-button { flex: 1; }
}
