/* Storefront media baseline derived from the approved visual snapshot.
   Presentation only: no editing controls or media mutation logic. */

/* Product cards keep one stable media frame while every asset preserves its own aspect ratio. */
.ic-store-product-card .ic-store-card-media{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  min-height:0;
  margin:4px 0 8px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:8px;
  background:#f7f7f5;
}
.ic-store-product-card .ic-store-card-media img,
.ic-store-product-card .ic-store-card-media picture,
.ic-store-product-card .ic-store-card-media picture img,
.ic-store-product-card .ic-store-card-media video{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center center !important;
}
.ic-store-product-card .ic-store-card-media img{
  padding:8px;
  box-sizing:border-box;
}
.ic-store-product-card .ic-store-image-placeholder{
  width:100%;
  height:100%;
  border:1px solid #c9c9c7;
  background:#e4e4e2;
  border-radius:7px;
}
.ic-store-product-card .ic-store-image-placeholder strong{font-size:15px}

/* Do not let different image dimensions move the product information around. */
.ic-store-product-card{
  min-height:0;
  padding:12px;
}
.ic-store-product-card .ic-store-swatches{
  justify-content:flex-start;
  min-height:22px;
  margin:0 0 7px;
}
.ic-store-product-card .ic-store-card-copy h2{
  min-height:34px;
  line-height:1.18;
}
.ic-store-product-card .ic-store-delivery{min-height:38px}

/* Large/featured product media: roomy frame, original aspect ratio, no crop. */
.ic-store-feature-media,
.ic-store-featured-media,
.ic-store-hero-product-media,
[data-store-feature-media],
[data-feature-product-media]{
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#f7f7f5;
  border-radius:10px;
}
.ic-store-feature-media img,
.ic-store-featured-media img,
.ic-store-hero-product-media img,
[data-store-feature-media] img,
[data-feature-product-media] img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Configurator media is deliberately independent from the grid thumbnail size. */
.ic-store-config-media,
.ic-store-config-image,
[data-store-config-media],
.ic-store-config-card [data-product-media]{
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#f7f7f5;
}
.ic-store-config-media img,
.ic-store-config-image img,
[data-store-config-media] img,
.ic-store-config-card [data-product-media] img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center center !important;
}

@media (min-width:981px){
  .ic-store-grid{gap:14px}
}

@media (max-width:760px){
  .ic-store-product-card{padding:9px}
  .ic-store-product-card .ic-store-card-media{
    aspect-ratio:1 / 1;
    height:auto;
    margin-top:2px;
  }
  .ic-store-product-card .ic-store-card-media img{padding:5px}
  .ic-store-product-card .ic-store-card-copy h2{min-height:auto}
}

@media (max-width:500px){
  /* Keep two compact cards when the viewport has room, matching the approved reference. */
  .ic-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ic-store-product-card{min-height:0}
  .ic-store-product-card .ic-store-card-media{height:auto;aspect-ratio:1 / 1}
  .ic-store-product-card .ic-store-delivery{min-height:34px}
  .ic-store-product-card .ic-store-cta{height:34px}
}

@media (max-width:360px){
  .ic-store-grid{grid-template-columns:1fr}
}
