/* ============================================================
   card.css — Raksha Safety Card product page
   ============================================================ */

/* ── Card Hero (split layout) ──────────────────────────────── */
.card-hero {
  min-height: 100vh;
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 60px;
  padding: calc(var(--nav-h) + 80px) 80px 80px;
  background: var(--bg);
}
.card-hero-text h1 {
  font-size: clamp(3rem, 5.5vw, 6rem);
  font-weight: 800; letter-spacing: -0.045em; line-height: 1.05;
  margin-bottom: 20px;
}
.card-hero-text h1 em { font-style: italic; color: var(--accent); }
.card-sub {
  font-size: 1.1rem; color: var(--dim); line-height: 1.7;
  max-width: 480px; margin-bottom: 36px;
}
.card-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.card-tag { font-size: 0.78rem; color: var(--dim); letter-spacing: 0.5px; }

/* 3D Model Viewer */
.model-wrap {
  position: relative; border-radius: 32px;
  overflow: hidden; aspect-ratio: 1 / 1;
  background: #0a0a14;
  box-shadow: 0 60px 120px rgba(0,0,0,0.3);
}
.model-bg-glow {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 60%, rgba(0,113,227,0.18), transparent 70%);
  pointer-events: none; z-index: 1;
}
#model-canvas { width: 100%; height: 100%; display: block; position: relative; z-index: 2; cursor: grab; }
#model-canvas:active { cursor: grabbing; }
.model-hint {
  position: absolute; bottom: 20px; right: 20px; z-index: 10;
  font-size: 0.72rem; color: rgba(255,255,255,0.3);
  letter-spacing: 1.5px; text-transform: uppercase;
  animation: hintFade 1s ease 2s forwards;
  opacity: 1;
}
@keyframes hintFade { to { opacity: 0; } }

/* ── Specs Grid ────────────────────────────────────────────── */
.card-specs { padding: 120px 80px; background: var(--surface); }
.specs-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 28px;
  max-width: 1100px; margin: 0 auto;
}
.spec-block {
  background: var(--bg); border-radius: var(--radius);
  padding: 44px 36px; border: 1px solid var(--border);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
.spec-block:hover { transform: translateY(-6px); box-shadow: 0 20px 60px rgba(0,0,0,0.07); }
.spec-icon {
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--accent-dim); display: flex; align-items: center; justify-content: center;
  color: var(--accent); margin-bottom: 22px;
}
.spec-icon svg { width: 24px; height: 24px; }
.spec-block h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 10px; }
.spec-block p { font-size: 0.88rem; color: var(--dim); line-height: 1.65; }

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 960px) {
  .card-hero { grid-template-columns: 1fr; padding: calc(var(--nav-h) + 60px) 28px 60px; }
  .model-wrap { aspect-ratio: 4/3; }
  .card-specs, .card-colours { padding: 80px 28px; }
  .specs-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
  .specs-grid { grid-template-columns: 1fr; }
}
