/* F4HIK-LAB — fiches produit compactes et homogènes */
.product-grid{
  align-items:stretch;
  grid-auto-rows:1fr;
}

.product-card{
  height:100%;
  min-height:0;
  padding:20px;
}

.product-card .product-meta{
  min-height:34px;
  align-items:flex-start;
}

.product-card .product-image{
  width:100%;
  height:250px;
  flex:0 0 250px;
  margin:16px 0 10px;
}

.product-card .product-image img{
  width:100%;
  height:216px;
  aspect-ratio:auto;
  object-fit:contain;
}

.product-image-open{
  position:relative;
  display:block;
  width:100%;
  height:216px;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:inherit;
  color:inherit;
  background:transparent;
  cursor:zoom-in;
}

.product-image-open:focus-visible{
  outline:3px solid var(--cyan);
  outline-offset:-3px;
}

.product-image-zoom-icon{
  position:absolute;
  right:10px;
  bottom:10px;
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  color:#fff;
  background:rgba(2,15,25,.82);
  font-size:1.45rem;
  line-height:1;
}

.product-image-dialog{
  width:min(94vw,1400px);
  max-width:none;
  height:min(92vh,1000px);
  max-height:none;
  padding:52px 18px 18px;
  border:1px solid rgba(57,220,255,.55);
  border-radius:18px;
  background:#061520;
  box-shadow:0 24px 80px rgba(0,0,0,.72);
}

.product-image-dialog::backdrop{
  background:rgba(0,8,14,.88);
  backdrop-filter:blur(3px);
}

.product-image-dialog img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.product-image-dialog-close{
  position:absolute;
  top:10px;
  right:12px;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(57,220,255,.45);
  border-radius:50%;
  color:#fff;
  background:#0d3043;
  cursor:pointer;
  font-size:1.7rem;
  line-height:1;
}

.product-card .product-image figcaption{
  min-height:33px;
}

.product-image-placeholder{
  display:grid;
  place-content:center;
  gap:8px;
  text-align:center;
  color:var(--muted);
  background:linear-gradient(135deg,rgba(57,220,255,.04),rgba(57,220,255,.1));
}

.product-image-placeholder span{
  color:var(--cyan);
  font-size:2rem;
}

.product-card h3{
  min-height:3.5rem;
  margin:12px 0 8px;
  font-size:1.08rem;
}

.product-card .i2c-hub-image{
  background:#071724;
}

.product-card .i2c-hub-image img{
  transform:none;
}

.product-card .product-dimensions{
  min-height:1.5rem;
  margin:0 0 8px;
  color:var(--cyan);
  font-size:.95rem;
}

.product-card .product-description{
  flex:none;
  min-height:7.2rem;
  max-height:none;
  margin:8px 0 12px;
  padding:0;
  overflow:visible;
  line-height:1.48;
}

.product-card .product-details{
  margin:0 0 14px;
}

.product-card .product-details summary{
  width:100%;
  padding:9px 12px;
  text-align:center;
  list-style:none;
}

.product-card .product-details summary::-webkit-details-marker{
  display:none;
}

.product-card .product-details summary::after{
  content:'  +';
}

.product-card .product-details[open] summary::after{
  content:'  −';
}

.product-card .product-details-content{
  max-height:none;
  overflow:visible;
}

.product-card-footer{
  margin-top:auto;
}

.product-card-footer .preorder-info{
  min-height:76px;
  margin-top:0;
}

.product-card-footer form{
  margin:0;
}

.product-card-footer .button{
  min-width:165px;
}

@media(max-width:850px){
  .product-card .product-description,
  .light-product-grid .product-description{
    min-height:7.2rem;
  }
}

@media(max-width:620px){
  .product-grid{grid-auto-rows:auto}
  .product-card h3,
  .product-card .product-description{
    min-height:0;
  }
  .product-card .product-image{
    height:230px;
    flex-basis:230px;
  }
  .product-card .product-image img,
  .product-image-open{height:196px}
  .product-card-footer .preorder-info{min-height:0}
}
