/* ============================================================================
   Recode Audio — single product detail page
   ============================================================================ */
.prod { padding-block: var(--s-7); background: radial-gradient(120% 80% at 80% -10%, #2a2c30 0%, var(--ink) 60%); }
.prod--dark { background: radial-gradient(120% 80% at 80% -10%, #2a2c30 0%, var(--ink) 55%); }
.prod__inner { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: var(--s-7); align-items: center; }
.prod__art { position: relative; }
.prod__art img { border-radius: var(--radius); border: 1px solid var(--surface-line); box-shadow: var(--shadow); width: 100%; }
.prod__soon { position: absolute; top: var(--s-4); left: var(--s-4); z-index: 2; }
.prod__name { font-size: clamp(1.8rem, 3.4vw, 2.6rem); font-family: var(--font-plugin); letter-spacing: 0.005em; line-height: 1.15; margin-top: var(--s-2); }
.prod__tag { font-size: 1.2rem; color: var(--text-dim); margin-top: var(--s-3); }
.prod__cta { display: flex; flex-wrap: wrap; gap: var(--s-4); margin-top: var(--s-6); }
.prod__bundle { margin-top: var(--s-4); font-size: var(--fs-small); }
.prod__bundle a { color: var(--green-bright); }
.prod__highlights { margin-top: var(--s-6); display: grid; gap: var(--s-3); }
.prod__highlights li { display: flex; gap: var(--s-3); align-items: baseline; }
.prod__tick { color: var(--green-bright); font-size: 0.8em; }
.prod__h2 { font-size: var(--fs-h2); margin-bottom: var(--s-5); }

.specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0; border-top: 1px solid var(--surface-line); }
.spec { padding: var(--s-4) 0; border-bottom: 1px solid var(--surface-line); }
.spec dt { font-family: var(--font-mono); font-size: var(--fs-micro); letter-spacing: 0.14em; text-transform: uppercase; color: var(--green-bright); }
.spec dd { margin-top: var(--s-2); font-size: var(--fs-small); color: var(--text); word-break: break-word; }

@media (max-width: 860px) {
  .prod__inner { grid-template-columns: 1fr; }
}
