/* Real author-supplied listing facts; no stock, delivery or price is inferred. */
.zb-listing { display:flex; flex-direction:column; }
.zb-listing .zb-card-photo { flex-shrink:0; }
.zb-listing .zb-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; min-width:0; }
.zb-listing .zb-card-body h3 { width:100%; margin:0 0 8px; font-size:clamp(16px,1.1vw,20px); line-height:1.3; overflow-wrap:anywhere; }
.zb-listing .zb-price { margin:0 0 10px; font-size:clamp(17px,1.3vw,23px); line-height:1.25; }
.zb-listing .zb-price-unspecified { font-size:14px; font-weight:500; color:#647165; }
.zb-listing .zb-listing-location { display:flex; align-items:flex-start; gap:5px; width:100%; margin:0 0 10px; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
.zb-listing-location svg { flex-shrink:0; width:15px; height:15px; margin-top:2px; }
.zb-listing .zb-seller { align-self:stretch; margin-top:12px; padding-top:10px; font:500 13px/1.5 var(--zbsr-sans,Arial,sans-serif); }
.zb-listing-availability { display:inline-flex; align-items:center; gap:7px; padding:5px 8px; border:1px solid #dce5d8; border-radius:6px; background:#f0f5ec; color:#23583c; font:500 12px/1.4 var(--zbsr-sans,Arial,sans-serif); max-width:100%; overflow-wrap:anywhere; }
.zb-status-dot { flex-shrink:0; width:6px; height:6px; border-radius:50%; background:currentColor; }
.zb-listing-availability[data-state="on_request"],.zb-listing-availability[data-state="seasonal"] { background:#faf5e8; border-color:#e9dec2; color:#735b21; }
.zb-listing-availability[data-state="unknown"],.zb-listing-availability[data-state="unavailable"] { background:#f3f4f1; border-color:#e0e3dc; color:#606b61; }
.zb-listing-details { margin:24px 0; padding:clamp(18px,2.5vw,32px); background:#fff; border:1px solid #dce4d7; border-radius:14px; box-shadow:0 6px 24px rgba(25,59,45,.035); }
.zb-listing-details-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.zb-detail-kicker { display:block; font:600 10px/1.5 var(--zbsr-sans,Arial,sans-serif); letter-spacing:.13em; color:#71805f; margin-bottom:7px; }
.zb-listing-details .zb-listing-details-heading h2 { font-size:clamp(24px,2vw,31px); color:#193b2d; margin:0; }
.zb-listing-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:0 0 20px; }
.zb-listing-facts > div { padding:14px 0; border-top:1px solid #e9ede4; min-width:0; }
.zb-listing-facts dt { color:#66745f; font:400 13px/1.45 var(--zbsr-sans,Arial,sans-serif); margin:0 0 5px; }
.zb-listing-facts dd { color:#193b2d; font:600 17px/1.4 var(--zbsr-sans,Arial,sans-serif); margin:0; overflow-wrap:anywhere; }
.zb-listing-terms { padding:17px 20px; border-left:3px solid #c4a962; border-radius:0 8px 8px 0; background:#f7f7f2; margin-bottom:18px; }
.zb-listing-terms h3 { font-size:18px; color:#193b2d; }
.zb-listing-terms p { margin:0; font:400 14px/1.7 var(--zbsr-sans,Arial,sans-serif); overflow-wrap:anywhere; }
.zb-detail-note { margin:0 0 16px; color:#61705f; font:400 13px/1.65 var(--zbsr-sans,Arial,sans-serif); }
.zb-contact-panel { padding:20px; background:#eef3e9; border:1px solid #d9e4d1; border-radius:10px; margin:18px 0 0; }
.zb-contact-panel > h3 { color:#193b2d; font-size:20px; margin-bottom:8px; }
.zb-contact-panel > p { color:#50654e; font:400 14px/1.6 var(--zbsr-sans,Arial,sans-serif); }
.zb-contact-panel > summary.zb-contact-primary { list-style:none; display:flex; align-items:center; justify-content:center; padding:14px 18px; min-height:48px; border-radius:7px; background:#193b2d; color:#fff; font:600 16px/1.4 var(--zbsr-sans,Arial,sans-serif); cursor:pointer; }
.zb-contact-panel > summary.zb-contact-primary::-webkit-details-marker { display:none; }
.zb-contact-panel > summary.zb-contact-primary:after { content:"+"; margin-left:14px; font-size:22px; line-height:1; }
.zb-contact-panel[open] > summary.zb-contact-primary:after { content:"−"; }
.zb-contact-panel[open] > summary.zb-contact-primary { margin-bottom:18px; }
.zb-contact-panel .zb-contact-primary:focus-visible { outline:3px solid #bd9b45; outline-offset:3px; }
.zb-contact-panel .zb-contact-primary:hover { background:#24533e; color:#fff; }
.zb-contact-panel .zb-form { max-width:none; }
@media(max-width:600px) {
    .zb-listing .zb-card-body h3 { font-size:16px; }
    .zb-listing .zb-listing-location { font-size:12px; }
    .zb-listing .zb-listing-availability { font-size:11px; gap:5px; padding:5px 6px; }
    .zb-listing-details { padding:18px; }
    .zb-listing-facts { gap:0 16px; }
    .zb-listing-facts dd { font-size:15px; }
    .zb-contact-panel { padding:14px; }
    .zb-contact-panel .zb-button,.zb-contact-panel > summary.zb-contact-primary { width:100%; font-size:15px; }
}
@media(max-width:380px) {
    .zb-listing-facts { grid-template-columns:1fr; }
}
