/* Single product page */
.ek-product { padding: 20px 0 60px; max-width: 1280px; margin: 0 auto; }
.ek-product-grid {
  display: grid; grid-template-columns: 420px 1fr 320px;
  gap: 28px; margin-top: 20px;
}

/* Gallery */
.ek-product-gallery__main { aspect-ratio: 1; margin-bottom: 8px; }
.ek-product-gallery__thumbs {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px;
}
.ek-product-gallery__thumbs .ek-img { aspect-ratio: 1; font-size: 8px; }

.ek-product-docs {
  margin-top: 16px; padding: 12px;
  border: 1px solid var(--ek-border);
  background: var(--ek-paper-2);
}
.ek-product-docs .ek-eyebrow { margin-bottom: 8px; display: block; }
.ek-product-docs__row {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 0;
  font-size: 12px;
  border-top: 1px dashed var(--ek-border);
  cursor: pointer;
}
.ek-product-docs__dl { margin-left: auto; color: var(--ek-muted); }

/* Details */
.ek-product-badges { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; flex-wrap: wrap; }
.ek-product-codes {
  color: var(--ek-muted);
  font-size: 11px; letter-spacing: 0.08em;
}
.ek-product .ek-divider { margin: 20px 0; }

.ek-tier-table {
  width: 100%; border: 1px solid var(--ek-border);
  border-collapse: collapse;
}
.ek-tier-table td {
  padding: 12px;
  border-left: 1px solid var(--ek-border);
  background: var(--ek-paper-2);
  width: 25%;
}
.ek-tier-table td:first-child { border-left: none; }
.ek-tier-range { font-size: 10px; color: var(--ek-muted); letter-spacing: 0.08em; }
.ek-tier-price { font-size: 18px; font-weight: 500; margin-top: 4px; }
.ek-tier-note  { font-size: 10px; color: var(--ek-muted); margin-top: 2px; }

.ek-product-specs th {
  width: 220px;
  background: transparent;
  text-transform: none;
  letter-spacing: 0;
  color: var(--ek-text);
  font-family: var(--ek-sans);
  font-weight: 500;
  font-size: 12.5px;
}

/* Order panel (sticky) */
.ek-product-order__inner {
  position: sticky; top: 16px;
  border: 1px solid var(--ek-border);
  background: var(--ek-paper-2);
}
.ek-product-order__inner > div { padding: 16px; }
.ek-product-order__inner > div + div { border-top: 1px solid var(--ek-border); }
.ek-product-order__amount { display: flex; align-items: baseline; gap: 8px; margin: 4px 0; }
.ek-product-order__big { font-size: 28px; font-weight: 500; }
.ek-product-order__list { font-size: 11px; color: var(--ek-muted); text-decoration: line-through; }
.ek-product-order__cta { display: flex; flex-direction: column; gap: 8px; }
.ek-product-order__meta { background: var(--ek-paper); }
.ek-product-order__meta-row {
  display: flex; gap: 10px;
  font-size: 11.5px; margin-bottom: 8px;
}
.ek-product-order__meta-strong { font-weight: 500; }

@media (max-width: 1024px) {
  .ek-product-grid { grid-template-columns: 1fr; }
}

/* Documents row — SPEC.md §6.3 */
.fp-product__docs { padding: 16px 18px; margin-top: 14px; }
.fp-product__docs-head { margin-bottom: 12px; }
.fp-product__docs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.fp-product__doc {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px 14px;
  background: var(--bg-2);
  border-radius: 8px;
}
.fp-product__doc-icon { color: var(--red); flex-shrink: 0; }
.fp-product__doc-label { font-weight: 600; font-size: 13.5px; margin-bottom: 4px; }
.fp-product__doc-link { font-size: 12.5px; font-weight: 700; color: var(--red); text-decoration: none; }
.fp-product__doc-link:hover { text-decoration: underline; }
.fp-product__doc-fallback { font-size: 12px; }
@media (max-width: 768px) {
  .fp-product__docs-grid { grid-template-columns: 1fr; }
}
