/* team listing pages + Our Active Listings index (scripts/listings.py) */
.lst-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#1f8a4c;color:#fff}
.lst-badge.pending{background:#d98a00}.lst-badge.contingent{background:#6b4fd8}.lst-badge.soon{background:#003da5}
.lst-top{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:baseline;margin:0 0 16px}
.lst-price{font-size:2rem;font-weight:800;color:var(--navy)}
.lst-keys{display:flex;flex-wrap:wrap;gap:8px}.lst-keys span{background:#f1f4fa;border-radius:10px;padding:8px 12px;font-size:.95rem}.lst-keys b{color:var(--navy)}
.lst-courtesy{font-size:.9rem;color:#4a5875;margin:6px 0 18px}
.gallery{margin:0 0 26px}
.gal-main{position:relative;border-radius:16px;overflow:hidden;background:#0e1c38;aspect-ratio:3/2}
.gal-main img{width:100%;height:100%;object-fit:contain;display:block}
.gal-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.gal-prev{left:12px}.gal-next{right:12px}
.gal-count{position:absolute;right:12px;bottom:12px;background:rgba(14,28,56,.8);color:#fff;border-radius:999px;padding:4px 10px;font-size:.85rem}
.gal-cap{font-size:.9rem;color:#4a5875;min-height:1.4em;margin:8px 2px 0}
.gal-thumbs{display:flex;gap:8px;overflow-x:auto;padding:8px 2px;scroll-snap-type:x mandatory}
.gal-thumbs button{flex:0 0 auto;border:2px solid transparent;border-radius:8px;padding:0;background:none;cursor:pointer;scroll-snap-align:start}
.gal-thumbs button[aria-current="true"]{border-color:var(--red)}
.gal-thumbs img{width:96px;height:64px;object-fit:cover;border-radius:6px;display:block}
.lst-facts{width:100%;border-collapse:collapse;font-size:.95rem}.lst-facts th{text-align:left;font-weight:600;color:#4a5875;width:42%;padding:7px 10px 7px 0;border-bottom:1px solid #e6eaf2}.lst-facts td{padding:7px 0;border-bottom:1px solid #e6eaf2}
.lst-map{height:360px;border-radius:14px;overflow:hidden;margin:6px 0 8px;z-index:0}
.lst-note{background:#fff8e6;border-left:4px solid #d98a00;border-radius:10px;padding:14px 18px;margin:18px 0}
.lst-note p:last-child{margin-bottom:0}
.lst-video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;margin:16px 0}.lst-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lst-agent{display:flex;gap:14px;align-items:center;margin:0 0 14px}.lst-agent img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.lst-agent b{display:block;color:var(--navy)}
.lst-side .box{position:sticky;top:110px}
.lst-disclaimer{font-size:.8rem;color:#5b6884;border-top:1px solid #e6eaf2;margin-top:34px;padding-top:14px}
.lst-schools li{margin:4px 0}
/* index cards */
.lst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:10px 0 26px}
.lst-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 2px 14px rgba(14,28,56,.1);color:inherit;text-decoration:none;transition:transform .15s}
.lst-card:hover{transform:translateY(-3px)}.lst-card .lst-main{display:block;color:inherit;text-decoration:none;flex:1}
.lst-card .ph{position:relative;aspect-ratio:3/2;background:#0e1c38}.lst-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.lst-card .ph .lst-badge{position:absolute;left:12px;top:12px}
.lst-card .tx{padding:14px 16px 16px}.lst-card .pr{font-size:1.4rem;font-weight:800;color:var(--navy)}
.lst-card .ad{font-weight:600;margin:2px 0 6px}.lst-card .kv{font-size:.9rem;color:#4a5875}
.lst-card .cr{font-size:.75rem;color:#6b7791;margin-top:8px}
.lst-empty{background:#f1f4fa;border-radius:16px;padding:26px;margin:10px 0 26px}
@media (max-width:640px){.lst-price{font-size:1.6rem}.gal-btn{width:38px;height:38px;font-size:1.3rem}.gal-thumbs img{width:76px;height:51px}.lst-map{height:280px}.lst-side .box{position:static}}
/* listing + co-listing agent (Oct 3 2026) */
.lst-agents{display:grid;gap:10px;margin:0 0 10px}.lst-agents .lst-agent{margin:0}
.lst-agent img{width:64px;height:64px}.lst-agent .nm{display:block;font-weight:700;color:var(--navy);text-decoration:none}.lst-agent .nm:hover{text-decoration:underline}
.lst-team-tel{margin:0 0 14px;font-weight:600}.lst-team-tel a{white-space:nowrap}
.lst-card-ag{display:flex;align-items:center;gap:10px;padding:10px 16px 14px;border-top:1px solid var(--line,#e3e8f0);font-size:.85rem}
.lst-card-ag .avs{display:flex;flex:none}.lst-card-ag .avs a+a{margin-left:-10px}
.lst-card-ag img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff;display:block}
.lst-card-ag .who a{color:var(--navy);font-weight:600}
/* seller favorites & improvements card (listing_extras 'seller_loves' / 'improvements', Oct 3 2026) */
.lst-fav{background:linear-gradient(135deg,#e8f5fb 0%,#f3f7ff 100%);border:1px solid #c9e3f0;border-top:5px solid var(--blue);border-radius:16px;padding:20px 24px 22px;margin:4px 0 30px;box-shadow:0 4px 18px rgba(20,40,75,.07)}
.lst-fav-eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red-d)}
.lst-fav h2{margin:.15em 0 .55em}
.lst-fav-cols{display:grid;gap:18px 30px}.lst-fav.two .lst-fav-cols{grid-template-columns:1fr 1fr}
.lst-fav-col h3{margin:0 0 8px;font-size:1.05rem;color:var(--blue);text-transform:none}
.lst-fav-col p{margin:0 0 .7em;color:var(--ink)}.lst-fav-col p:last-child{margin-bottom:0}
.lst-fav-list,.lst-fav-imp{list-style:none;margin:0;padding:0}
.lst-fav-list li,.lst-fav-imp li{position:relative;padding:6px 0 6px 26px;border-bottom:1px solid rgba(0,61,165,.1);color:var(--ink)}
.lst-fav-list li:last-child,.lst-fav-imp li:last-child{border-bottom:0}
.lst-fav-list li::before{content:"\2665";position:absolute;left:2px;top:6px;color:var(--red);font-size:.95rem}
.lst-fav-imp li::before{content:"\2713";position:absolute;left:3px;top:6px;color:var(--blue);font-weight:800}
.lst-fav-imp li{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.lst-fav-yr{flex:none;background:var(--navy);color:#fff;border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:700;letter-spacing:.02em}
@media (max-width:760px){.lst-fav.two .lst-fav-cols{grid-template-columns:1fr}.lst-fav{padding:16px 16px 18px;border-radius:14px}}
