/* Shared listing components only: no global shell or base-style overrides. */
.roxee-results-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.roxee-business-card { min-width:0; overflow:hidden; border-radius:16px; border:1px solid #dce3e7; }
.roxee-business-card .card-body { display:flex; flex-direction:column; padding:20px; }
.roxee-business-card h2 { line-height:1.35; overflow-wrap:anywhere; }
.roxee-business-card h2 a { color:inherit; text-decoration:none; }
.roxee-business-card h2 a:hover { text-decoration:underline; }
.roxee-business-card__category { color:#596a73; font-size:.8rem; margin-bottom:8px; }
.roxee-business-card__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:12px; }
.roxee-business-card__actions .btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.roxee-business-card__services { font-size:.875rem; padding-left:20px; }
.roxee-business-card__details { border-top:1px solid #dce3e7; margin-top:16px; padding-top:12px; font-size:.875rem; }
.roxee-business-card__details summary { cursor:pointer; min-height:36px; }
.roxee-business-card__selection { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.roxee-business-card__photo { display:block; color:inherit; }
.roxee-listing-media { width:100%; position:relative; aspect-ratio:16/10; overflow:hidden; background:#eef3f5; }
.roxee-listing-media img { display:block; width:100%; max-width:none; height:100%; object-fit:cover; }
.roxee-listing-media__label { position:absolute; bottom:10px; left:10px; right:10px; width:fit-content; max-width:calc(100% - 20px); background:#fff; color:#172c35; padding:5px 8px; border-radius:6px; font-size:.7rem; line-height:1.4; }
.roxee-listing-media__empty { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#596a73; font-size:.875rem; }
.roxee-listing-media [hidden] { display:none !important; }
.roxee-business-card a:focus-visible,.roxee-business-card button:focus-visible,.roxee-business-card summary:focus-visible { outline:3px solid #185d8d; outline-offset:3px; }
.roxee-listing-page { max-width:1200px; margin-inline:auto; }
@media(min-width:768px) { .roxee-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:1200px) { .roxee-results-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
