/* Buyer essentials, scoped so forms, admin tables and desktop layout stay intact. */
.listing-card.is-viewed{opacity:1}
.listing-card.is-viewed .card-body h3{color:var(--ink)}
#cards .card-body h3{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35}
.card-facts{color:#555;font-size:12px;line-height:1.45;margin-top:6px;overflow-wrap:anywhere}
.listing-summary,.buyer-contact-dock{display:none}
.contact-dialog{z-index:150;transition:opacity .2s}
.contact-dialog:not(.open){visibility:hidden}
.contact-dialog.open{visibility:visible}
.contact-dialog-box{max-height:calc(100dvh - 36px);overflow-y:auto}
body.contact-open{overflow:hidden}
.contact-open .buyer-contact-dock{visibility:hidden}
@media(max-width:800px){
  #cards.cards{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  #cards>.listing-card{display:grid;grid-template-columns:minmax(100px,35%) minmax(0,1fr);min-width:0}
  #cards .photo{height:100%!important;min-height:150px;aspect-ratio:auto!important;align-self:stretch}
  #cards .card-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px!important}
  #cards .card-body h3{display:block;min-height:0;max-height:none;overflow:visible;-webkit-line-clamp:unset;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
  #cards .card-body strong{font-size:18px;line-height:1.25}
  #cards .card-body p{order:2;max-width:100%;font-size:12px;line-height:1.4;color:#5d5d5d;white-space:normal}
  #cards .card-facts{order:1}
  #cards .recommendation-reason{order:3;font-size:11px}
  #cards .badge{max-width:calc(100% - 16px)}
  #cards .favorite-button{top:auto!important;bottom:8px;right:8px!important}
  #cards .viewed-marker{top:36px;bottom:auto;left:8px;font-size:9px}
  .listing-layout>.listing-summary{display:block;order:0;padding:0 0 16px}
  .listing-summary h1{margin:0 0 8px;font-size:25px;line-height:1.22;letter-spacing:-.5px;overflow-wrap:anywhere}
  .listing-summary .price{font-size:28px;line-height:1.2;margin:0 0 8px}
  .listing-summary .location{margin:0;padding:0;border:0;font-size:14px;color:#555}
  .buyer-has-dock{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .buyer-contact-dock:not([hidden]){position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 15px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e5e1dc;background:#fffffff5;box-shadow:0 -5px 20px #0000000a}
  .buyer-contact-dock button{min-height:46px;border:1px solid var(--orange);border-radius:10px;background:var(--orange);color:#fff;font:700 15px Arial,sans-serif;cursor:pointer}
  .buyer-contact-dock button:last-child{background:#fff;color:#b94700}
  .buyer-contact-dock button:disabled{opacity:.55;cursor:default}
  .buyer-contact-dock button:focus-visible{outline:3px solid #222;outline-offset:2px}
  .buyer-contact-dock button[hidden]{display:none}
  .buyer-contact-dock.single-action{grid-template-columns:1fr}
  .site-help-fab{position:static!important;inset:auto!important;display:flex!important;gap:8px!important;width:max-content!important;max-width:calc(100% - 30px);height:auto!important;margin:12px auto 20px;padding:10px 14px!important;box-shadow:none!important;transform:none!important;font-size:12px!important}
  .cookie-notice-open .site-help-fab{display:none!important}
}
@media(prefers-reduced-motion:reduce){.listing-card,.contact-dialog,.contact-dialog-box{transition:none!important}}
