/* ---------- Modal de produto (carrossel de fotos) ---------- */
.product-modal-overlay{
  position:fixed;inset:0;background:rgba(43,36,28,.6);z-index:1300;
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s;
}
.product-modal-overlay.open{opacity:1;visibility:visible;}

.product-modal{
  background:var(--cream);max-width:920px;width:100%;max-height:92vh;overflow-y:auto;
  border-radius:8px;display:grid;grid-template-columns:1.1fr 1fr;
  transform:translateY(16px);transition:transform .3s var(--ease);
}
.product-modal-overlay.open .product-modal{transform:translateY(0);}
@media(max-width:760px){
  .product-modal{grid-template-columns:1fr;max-height:94vh;}
}

.product-modal-close{
  position:absolute;top:14px;right:14px;z-index:5;width:36px;height:36px;border-radius:50%;
  background:rgba(255,253,248,.92);border:none;font-size:1.4rem;line-height:1;color:var(--charcoal);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.product-modal-close:hover{background:var(--honey);}

/* --- Carrossel --- */
.pm-carousel{position:relative;background:linear-gradient(155deg,var(--cream-deep),var(--beige));}
.pm-carousel-track{
  position:relative;aspect-ratio:.8;overflow:hidden;
}
.pm-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;
}
.pm-slide.active{opacity:1;visibility:visible;}
.pm-slide img{width:100%;height:100%;object-fit:cover;display:block;}

.pm-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;
  background:rgba(255,253,248,.85);border:none;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:3;color:var(--charcoal);transition:background .2s;
}
.pm-arrow:hover{background:var(--honey);}
.pm-arrow.prev{left:14px;}
.pm-arrow.next{right:14px;}
.pm-arrow svg{width:18px;height:18px;}

.pm-dots{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3;
}
.pm-dots button{
  width:7px;height:7px;border-radius:50%;background:rgba(255,253,248,.6);border:none;padding:0;cursor:pointer;
}
.pm-dots button.active{background:var(--honey);width:18px;border-radius:4px;transition:width .25s;}

.pm-thumbs{display:flex;gap:8px;padding:12px;flex-wrap:wrap;}
.pm-thumb{
  width:56px;height:56px;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;
  opacity:.6;transition:all .2s;flex-shrink:0;
}
.pm-thumb.active{border-color:var(--honey-deep);opacity:1;}
.pm-thumb img{width:100%;height:100%;object-fit:cover;display:block;}

/* --- Info do produto --- */
.pm-info{padding:30px 28px;display:flex;flex-direction:column;}
.pm-subcat{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--honey-deep);margin-bottom:6px;}
.pm-name{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--charcoal);margin-bottom:10px;line-height:1.25;}
.pm-price{font-size:1.15rem;color:var(--charcoal);margin-bottom:16px;}
.pm-price .price-old{text-decoration:line-through;color:var(--gray);font-size:.9rem;margin-right:8px;font-weight:400;}
.pm-price .price-sale{color:var(--honey-deep);font-weight:600;}
.pm-desc{font-size:.86rem;color:var(--charcoal-soft);line-height:1.6;margin-bottom:20px;}

.pm-field{margin-bottom:14px;}
.pm-field label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);margin-bottom:6px;}
.pm-field select{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font-size:.86rem;
  font-family:'Poppins',sans-serif;background:var(--white);color:var(--charcoal);
}

.pm-add-btn{
  margin-top:auto;padding:14px;border-radius:6px;background:var(--charcoal);color:var(--cream);
  font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;border:none;cursor:pointer;transition:background .3s;
}
.pm-add-btn:hover{background:var(--honey-deep);color:var(--charcoal);}
.pm-add-btn:disabled{opacity:.5;cursor:not-allowed;}
.pm-add-note{font-size:.76rem;color:var(--gray);text-align:center;margin-top:10px;}

.product-media{cursor:pointer;}
