/* v1.7.76: classic 3-column Freebies grid remains unchanged */
.gallery .tile > img.px-adaptive-card-image {object-fit:contain;object-position:center;background:#f7f7f7}
.px-detail-image-wrap {height:auto;min-height:280px;max-height:none;aspect-ratio:auto}
.px-detail-image-click {min-height:280px;height:auto}
.px-detail-main-image {width:100%;height:auto;max-height:75vh;object-fit:contain;aspect-ratio:auto}
.px-image-nav {top:50%}
.px-detail-thumbs img {object-fit:contain}
@media(max-width:750px){.px-detail-image-wrap{min-height:200px}.px-detail-image-click{min-height:200px}.px-detail-main-image{max-height:65vh}}

/* v1.7.77: fill classic Freebies cards edge-to-edge; resource detail remains contain */
.gallery .tile > img.px-adaptive-card-image { width:100%; height:100%; object-fit:contain; object-position:center; }

/* v1.7.78: entire original image stays visible within the unchanged card */
.gallery .tile > img.px-adaptive-card-image { width:100%; height:100%; object-fit:contain; object-position:center; background:#f7f7f7; }

/* v1.7.79: square prepared covers fill classic Freebies cards without clipping */
.gallery .tile > img.px-adaptive-card-image {object-fit:cover;object-position:center;background:#f7f7f7}

/* v1.7.80 — consistent preview stage; source images are never resized or altered */
.px-detail-image-wrap {
  height: clamp(300px, 40vw, 540px);
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.px-detail-image-click {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.px-detail-main-image {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}
.px-image-nav {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(0,0,0,.09);
  box-shadow: none;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}
.px-image-nav:hover { background: #fff; border-color: rgba(0,0,0,.22); }
.px-image-nav:focus-visible { outline: 2px solid #222; outline-offset: 3px; }
.px-image-nav img { display: none; }
.px-image-nav::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #222;
  border-bottom: 1.5px solid #222;
  transform: rotate(-45deg);
}
.px-image-prev::after { transform: rotate(135deg); margin-left: 4px; }
.px-image-next::after { margin-right: 4px; }
@media (max-width: 600px) {
  .px-detail-image-wrap { height: clamp(250px, 78vw, 400px); min-height: 0; }
  .px-image-nav { width: 32px; height: 32px; }
  .px-image-prev { left: 8px; }
  .px-image-next { right: 8px; }
}

/* v1.7.81 — keep right information panel aligned with gallery top */
.px-detail-hero {align-items:start;}
.px-detail-information {align-self:start;min-width:0;margin-top:0;}
.px-detail-information .px-detail-top-actions {margin-top:0;}
.px-detail-information .px-detail-info-grid {align-content:start;}
