/* Seletores, preço e botões do cartão e da página do produto (product-parts-view.js) */

/* ---------- Seletores ---------- */
.pk-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 10px; }
.pk-row[hidden]{ display:none; }

.pk-chip{
  padding:7px 14px; border-radius:100px; border:1px solid var(--line); background:#fff;
  font-size:0.8rem; font-weight:500; color:var(--ink);
  transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s var(--ease);
}
.pk-chip:active{ transform:scale(.97); }
.pk-chip.active{ background:var(--ink); border-color:var(--ink); color:#fff; }
@media (hover:hover) and (pointer:fine){
  .pk-chip:not(.active):hover{ border-color:var(--ink); }
}

.pk-swatch{
  position:relative; width:26px; height:26px; border-radius:50%; background:var(--sw);
  border:1px solid rgba(10,10,10,.16); box-shadow:0 0 0 2px transparent;
  transition:box-shadow .16s ease, transform .16s var(--ease);
}
.pk-swatch:active{ transform:scale(.94); }
.pk-swatch.active{ box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ink); }
/* cor sem pronta entrega: continua escolhível (leva ao Reservar), mas com uma diagonal */
.pk-swatch.is-out::after{
  content:''; position:absolute; left:50%; top:-3px; width:1.5px; height:calc(100% + 6px);
  background:var(--gray); transform:translateX(-50%) rotate(45deg); border-radius:1px;
}

.pk-price-old{ color:var(--gray); font-weight:400; font-size:.8em; }

/* ---------- Botões de compra ---------- */
.add-cart-btn, .reserve-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-size:0.78rem; font-weight:600; padding:8px 16px; border-radius:100px; white-space:nowrap;
  transition:background-color .2s ease, border-color .2s ease, color .2s ease, transform .16s var(--ease);
}
.add-cart-btn:active, .reserve-btn:active{ transform:scale(.97); }
.add-cart-btn:disabled{ opacity:.6; cursor:progress; }
.reserve-btn{ background:#fff; color:var(--ink); border:1px solid var(--ink); }
@media (hover:hover) and (pointer:fine){
  .reserve-btn:hover{ border-color:var(--blue); color:var(--blue); }
}

/* ---------- Cartão do catálogo (.pcard) ---------- */
.pcard{ position:relative; display:flex; flex-direction:column; }
.pcard .model-media{ padding:14px; }
/* enquadramento único: a foto inteira dentro da caixa, sem esticar nem cortar */
.pcard .model-media img{
  width:100%; height:100%; max-width:none; max-height:none;
  object-fit:contain; object-position:center; mix-blend-mode:multiply;
}
.pcard .model-body{ flex:1; display:flex; flex-direction:column; }
.pcard .model-name{ margin-bottom:10px; }
.pcard-link{ color:inherit; }
/* o nome estica o link sobre o cartão todo (imagem + nome clicáveis) */
.pcard-link::after{ content:''; position:absolute; inset:0; z-index:1; border-radius:inherit; }
.pcard-link:focus-visible{ outline:none; }
.pcard-link:focus-visible::after{ outline:2px solid var(--blue); outline-offset:2px; }
/* tudo que é clicável por dentro fica acima do link esticado */
.pcard .pk-row, .pcard .pcard-buy, .pcard .trade-cta{ position:relative; z-index:2; }
.pcard-spec{ font-size:0.86rem; font-weight:500; color:var(--ink); margin:2px 0 6px; }
.pcard-spec:empty{ display:none; }
.pcard-meta{ font-size:0.78rem; color:var(--gray); display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 8px; }
.pcard-notes{
  font-size:0.78rem; color:var(--gray); line-height:1.45; margin:0 0 12px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.pcard-notes:empty{ display:none; }
.pcard-buy{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pcard-cta{ display:inline-flex; }
