/* 27-10-2026: Ancient DNA near you (tool page and /embed/ widget) */
.an-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; position: relative; }
.an-bar input { flex: 1 1 260px; min-width: 0; padding: 11px 14px; border: 1.5px solid #cbd5e1; border-radius: 12px; font-size: 1rem; }
.an-bar input:focus { outline: none; border-color: #0e7490; box-shadow: 0 0 0 3px rgba(14,116,144,.15); }
.an-bar button { padding: 11px 16px; border-radius: 12px; border: 0; font-weight: 600; cursor: pointer; font-size: .95rem; }
#an-go { background: #0e7490; color: #fff; }
#an-locate { background: #f1f5f9; color: #334155; border: 1px solid #cbd5e1; }
#an-sugg { position: absolute; top: 100%; left: 0; right: 0; z-index: 1000; display: flex; flex-direction: column; margin-top: 4px; }
#an-sugg button { text-align: left; background: #fff; border: 1px solid #e2e8f0; border-top: 0; padding: 9px 12px; font-size: .9rem; cursor: pointer; border-radius: 0; font-weight: 400; color: #334155; }
#an-sugg button:first-child { border-top: 1px solid #e2e8f0; border-radius: 10px 10px 0 0; }
#an-sugg button:last-child { border-radius: 0 0 10px 10px; }
#an-sugg button:hover { background: #ecfeff; }
#an-status { margin: 10px 0; color: #475569; font-size: .92rem; min-height: 1.3em; }
#an-map { height: 420px; border-radius: 14px; border: 1px solid #e2e8f0; z-index: 0; }
.an-compact #an-map { height: 300px; }
#an-list { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.an-row { display: grid; grid-template-columns: 70px 1fr 110px 150px; gap: 10px; align-items: center; padding: 9px 12px; border: 1px solid #e2e8f0;
    border-radius: 10px; text-decoration: none; color: #1e293b; background: #fff; transition: border-color .15s; }
.an-row:hover { border-color: #0e7490; }
.an-km { font-weight: 700; color: #0e7490; font-size: .95rem; }
.an-main b { display: block; font-size: .93rem; font-weight: 600; }
.an-main small, .an-hap small { color: #64748b; font-size: .8rem; }
.an-date { font-size: .82rem; font-weight: 600; border-left: 4px solid; padding-left: 7px; }
.an-hap { font-family: 'JetBrains Mono', Consolas, monospace; font-size: .78rem; color: #334155; word-break: break-all; }
.an-hap i { font-style: normal; color: #94a3b8; }
#an-country { margin-top: 10px; font-size: .92rem; }
.an-legend { display: flex; flex-wrap: wrap; gap: 12px; font-size: .8rem; color: #475569; margin-top: 8px; }
.an-legend span::before { content: ''; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; background: var(--c); vertical-align: -1px; }
@media (max-width: 640px) {
    .an-row { grid-template-columns: 58px 1fr; }
    .an-date, .an-hap { grid-column: 2; }
    #an-map { height: 320px; }
}
