/* ===============================================
   AKM MUSIC — PRODUCT DETAIL PAGE (Phase 3)
   Shareable /product?id= view. Tokens only — no
   hardcoded colors, no CDN. Reuses .product-grid /
   .product-card from shop.css for related items.
   =============================================== */

/* Breadcrumb */
.pd-breadcrumb {
  font-size: var(--font-size-sm);
  color: var(--text-muted);
  padding: var(--space-lg) 0 0;
}
.pd-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-xs); padding: 0; margin: 0; }
.pd-breadcrumb li { display: inline-flex; align-items: center; gap: var(--space-xs); }
.pd-breadcrumb li:not(:last-child)::after { content: '/'; color: var(--color-gray-300); margin-left: var(--space-xs); }
.pd-breadcrumb a { color: var(--text-secondary); }
.pd-breadcrumb a:hover { color: var(--color-primary); }
.pd-breadcrumb li[aria-current] { color: var(--text-primary); font-weight: var(--font-weight-semibold); }

/* Main layout */
.pd-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-2xl);
  padding: var(--space-xl) 0 var(--space-3xl);
  align-items: start;
}
@media (max-width: 860px) { .pd-layout { grid-template-columns: 1fr; gap: var(--space-xl); } }

/* Gallery */
.pd-gallery { position: sticky; top: calc(var(--header-height) + var(--space-lg)); }
@media (max-width: 860px) { .pd-gallery { position: static; } }
.pd-image {
  position: relative;
  background: var(--color-white);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
}
.pd-image img { width: 100%; height: 100%; object-fit: contain; padding: var(--space-xl); }
.pd-stock-badge {
  position: absolute;
  top: var(--space-md);
  left: var(--space-md);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  padding: 4px 10px;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.pd-stock-badge.in { background: rgba(16, 185, 129, 0.14); color: #0b7a5b; }
.pd-stock-badge.out { background: rgba(245, 158, 11, 0.16); color: #92600b; }

/* Info column */
.pd-brand {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-accent);
}
.pd-name { font-size: var(--font-size-4xl); margin: var(--space-xs) 0 var(--space-md); line-height: 1.15; }
.pd-price {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-black);
  color: var(--color-primary);
  margin-bottom: var(--space-xs);
}
.pd-price .currency { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--text-secondary); margin-right: 4px; }
.pd-avail { font-weight: var(--font-weight-semibold); margin-bottom: var(--space-lg); }
.pd-avail.in { color: var(--color-success); }
.pd-avail.out { color: var(--color-warning); }
.pd-avail i { margin-right: 6px; }

/* Quantity + actions */
.pd-qty-row { display: flex; align-items: center; gap: var(--space-md); margin-bottom: var(--space-lg); }
.pd-qty-row > span { font-weight: var(--font-weight-semibold); }
.pd-qty {
  display: inline-flex;
  align-items: center;
  border: 2px solid var(--border-color);
  border-radius: var(--border-radius-md);
  overflow: hidden;
}
.pd-qty button {
  width: 40px; height: 40px;
  border: none; background: var(--bg-section-light);
  font-size: var(--font-size-lg); cursor: pointer; color: var(--text-primary);
  transition: background var(--transition-fast);
}
.pd-qty button:hover { background: var(--bg-section-dark); }
.pd-qty span { min-width: 44px; text-align: center; font-weight: var(--font-weight-semibold); }

.pd-actions { display: flex; flex-direction: column; gap: var(--space-sm); margin-bottom: var(--space-lg); }
.pd-actions .btn, .pd-actions .btn-whatsapp { width: 100%; }
.pd-actions-row { display: flex; gap: var(--space-sm); }
.pd-actions-row > * { flex: 1; }
@media (max-width: 420px) { .pd-actions-row { flex-direction: column; } }

/* WhatsApp button (mirrors shop.css .btn-whatsapp look via tokens) */
.btn-whatsapp {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs);
  padding: var(--space-sm) var(--space-lg);
  font-family: var(--font-family); font-size: var(--font-size-base); font-weight: var(--font-weight-semibold);
  border: 2px solid #25D366; border-radius: var(--border-radius-md);
  background: #25D366; color: #fff; cursor: pointer;
  transition: all var(--transition-normal);
}
.btn-whatsapp:hover { background: #1da851; border-color: #1da851; transform: translateY(-2px); box-shadow: var(--shadow-lg); }

/* Trust row */
.pd-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-sm); margin-bottom: var(--space-lg); }
.pd-trust li { list-style: none; display: flex; align-items: center; gap: var(--space-xs); font-size: var(--font-size-sm); color: var(--text-secondary); }
.pd-trust i { color: var(--color-accent); }

/* Specs table */
.pd-specs { border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); overflow: hidden; }
.pd-specs h2 { font-size: var(--font-size-lg); margin: 0; padding: var(--space-md) var(--space-lg); background: var(--bg-section-light); border-bottom: 1px solid var(--border-color); }
.pd-specs table { width: 100%; border-collapse: collapse; }
.pd-specs th, .pd-specs td { text-align: left; padding: var(--space-sm) var(--space-lg); font-size: var(--font-size-sm); border-bottom: 1px solid var(--border-color); }
.pd-specs tr:last-child th, .pd-specs tr:last-child td { border-bottom: none; }
.pd-specs th { color: var(--text-muted); font-weight: var(--font-weight-semibold); width: 40%; }
.pd-specs td { color: var(--text-primary); }

.pd-note { font-size: var(--font-size-sm); color: var(--text-muted); margin-top: var(--space-md); }

/* Sections */
.pd-section { padding: var(--space-2xl) 0; border-top: 1px solid var(--border-color); }
.pd-section h2 { font-size: var(--font-size-2xl); margin-bottom: var(--space-lg); }

/* Loading / not-found */
.pd-status { text-align: center; padding: var(--space-4xl) var(--space-lg); color: var(--text-muted); }
.pd-status i { font-size: 2.5rem; opacity: 0.3; margin-bottom: var(--space-md); display: block; }

/* Toast */
.pd-toast {
  position: fixed;
  left: 50%; bottom: var(--space-xl);
  transform: translateX(-50%) translateY(20px);
  background: var(--color-gray-900); color: #fff;
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--border-radius-md);
  box-shadow: var(--shadow-xl);
  display: flex; align-items: center; gap: var(--space-sm);
  font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold);
  opacity: 0; pointer-events: none;
  transition: opacity var(--transition-normal), transform var(--transition-normal);
  z-index: var(--z-tooltip);
}
.pd-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
.pd-toast a { color: var(--color-brass); }
