/* Compact public search cards. Scoped to shared search surfaces only. */
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card {
    --card-ink: #333333; --card-muted: #626b78; --card-red: #cc0000;
    box-sizing: border-box; float: none; width: 100%; min-width: 0; display: flex;
    flex-direction: column; gap: 8px; padding: 16px; margin: 0;
    border: 1px solid #e1e5eb; border-radius: 12px; background: #fff;
    color: var(--card-ink); box-shadow: 0 3px 12px #202c3a08; text-align: left;
    font-family: Roboto, sans-serif; container-type: inline-size;
}
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card * { box-sizing: border-box; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .visually-hidden { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__toolbar { display: grid; grid-template-columns: 30px minmax(0,1fr) 44px; align-items: start; gap: 10px; width: 100%; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-pin { position: static; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin: 0; border: 0; border-radius: 50%; background: #242b33; color: #fff; font-size: 15px; font-weight: 700; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__identity { min-width: 0; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__name { float: none; display: block; width: 100%; padding: 0; margin: 0 0 4px; color: var(--card-ink); font-family: inherit; font-size: 17px; font-weight: 600; line-height: 1.3; letter-spacing: 0; overflow-wrap: anywhere; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__name a { color: var(--card-ink); text-decoration: none; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__name a:hover { text-decoration: underline; text-underline-offset: 3px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-verified { display: inline; margin-left: 5px; font-size: 12px; color: #188346; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__cat { min-height: 0; margin: 0; line-height: 1.4; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__category { display: inline; padding: 0; background: none; color: var(--card-red); font-size: 13px; font-weight: 400; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-flabel { position: static; display: inline-block; margin-top: 4px; color: var(--card-red); font-size: 11px; font-weight: 600; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-save { position: static; float: none; width: auto; margin: -7px 0 0; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-save__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--card-ink); cursor: pointer; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-save__icon svg { width: 18px; height: 23px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-save__icon[aria-pressed=true] svg { fill: currentColor; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-save__icon:hover, :is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-save__icon[aria-pressed=true] { background: #fff3f3; color: var(--card-red); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-save__icon:disabled { opacity: .5; cursor: wait; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__body { display: flex; flex-direction: column; gap: 8px; width: 100%; min-width: 0; padding: 0; float: none; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__body::before { display: none; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0!important; color: var(--card-muted); font-size: 13px; line-height: 1.5; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-hours { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; width: 100%; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-open-status { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--card-muted); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-open-status.is-open { color: #078235; font-weight: 600; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-status-dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-hours__time { border-left: 1px solid #dce1e8; padding-left: 8px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-hours__link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; color: var(--card-red); text-decoration: underline; text-underline-offset: 3px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-reviews { display: inline-flex; align-items: center; gap: 7px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-reviews svg { width: 19px; height: 19px; flex-shrink: 0; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 13px; color: var(--card-ink); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rating--none, :is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rating__count { color: var(--card-muted); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rating__stars { color: #8b6410; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__addr { display: flex; align-items: center; gap: 9px; min-height: 0; padding: 0; margin: 0!important; color: var(--card-ink); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__addr svg { width: 22px; height: 25px; color: var(--card-red); flex-shrink: 0; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-features { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 0; margin: 0; list-style: none; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-features li { display: inline-flex; align-items: center; gap: 7px; min-width: 0; max-width: 100%; color: var(--card-muted); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-features li + li { border-left: 1px solid #dce1e8; padding-left: 12px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-features svg { width: 23px; height: 25px; flex-shrink: 0; color: var(--card-ink); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__dist, :is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-owned { font-size: 12px; line-height: 1.5; margin: 0; color: var(--card-muted); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__actions { display: flex; width: 100%; gap: 8px; margin: 2px 0 0; padding: 10px 0 0; border-top: 1px solid #e1e5eb; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__actions .btn { position: static; display: inline-flex; flex: 1; min-width: 0; align-items: center; justify-content: center; gap: 8px; min-height: 44px; height: auto; margin: 0; padding: 8px; border: 1px solid var(--card-red); border-radius: 6px; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.4; white-space: normal; text-decoration: none; box-shadow: none; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-call { background: #fff; color: var(--card-red); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-call:hover { background: #fff3f3; color: #a30000; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-preview { background: var(--card-red); color: #fff; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-preview:hover { background: #a30000; border-color: #a30000; color: #fff; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__actions .btn i { position: static; width: auto; height: auto; margin: 0; color: inherit; border: 0; background: none; box-shadow: none; font-size: 17px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__actions .btn svg { width: 19px; height: 19px; flex-shrink: 0; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card :where(a,button):focus-visible { outline: 3px solid #cc0000; outline-offset: 3px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card:is(.is-hovered,:focus-within) { border-color: #cbd1db; box-shadow: 0 3px 12px #202c3a12; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card.is-featured { border-color: #ecd3d3; }
.th-directory-page #records .mb-rcard { margin-bottom: 16px; }
@container (max-width: 480px) {
    :is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-hours { width: 100%; }
    :is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-features li + li { border: 0; padding-left: 0; }
}
@media (max-width: 350px) { :is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-rcard__actions { flex-direction: column; } }

:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-hours__today { font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; color: var(--card-muted); }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card .mb-card-hours__current { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
:is(.townhub-search, .th-directory-page) .mb-rcard.th-result-card :is(.is-opening,.is-closing) .mb-open-status { color: #946000; font-weight: 600; }
