/* /filament-near-me — local stores and pickup stock. Builds on page.css. */
.near-form { margin-top: 0; }
.near-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.near-row + .near-row { margin-top: 14px; }
.near-form label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.near-form input, .near-form select {
  font: 500 16px var(--font); color: var(--text); background: rgba(4, 5, 13, .7);
  border: 1px solid var(--line-2); border-radius: 10px; padding: 10px 12px; min-height: 44px;
}
.near-zip input { width: 9.5em; font-family: var(--mono); letter-spacing: .06em; }
.near-form input:focus, .near-form select:focus { outline: 2px solid var(--accent-2); outline-offset: 1px; }
.near-go, .near-loc, .near-btn {
  font: 600 15px var(--font); border-radius: 10px; padding: 11px 16px; min-height: 44px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center;
}
.near-go { color: #04050d; background: linear-gradient(90deg, var(--accent-2), var(--accent)); border: 0; }
.near-loc, .near-btn { color: var(--text); background: rgba(54, 227, 255, .08); border: 1px solid rgba(54, 227, 255, .4); }
.near-go:hover, .near-loc:hover, .near-btn:hover { filter: brightness(1.12); }
.near-privacy { font-size: 13px; color: var(--muted); margin: 14px 0 0; }

.near-results { margin: 22px 0 8px; }
.near-head { font-size: 16px; }
.near-error { color: var(--warn); }
.near-store { padding: 16px 18px; margin: 14px 0; border-radius: 16px; background: var(--glass); border: 1px solid var(--line); }
.near-store header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.near-store h3 { margin: 0; font-size: 18px; }
.near-dist { font-family: var(--mono); font-size: 14px; color: var(--accent-2); white-space: nowrap; }
.near-addr { font-size: 14px; margin: 4px 0 10px; }
.near-addr a { color: var(--body); }
.near-ready { margin: 0 0 8px; color: var(--good); }
.near-ready strong { color: var(--good); }
.near-none { color: var(--muted); }
.near-items { list-style: none; padding: 0; margin: 0 0 8px; }
.near-item { display: grid; grid-template-columns: 18px 1fr auto; gap: 4px 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--line); }
.near-item .sw { grid-row: span 2; }
.near-item-name { font-size: 14.5px; }
.near-item-name .muted { font-size: 13px; }
.near-item-price { font-family: var(--mono); font-size: 14px; color: var(--text); text-align: right; }
.near-item a { grid-column: 2 / 4; font-size: 13px; color: var(--accent-2); }
.near-links { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 8px 0 0; font-size: 14px; }
.linkish { background: none; border: 0; padding: 0; color: var(--accent-2); font: inherit; font-size: 14px; cursor: pointer; text-decoration: underline; }
.near-online { margin-top: 18px; }
.near-form label { min-width: 0; }
.near-form select { max-width: 100%; }
@media (max-width: 560px) {
  .near-row > label, .near-go, .near-loc { flex: 1 1 100%; justify-content: center; }
  .near-zip input, .near-form select { width: 100%; }
  .near-filters > label { flex: 1 1 100%; }
  .near-store { padding: 14px; }
}

/* Swatches: same look as /find (css/find.css). */
.sw { flex: none; display: inline-block; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .3); background: var(--sw, #3a3f52); }
.sw--unknown { background: repeating-linear-gradient(45deg, #3a3f52 0 3px, #2a2e3d 3px 6px); }
/* Finish effects, drawn over the colour: see colorFx in js/finder.js. */
.sw--translucent { background: linear-gradient(135deg, rgba(255, 255, 255, .35), transparent 60%), color-mix(in srgb, var(--sw, #ccc) 55%, transparent); }
.sw--silk { background: linear-gradient(135deg, color-mix(in srgb, var(--sw, #ccc) 70%, #fff) 0%, var(--sw, #ccc) 45%, color-mix(in srgb, var(--sw, #ccc) 70%, #000) 100%); }
.sw--metal { background: linear-gradient(160deg, color-mix(in srgb, var(--sw, #bbb) 55%, #fff), var(--sw, #bbb) 50%, color-mix(in srgb, var(--sw, #bbb) 60%, #000)); }
.sw--sparkle { background: radial-gradient(circle at 30% 30%, #fff 0 1px, transparent 2px), radial-gradient(circle at 68% 62%, #fff 0 1px, transparent 2px), radial-gradient(circle at 45% 78%, #fff 0 .7px, transparent 1.6px), var(--sw, #1b1530); }
.sw--glow { box-shadow: 0 0 8px 1px color-mix(in srgb, var(--sw, #9f9) 70%, transparent); }
.sw--multi { background: conic-gradient(#ff5b5b, #ffae3a, #ffe35a, #2effa2, #39e5ff, #8a6bff, #ff79d6, #ff5b5b); }
.sw--galaxy { background: radial-gradient(circle at 30% 30%, #fff 0 1px, transparent 2px), radial-gradient(circle at 65% 60%, #cfd6ff 0 1px, transparent 2px), #1b1530; }
.sw--clear { background: linear-gradient(135deg, rgba(255, 255, 255, .35), rgba(255, 255, 255, .05)); }

.near-note { font-size: 14px; color: var(--warn); margin: 0 0 6px; }
.near-bigbox { margin: 18px 0 0; padding: 14px 18px; border-radius: 14px; border: 1px dashed var(--line-2); }
.near-bigbox h3 { margin: 0 0 8px; font-size: 15px; }
.near-bigbox ul { margin: 0; padding-left: 18px; }
.near-bigbox li { font-size: 14px; margin: 6px 0; }
