/* ========================================
   SURFACE GRINDING PAGE
   円筒研削ページと同一デザインシステムを共有し、
   平面研削固有のスタイル（設備一覧テーブル・加工事例カード）を追加
   ======================================== */

/* 共通研削ページスタイルを継承 */
@import url('page-page-cylindrical-grinding.css');

@layer pages {

/* ========================================
   SG-specific: ヒーロー画像の表示調整
   平面研削盤は被写体が右下寄りのため、画面中央〜右にフォーカス
   ======================================== */
.page-hero--sg .page-hero__media img {
  object-position: center 55%;
}

/* ========================================
   SG-specific: 設備一覧テーブル（3カラム）
   既存の cg-specs__table を流用しつつ、3列レイアウトに最適化
   ======================================== */
.cg-specs--equipment {
  background: var(--cg-surface);
}

.cg-specs__table--equipment thead th {
  background: var(--cg-dark);
  color: #fff;
  font-family: var(--font-body-en);
  font-size: clamp(0.78rem, 1vw, 0.85rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: none;
  white-space: nowrap;
}

.cg-specs__table--equipment thead th:last-child {
  border-right: none;
}

.cg-specs__table--equipment tbody th {
  width: clamp(180px, 32%, 280px);
  white-space: normal;
}

.cg-specs__table--equipment tbody td {
  white-space: nowrap;
}

@media (max-width: 640px) {
  .cg-specs__table--equipment thead {
    display: none;
  }

  .cg-specs__table--equipment,
  .cg-specs__table--equipment tbody,
  .cg-specs__table--equipment tr,
  .cg-specs__table--equipment th,
  .cg-specs__table--equipment td {
    display: block;
    width: 100%;
  }

  .cg-specs__table--equipment tbody th {
    border-right: none;
    border-bottom: 2px solid var(--cg-accent);
  }

  .cg-specs__table--equipment tbody td {
    white-space: normal;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .cg-specs__table--equipment tbody td:last-child {
    padding-bottom: 18px;
  }
}

/* ========================================
   SG-specific: 加工事例カード
   業界・製品名・材質・精度・ロット数を整理して提示
   ======================================== */
.cg-cases {
  padding: clamp(48px, 6vw, 72px) 0;
  background: #fff;
}

.cg-cases__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--gutter, 24px);
}

.cg-cases__head {
  text-align: center;
  margin-bottom: clamp(40px, 5vw, 56px);
}

.cg-cases__eyebrow {
  display: block;
  font-family: var(--font-display-en);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px rgba(30, 64, 175, 0.18);
  margin-bottom: clamp(8px, 1.5vw, 12px);
}

.cg-cases__title {
  margin: 0 0 clamp(16px, 2vw, 24px);
  font-family: var(--font-serif, serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--color-text-strong, #0d1220);
}

.cg-cases__lead {
  margin: 0 auto;
  max-width: 640px;
  font-size: clamp(0.92rem, 1.3vw, 1rem);
  line-height: 1.85;
  color: var(--color-text-subtle, rgba(26, 31, 54, 0.75));
}

.cg-cases__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 2vw, 20px);
}

@media (min-width: 640px) {
  .cg-cases__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .cg-cases__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.cg-case {
  position: relative;
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid var(--color-border, rgba(26, 31, 54, 0.12));
  border-radius: var(--radius-md, 12px);
  background: #fff;
  transition: all 0.35s ease;
  overflow: hidden;
}

.cg-case::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, var(--cg-accent), var(--cg-accent-light));
}

.cg-case:hover {
  border-color: var(--cg-accent-light);
  box-shadow: 0 8px 24px rgba(30, 64, 175, 0.08);
  transform: translateY(-4px);
}

.cg-case__industry {
  display: inline-block;
  font-family: var(--font-body-en);
  font-size: clamp(0.72rem, 0.95vw, 0.78rem);
  font-weight: 700;
  color: var(--cg-accent);
  background: var(--color-primary-soft, rgba(30, 64, 175, 0.10));
  padding: 4px 12px;
  border-radius: var(--radius-pill, 999px);
  margin-bottom: clamp(12px, 1.5vw, 16px);
  letter-spacing: 0.02em;
}

.cg-case__product {
  margin: 0 0 clamp(16px, 2vw, 20px);
  font-family: var(--font-serif, serif);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight: 800;
  color: var(--color-text-strong, #0d1220);
  line-height: 1.45;
}

.cg-case__meta {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cg-case__row {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 12px;
  align-items: baseline;
  padding-bottom: 8px;
  border-bottom: 1px dashed rgba(26, 31, 54, 0.08);
}

.cg-case__row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.cg-case__row dt {
  margin: 0;
  font-size: clamp(0.75rem, 0.95vw, 0.82rem);
  font-weight: 700;
  color: var(--color-text-subtle, rgba(26, 31, 54, 0.65));
  letter-spacing: 0.02em;
}

.cg-case__row dd {
  margin: 0;
  font-size: clamp(0.85rem, 1.15vw, 0.92rem);
  line-height: 1.6;
  color: var(--color-text-strong, #0d1220);
  font-weight: 500;
}

} /* end @layer pages */
