/* Real listing photos are loaded from the verified photo manifest. */
.card-art.has-photo::before,
.card-art.has-photo .mini-station{display:none}
.card-art .card-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.card-art.has-photo .art-loc{padding:3px 6px;border-radius:6px;background:#17202b9c;color:#fff;letter-spacing:.04em;text-shadow:0 1px 2px #0008}
.detail-art.has-photo{background:#f3f5f7}
.detail-art.has-photo::after,
.detail-art.has-photo>.sample-label,
.detail-art.has-photo>.sun,
.detail-art.has-photo>.station,
.detail-art.has-photo>.detail-art-name{display:none}
.detail-photo{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;background:#f3f5f7;user-select:none;-webkit-user-drag:none}
.detail-art.can-swipe{touch-action:pan-y pinch-zoom;cursor:grab}
.detail-art.can-swipe.is-dragging{cursor:grabbing}
.detail-photo[hidden]{display:none!important}
.detail-photo.gallery-slide-outgoing{z-index:2;pointer-events:none}
.detail-photo.gallery-slide-enter-next{animation:gallery-photo-enter-next 280ms cubic-bezier(.2,.7,.25,1) both}
.detail-photo.gallery-slide-exit-next{animation:gallery-photo-exit-next 280ms cubic-bezier(.2,.7,.25,1) both}
.detail-photo.gallery-slide-enter-prev{animation:gallery-photo-enter-prev 280ms cubic-bezier(.2,.7,.25,1) both}
.detail-photo.gallery-slide-exit-prev{animation:gallery-photo-exit-prev 280ms cubic-bezier(.2,.7,.25,1) both}
@keyframes gallery-photo-enter-next{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes gallery-photo-exit-next{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes gallery-photo-enter-prev{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes gallery-photo-exit-prev{from{transform:translateX(0)}to{transform:translateX(100%)}}
.gallery-arrow{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:42px;height:42px;padding:0;transform:translateY(-50%);border:1px solid #ffffff9c;border-radius:50%;background:#1119;color:#fff;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(5px)}
.gallery-arrow.previous{left:12px}
.gallery-arrow.next{right:12px}
.gallery-arrow[hidden]{display:none!important}
.gallery-arrow:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.gallery-meta{display:flex;align-items:center;gap:8px}
.gallery-meta b{font-size:9px;color:var(--ink2)}
.gallery-meta span{margin-left:0}
@media(max-width:620px){
  .gallery-arrow{width:40px;height:40px}
  .gallery-meta{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .detail-photo.gallery-slide-enter-next,.detail-photo.gallery-slide-exit-next,
  .detail-photo.gallery-slide-enter-prev,.detail-photo.gallery-slide-exit-prev{animation-duration:1ms!important}
}

@media(min-width:621px){
  .detail-top>div:first-child{position:relative;display:flex;flex-direction:column;min-width:0;padding-bottom:5px}
  .detail-art{height:auto;min-height:clamp(300px,25vw,340px);flex:1 1 0}
  .gallery-meta{position:absolute;left:10px;bottom:12px;z-index:6;padding:4px 7px;border-radius:999px;background:#1119;color:#fff}
  .detail-summary{display:flex;flex-direction:column}
  .detail-summary>.btn.full{margin-top:auto}
}

/* Let real listing photos set the frame ratio so contain-fit leaves no bars. */
.detail-top{align-items:start}
.detail-top>div:first-child{position:relative;display:block;min-width:0;padding-bottom:0}
.detail-art.has-photo{height:auto;min-height:0;flex:none}
.gallery-meta{position:absolute;left:10px;bottom:12px;z-index:6;padding:4px 7px;border-radius:999px;background:#1119;color:#fff}
.gallery-meta b{color:#fff}

/* Keep the desktop description breathing room equal above and below its bullets. */
@media(min-width:851px){
  .detail-summary>.price{margin-bottom:16px}
  .detail-summary>#detail-bullets>.bullet:first-child{margin-top:0}
  .detail-summary>#detail-bullets>.bullet:last-child{margin-bottom:0}
  .detail-summary>.btn.full{margin-top:16px}
}
