/* listings variant only (linked after style.css; default builds don't ship this file) */
.btn.solid{background:var(--brand);color:#fff;border-color:var(--brand)}
.listings{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px}
.listing{border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:#fff}
.listing h3{margin:.2em 0;font-size:1.15rem}
.listing p{margin:.3em 0}
.listing.featured{border:2px solid var(--paid)}
.listing .paidtag{margin:0 0 .3em}
.listing img.logo{float:right;max-width:96px;height:auto;margin:0 0 8px 12px}
.listing .btn.call{background:var(--brand);color:#fff;border-color:var(--brand);margin:6px 8px 6px 0}
.listing .photos{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;clear:both}
.listing .photos img{width:140px;height:100px;object-fit:cover;border-radius:6px}
.filters label{min-height:0;margin-top:8px;font-weight:600}
.filters input[type=search]{font:inherit;min-height:44px;padding:6px 10px;border:2px solid #6b7a83;border-radius:6px;width:100%}
.claimform fieldset{border:1px solid var(--line);border-radius:8px;margin:14px 0;padding:8px 12px}
.claimform legend{font-weight:700;padding:0 4px}
.claimform input[type=url]{display:block;width:100%;max-width:520px;min-height:44px;padding:8px;margin-top:4px;font:inherit;border:2px solid #6b7a83;border-radius:6px}
.claimform input[type=radio]{width:22px;height:22px}
.claimform label.inline{font-weight:400;margin:4px 0}
.countygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 12px;max-height:22rem;overflow-y:auto;border:1px solid var(--line);border-radius:6px;padding:4px 8px}
.claimform [aria-invalid=true]{border-color:#b00020!important;outline:2px solid #b00020}
.fielderr{color:#b00020;font-weight:700;margin:4px 0}
.errors{border:2px solid #b00020;border-radius:8px;padding:8px 14px;background:#fff5f5;margin:10px 0}
.errors a{color:#b00020}
.ok{color:#11603a;font-weight:700}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
table.tiers{display:table;width:100%;margin:12px 0}
table.tiers caption{text-align:left;font-weight:700;padding:4px 0}
table.tiers th,table.tiers td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
table.tiers thead th{background:var(--soft)}
@media (max-width:600px){
 table.tiers caption{display:block;width:auto}
 table.tiers thead{position:absolute;left:-10000px}
 table.tiers,table.tiers tbody,table.tiers tr,table.tiers th,table.tiers td{display:block;width:auto}
 table.tiers tr{border:1px solid var(--line);border-radius:8px;margin:0 0 10px;padding:6px 10px}
 table.tiers th[scope=row]{border:0;padding:4px 0;background:none}
 table.tiers td{border:0;padding:2px 0}
 table.tiers td::before{content:attr(data-label) ": ";font-weight:700}
}
.claimform label.inline input[type=checkbox],.claimform label.inline input[type=radio]{flex:0 0 22px}
#featured{border:2px solid var(--paid);border-radius:10px;padding:8px 14px;margin:14px 0}
#featured h2,#free h2{font-size:1.25rem;margin:.4em 0 .2em}
.listing.unclaimed .unclaimed-note{font-size:.95rem}
