/* ENTIRE card is square; IMAGE 70%, INFORMATION 30%, including text padding.
   Standardizer exports 10:7; contain preserves the approved visual proportions.
   Legacy square images may letterbox; never re-crop or subject-scale them here.
   Long/large text scrolls within its region rather than changing the ratio. */
body[data-catalog-style="white"] #productGrid .shelf-row {
  grid-template-rows:auto;
  align-items:start;
}
body[data-catalog-style="white"] #productGrid .product-card {
  box-sizing:border-box;
  display:grid;
  grid-row:auto;
  grid-template-rows:minmax(0,7fr) minmax(0,3fr);
  aspect-ratio:1/1;
  width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  align-items:stretch;
  align-self:start;
  justify-self:stretch;
}
body[data-catalog-style="white"] #productGrid .product-image-frame {
  position:relative;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  min-height:0;
  max-height:none;
  align-self:stretch;
}
body[data-catalog-style="white"] #productGrid .product-image-frame .product-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
body[data-catalog-style="white"] #productGrid .product-info {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
  align-self:stretch;
  box-sizing:border-box;
  height:100%;
  min-height:0;
  margin:0;
  padding:6px 8px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
/* Keep normal phone fields within a shallow info panel, never below 12px.
   Exceptionally long model names or enlarged text retain the scroll fallback. */
@media(max-width:700px) {
  body[data-catalog-style="white"] #productGrid .product-info {
    padding:2px 4px;
  }
  body[data-catalog-style="white"] #productGrid .product-detail-line {
    margin:0;
    font-size:12px;
    line-height:1.1;
    column-gap:2px;
  }
  body[data-catalog-style="white"] #productGrid .product-detail-label {
    font-size:inherit;
  }
  body[data-catalog-style="white"] #productGrid .product-detail-line:first-child .product-detail-value {
    font-size:13px;
  }
}
