/* ===========================
   Voice Page (voice.html)
   =========================== */

.voice-hero {
  padding-top: calc(var(--nav-height) + var(--space-xl));
  padding-bottom: var(--space-xl);
  background-color: var(--bg-secondary);
}

.voice-grid {
  display: grid;
  gap: var(--space-xl);
  margin-top: var(--space-xl);
}

@media (min-width: 640px) {
  .voice-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .voice-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* 患者さんの声カード */
.voice-card {
  background-color: var(--bg-primary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  transition: transform var(--duration-base) var(--ease-out),
              box-shadow var(--duration-base) var(--ease-out),
              border-color var(--duration-base) ease;
}

.voice-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
  border-color: var(--accent-subtle);
}

.voice-card__quote-mark {
  font-family: var(--font-latin);
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1;
  color: var(--accent-subtle);
  font-style: italic;
  font-weight: 700;
}

.voice-card__text {
  font-family: var(--font-mincho);
  font-size: var(--fs-body);
  line-height: 1.85;
  letter-spacing: 0.03em;
  color: var(--text-primary);
  flex: 1;
}

.voice-card__meta {
  border-top: 1px solid var(--border);
  padding-top: var(--space-md);
}

.voice-card__name {
  font-size: var(--fs-small);
  color: var(--text-secondary);
  letter-spacing: 0.06em;
}

.voice-card__detail {
  font-size: var(--fs-small);
  color: var(--text-muted);
  margin-top: 2px;
}

/* Coming soon placeholder */
.voice-placeholder {
  text-align: center;
  padding: var(--space-2xl);
  background-color: var(--bg-secondary);
  border-radius: var(--radius-md);
  border: 1px dashed var(--border);
}

.voice-placeholder__text {
  font-size: var(--fs-body);
  color: var(--text-secondary);
  line-height: var(--lh-body);
}
