/* ==========================================================================
   PRODUCT DETAIL — two-column gallery + info, same restrained luxury
   language as the shop grid (no thick borders, soft shadows only).
   ========================================================================== */
.product-detail{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--sp-7);
  padding-top: calc(var(--nav-height) + var(--sp-6));
  padding-bottom: var(--sp-8);
  align-items: start;
}

.product-detail-main{
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--linen);
  box-shadow: var(--shadow-1);
}
.product-detail-main img{ width: 100%; height: 100%; object-fit: cover; display: block; }

.product-detail-thumbs{
  display: flex; gap: var(--sp-2); margin-top: var(--sp-2);
}
.product-detail-thumb{
  width: 68px; height: 68px; border-radius: var(--radius-sm); overflow: hidden;
  border: 1px solid var(--line); background: none; padding: 0; cursor: pointer;
  transition: border-color var(--d2) var(--ease);
}
.product-detail-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.product-detail-thumb.is-active, .product-detail-thumb:hover{ border-color: var(--gold); }

.product-detail-info{ position: sticky; top: calc(var(--nav-height) + var(--sp-4)); }
.product-detail-category{ font-size: var(--text-small); color: var(--bronze); }
.product-detail-info h1{
  font-family: var(--font-display); font-weight: 800;
  font-size: clamp(var(--text-4), 2.6vw, var(--text-6));
  color: var(--forest);
  margin-top: 6px;
}
.product-detail-price{ margin-top: var(--sp-2); }
.product-detail-price .price-was{ display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.product-detail-price .price-current{ font-size: var(--text-4); font-weight: 700; color: var(--forest); }
.product-detail-price .price-current small{ font-weight: 400; font-size: var(--text-small); color: var(--bronze); }
.product-detail-price .price-compare{ font-size: var(--text-1); color: var(--bronze); text-decoration: line-through; }
.product-detail-price .price-discount{
  font-size: var(--text-small); font-weight: 700; color: var(--color-error);
  background: var(--color-error-bg); border-radius: var(--radius-full); padding: 3px 10px;
}

.product-detail-desc{ margin-top: var(--sp-4); color: var(--ink); line-height: 1.9; font-size: var(--text-1); }

.product-detail-specs{
  margin-top: var(--sp-4);
  display: flex; flex-direction: column; gap: 8px;
}
.product-detail-specs li{
  display: flex; justify-content: space-between;
  padding-bottom: 8px; border-bottom: 1px solid var(--line);
  font-size: var(--text-small);
}
.product-detail-specs li span:first-child{ color: var(--bronze); }
.product-detail-specs li span:last-child{ color: var(--ink); font-weight: 600; }

.product-detail-actions{
  display: flex; align-items: center; gap: var(--sp-2);
  margin-top: var(--sp-5);
}
.product-detail-actions form{ display: flex; align-items: center; gap: var(--sp-2); flex: 1 1 auto; }
.product-detail-add{ flex: 1 1 auto; }
.product-detail-oos{
  flex: 1 1 auto; text-align: center; padding: var(--sp-3);
  border-radius: var(--radius-btn); background: var(--linen); color: var(--bronze); font-weight: 600;
}

.qty-stepper{
  display: flex; align-items: center;
  border: 1px solid var(--line); border-radius: var(--radius-btn);
  overflow: hidden;
}
.qty-stepper button{
  width: 38px; height: 44px; background: none; border: none; color: var(--forest);
  font-size: var(--text-2); cursor: pointer;
}
.qty-stepper button:hover{ background: var(--linen); }
.qty-stepper input{
  width: 40px; height: 44px; border: none; border-inline: 1px solid var(--line);
  text-align: center; font-size: var(--text-1); color: var(--ink);
  -moz-appearance: textfield;
}
.qty-stepper input::-webkit-outer-spin-button,
.qty-stepper input::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }

.product-detail-wishlist{
  flex-shrink: 0;
  width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid var(--line); background: none; color: var(--forest);
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  transition: border-color var(--d2) var(--ease), color var(--d2) var(--ease), transform var(--d2) var(--ease);
}
.product-detail-wishlist svg{ width: 18px; height: 18px; }
.product-detail-wishlist:hover{ transform: scale(1.06); border-color: var(--gold); }
.product-detail-wishlist.is-active{ color: var(--gold); border-color: var(--gold); }
.product-detail-wishlist.is-active svg{ fill: var(--gold); }

.product-detail-story{
  margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 1px solid var(--line);
  font-family: var(--font-display); font-size: var(--text-1); color: var(--bronze); line-height: 1.9;
}

.product-related{ padding-block: var(--sp-6) var(--sp-8); border-top: 1px solid var(--line); }
.product-related h2{
  font-family: var(--font-display); font-weight: 800; font-size: var(--text-4); color: var(--forest);
  margin-bottom: var(--sp-4);
}

@media (max-width: 900px){
  .product-detail{ grid-template-columns: 1fr; gap: var(--sp-4); }
  .product-detail-info{ position: static; }
}
