.pc-nearby { margin-block: 1.5rem 3rem; color: #102a2a; }
.pc-nearby__search { background: #edf5ee; border: 1px solid #d4e5d8; border-radius: 24px; padding: clamp(1.2rem, 3vw, 2.5rem); }
.pc-nearby h2 { margin: .4rem 0 1.25rem; font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.2; }
.pc-nearby label { display: block; font-weight: 700; margin-bottom: .5rem; }
.pc-nearby__row { display: flex; gap: .7rem; align-items: center; }
.pc-nearby input { flex: 1; min-width: 0; width: 100%; }
.pc-nearby :is(input, button, select) { font: inherit; padding: .85rem 1rem; border-radius: 10px; border: 1px solid #a3bcb0; min-height: 48px; }
.pc-nearby input, .pc-nearby select { background: white; color: #102a2a; }
.pc-nearby button { background: #087a57; border-color: #087a57; color: white; cursor: pointer; font-weight: 700; }
.pc-nearby button[data-nearby-locate] { background: #102a2a; border-color: #102a2a; }
.pc-nearby button:disabled { opacity: .65; cursor: wait; }
.pc-nearby :is(a,button,input,select):focus-visible { outline: 3px solid #087a57; outline-offset: 3px; }
.pc-nearby #pc-nearby-help, .pc-nearby__privacy, .pc-nearby__detail { font-size: .85rem; color: #425c51; }
.pc-nearby__privacy { margin-bottom: 0; }
.pc-nearby [role=status]:empty { display: none; }
.pc-nearby [role=status] { font-weight: 650; margin-bottom: 0; }
.pc-nearby__suggestions { margin-top: .7rem; background: #fff; border-radius: 12px; border: 1px solid #a3bcb0; overflow: hidden; }
.pc-nearby__suggestions button { display: block; width: 100%; color: #102a2a; background: #fff; border: 0; border-radius: 0; text-align: left; }
.pc-nearby__suggestions button:hover, .pc-nearby__suggestions button:focus { background: #edf5ee; }
.pc-nearby__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
.pc-nearby__heading h3 { margin: 0; font-size: 1.3rem; }
.pc-nearby__heading label { display: flex; align-items: center; gap: .5rem; white-space: nowrap; font-size: .9rem; margin: 0; }
.pc-nearby__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.pc-nearby__card { border: 1px solid #d4e5d8; border-radius: 16px; padding: 1.3rem; background: white; }
.pc-nearby__card h4 { font-size: 1.15rem; line-height: 1.4; margin: 0 0 .75rem; }
.pc-nearby a { color: #076749; text-underline-offset: 3px; }
.pc-nearby__card p { font-size: .9rem; }
.pc-nearby__distance { color: #076749; font-weight: 700; margin-top: 0; }
.pc-nearby__empty { grid-column: 1 / -1; padding: 1.5rem; border-radius: 12px; background: #f2f5ef; }
.pc-nearby [data-nearby-selected]:not(:empty) { padding-block: 1rem; }
@media(max-width: 800px) { .pc-nearby__row { flex-wrap: wrap; } .pc-nearby input { flex-basis: 100%; } .pc-nearby__cards { grid-template-columns: 1fr; } }
@media(max-width: 480px) { .pc-nearby__row { flex-direction: column; align-items: stretch; } .pc-nearby__row > span { text-align: center; } .pc-nearby__heading { align-items: start; flex-direction: column; } }

.pc-nearby [data-nearby-more] { margin-top: 1rem; }
