/* Evidence-backed visual cards. Scope all layout changes to the shared listing. */
.visual-listing svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.at-listings.visual-listings{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.at-listings.visual-listings .visual-listing{gap:9px;padding:13px;border-radius:13px;box-shadow:0 2px 6px #19473506;min-width:0;position:relative}
.listing-identity{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0;font-size:11px;line-height:1.2}
.listing-identity-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:6px;background:#eff3f2;color:#345a58;font-weight:650}
.listing-identity-badge svg{width:17px;height:17px}.listing-identity .transaction-sale{color:#196552;background:#e3f2e9}.listing-identity .transaction-rent{color:#315e91;background:#e9f0fb}
.listing-area{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:#52665e;font-size:11px}.listing-area svg{width:16px;height:16px}
.visual-listing-header{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:start}
.listing-city-photo{width:104px;margin:0;position:relative;border-radius:9px;overflow:hidden;background:#e3ede8;align-self:stretch;min-height:112px}
.listing-city-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.listing-city-photo figcaption{position:absolute;bottom:0;inset-inline:0;padding:18px 5px 6px;background:linear-gradient(transparent,#102e2beb 35%);color:#fff;text-align:center;font-size:10px;line-height:1.4}
.listing-city-photo figcaption>span{display:block;font-weight:650}.listing-city-photo figcaption>a{font-size:9px;text-decoration:underline;text-underline-offset:2px}.listing-city-photo figcaption>a:focus-visible{outline:2px solid white;outline-offset:1px}
.listing-type-art{min-height:112px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:linear-gradient(140deg,#e1eee7,#f4f5e9);border:1px solid #d6e3da;border-radius:9px;color:#53785f;font-size:10px}.listing-type-art svg{width:56px;height:56px;stroke-width:1.2}
.visual-listing-info{min-width:0}.compact-listings .visual-listing h3{font-size:15px;margin:0 0 4px}.visual-listing .compact-agent{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.compact-listings .visual-listing .at-listing-price{max-width:none;text-align:left;margin-top:7px}.visual-listing .property-price{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:0}.visual-listing .property-price>strong{font-size:20px;line-height:1.25;letter-spacing:-.6px;white-space:normal;overflow-wrap:anywhere}.visual-listing .property-price>span{font-size:10px!important}.visual-listing .property-price>small{flex-basis:100%;font-size:10px!important;line-height:1.3}
.listing-symbols{position:relative;display:flex;flex-wrap:wrap;gap:5px;padding-top:9px;border-top:1px solid #e1ebe5;isolation:isolate}
.listing-symbol{flex:0 1 auto;min-width:43px;margin:0;--symbol-bg:#edf2f1;--symbol-ink:#48615c}.listing-symbol.is-positive{--symbol-bg:#e4f3e9;--symbol-ink:#206645}.listing-symbol.is-concern{--symbol-bg:#fff0e3;--symbol-ink:#97480a}.listing-symbol.is-unknown{--symbol-bg:#f4f6f5;--symbol-ink:#65756d}
.listing-symbol>summary{list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:51px;min-width:43px;padding:5px 4px 4px;border:1px solid #dce6df;border-radius:8px;cursor:pointer;background:var(--symbol-bg);color:var(--symbol-ink);user-select:none}
.listing-symbol>summary::-webkit-details-marker{display:none}.listing-symbol>summary:hover,.listing-symbol[open]>summary{border-color:#719587;box-shadow:0 0 0 1px #719587}.listing-symbol>summary:focus-visible{outline:3px solid #ad7445;outline-offset:2px}
.listing-symbol-mark{display:flex;align-items:center;gap:3px;min-height:22px}.listing-symbol-mark svg{width:22px;height:22px}.listing-symbol-mark b{font-size:11px;line-height:1;letter-spacing:-.3px}.listing-symbol-label{font-size:9px;line-height:1.15;max-width:92px;text-align:center;overflow-wrap:break-word}
.listing-symbol[data-symbol=benefits] .listing-symbol-mark b,.listing-symbol[data-symbol=concerns] .listing-symbol-mark b{font-size:15px}.listing-symbol[data-symbol=benefits] .listing-symbol-mark svg,.listing-symbol[data-symbol=concerns] .listing-symbol-mark svg{width:16px;height:16px}
.listing-symbol[open]{z-index:5}.listing-symbol-help{position:absolute;inset-inline:0;top:calc(100% + 5px);z-index:5;background:#183f36;color:white;padding:12px 14px;border-radius:9px;box-shadow:0 6px 22px #102b3333;font-size:12px;line-height:1.5}.listing-symbol-help p{font-size:12px;line-height:1.5;margin-top:4px}.visual-listing:has(.listing-symbol[open]){z-index:10}
.listing-evidence-summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;font-size:10px;line-height:1.4;color:#536d61}.listing-symbol-hint{margin-left:auto;font-size:9px;color:#60756b}.visual-listings .visual-listing .at-listing-assessment{padding:0;border:0}.visual-listing .property-details summary{background:#f6f9f6;border-radius:7px;font-size:11px;padding:6px 8px}.visual-listing .property-detail-body{font-size:12px}.visual-listing .property-verdicts,.visual-listing .property-facts{grid-template-columns:1fr}
.visual-listing .compact-card-actions{margin-top:auto;gap:5px;align-items:stretch}.visual-listing .compact-card-actions .listing-link{font-size:10px;padding:6px 7px;min-height:31px;display:flex;align-items:center;justify-content:center}.visual-listing .compact-original{background:#236d56!important;color:white;border-color:#236d56;font-weight:600}
@media(max-width:1150px){.at-listings.visual-listings{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.at-listings.visual-listings{grid-template-columns:1fr}.at-listings.visual-listings .visual-listing{padding:12px;gap:8px}.visual-listing-header{grid-template-columns:100px minmax(0,1fr);gap:10px}.listing-city-photo{width:100px}.listing-symbol-hint{margin-left:0}.visual-listing .property-price>strong{font-size:19px}}
@media(max-width:370px){.visual-listing-header{grid-template-columns:80px minmax(0,1fr);gap:9px}.listing-city-photo{width:80px}.listing-symbols{gap:4px}.listing-symbol>summary{min-width:40px;padding-inline:3px}.listing-symbol-label{font-size:9px}.listing-area{font-size:10px}.visual-listing .compact-card-actions .listing-link{font-size:9px}}
