/* ===== Mystérius — product page ===== */

/* ---------- Hero buy block ---------- */
.pg-hero-buy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.pg-hero-price {
  font: 400 clamp(1.5rem, 2.6vw, 2.1rem)/1 var(--serif);
  color: var(--cream);
  margin: 0;
  letter-spacing: -0.01em;
}
.pg-hero-buy-form { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.pg-hero-details-link {
  font: 500 11px/1 var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(250,250,250,0.65);
  text-decoration: none;
  border-bottom: 1px solid rgba(250,250,250,0.3);
  padding-bottom: 3px;
  transition: color 0.25s var(--ease), border-color 0.25s var(--ease);
}
.pg-hero-details-link:hover { color: var(--cream); border-color: var(--cream); }

/* ---------- Buy bar under specs ---------- */
.pg-mprod-buybar {
  grid-column: 1 / -1;
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}
.pg-mprod-buybar-price {
  font: 400 clamp(1.6rem, 2.8vw, 2.2rem)/1 var(--serif);
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
}

@media (max-width: 560px) {
  .pg-hero-buy-form { flex-direction: column; align-items: flex-start; gap: 14px; }
  .pg-mprod-buybar { flex-direction: column; align-items: flex-start; }
}

.pg-mprod-gallery { background: var(--cream-soft); padding: 140px 0; }
.pg-mprod-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 160px;
  gap: 10px;
}
.pg-mprod-g-item {
  position: relative;
  border-radius: 0;
  overflow: hidden;
}
.pg-mprod-g-item.big { grid-column: span 2; grid-row: span 2; }
.pg-mprod-g-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.pg-mprod-g-item:hover img { transform: scale(1.04); }

@media (max-width: 900px) {
  .pg-mprod-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 190px; }
  .pg-mprod-g-item.big { grid-column: span 2; grid-row: span 1; aspect-ratio: 16 / 11; height: auto; }
  .pg-mprod-gallery { padding: 90px 0; }
}

/* ---------- Specs ---------- */
.pg-mprod-specs { background: var(--cream); padding: 140px 0; }
.pg-mprod-specs-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 90px; align-items: start; }
.pg-mprod-specs-head { position: sticky; top: 140px; }
.pg-mprod-specs-head .pg-split-heading { margin: 16px 0 20px; }
.pg-mprod-specs-head .pg-split-body { max-width: 380px; }
.pg-mprod-specs-img {
  margin: 32px 0 0;
  max-width: 380px;
  border-radius: 0;
  overflow: hidden;
}
.pg-mprod-specs-img img { width: 100%; height: auto; display: block; }

.pg-mprod-specs-list { margin: 0; }
.pg-mprod-specs-list .row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.pg-mprod-specs-list .row:first-child { border-top: 1px solid var(--line); }
.pg-mprod-specs-list dt {
  font: 500 11px/1.4 var(--sans);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(13,13,15,0.4);
  white-space: nowrap;
  margin: 0;
}
.pg-mprod-specs-list dd {
  margin: 0;
  font: 400 18px/1.4 var(--serif);
  color: var(--ink);
  text-align: right;
}

@media (max-width: 860px) {
  .pg-mprod-specs-grid { grid-template-columns: 1fr; gap: 44px; }
  .pg-mprod-specs-head { position: static; }
  .pg-mprod-specs { padding: 90px 0; }
}

/* ---------- Livraison / Paiement / Garantie ---------- */
.pg-mprod-shipping { background: var(--cream-soft); padding: 100px 0; }
.pg-mprod-shipping-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid var(--line);
}
.pg-mprod-ship-item {
  padding: 34px 32px 34px 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.pg-mprod-ship-item:not(:first-child) { padding-left: 32px; }
.pg-mprod-ship-item:last-child { border-right: 0; }
.pg-mprod-ship-label {
  font: 500 10.5px/1 var(--sans);
  color: rgba(13,13,15,0.4);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin: 0 0 14px;
}
.pg-mprod-ship-text {
  font: 400 15px/1.65 var(--sans);
  color: rgba(13,13,15,0.68);
  margin: 0;
}
.pg-mprod-ship-text a { color: var(--ink); text-decoration: none; border-bottom: 1px solid rgba(13,13,15,0.3); }
.pg-mprod-ship-text a:hover { border-color: var(--ink); }

@media (max-width: 780px) {
  .pg-mprod-shipping-grid { grid-template-columns: 1fr; }
  .pg-mprod-ship-item { border-right: 0; padding: 28px 0; }
  .pg-mprod-ship-item:not(:first-child) { padding-left: 0; }
  .pg-mprod-shipping { padding: 70px 0; }
}

/* ---------- FAQ ---------- */
.pg-mprod-faq { background: var(--cream); padding: 140px 0; }
.pg-mprod-faq-wrap { max-width: 820px; margin: 0 auto; }
.pg-mprod-faq-head { text-align: center; margin: 0 0 52px; }
.pg-mprod-faq-head .pg-eyebrow { justify-content: center; }
.pg-mprod-faq-head .pg-split-heading { margin: 16px 0 0; }

.pg-faq-item { border-bottom: 1px solid var(--line); padding: 24px 0; }
.pg-faq-item:first-child { border-top: 1px solid var(--line); }
.pg-faq-item summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font: 400 20px/1.35 var(--serif);
  letter-spacing: -0.01em;
  color: var(--ink);
}
.pg-faq-item summary::-webkit-details-marker { display: none; }
.pg-faq-item summary::after {
  content: "+";
  flex: none;
  font: 400 24px/1 var(--sans);
  color: rgba(13,13,15,0.4);
  transition: transform 0.3s var(--ease);
}
.pg-faq-item[open] summary::after { transform: rotate(45deg); }
.pg-faq-item p { margin: 16px 0 0; font: 400 16px/1.75 var(--sans); color: rgba(13,13,15,0.62); max-width: 680px; }

@media (max-width: 700px) {
  .pg-mprod-faq { padding: 90px 0; }
  .pg-faq-item summary { font-size: 16px; }
}
