/* 設備情報（archive-facility.php）— 写真と仕様表を互い違いに置く
   デザイン: build_a_sub3.py facilities_page() */

.rn-facility .rn-head-row .rn-lead { font-size: 14px; }
.rn-facility__code { font-size: 11px; color: rgba(17, 18, 20, 0.6); }
.rn-dark .rn-facility__code { color: var(--rn-gold-on-dark); }

/* 01 研磨設備: 写真 640×400 と本文を1行ずつ左右反転 */
.rn-facility__machines { margin-top: 48px; }
.rn-facility__machine { display: flex; gap: 64px; }
.rn-facility__machine + .rn-facility__machine { margin-top: 64px; }
.rn-facility__machine.is-flip { flex-direction: row-reverse; }
.rn-facility__machine-photo { --rn-tombo: #fff; width: 49.4%; max-width: 640px; aspect-ratio: 640 / 400; flex-shrink: 0; }
.rn-facility__machine.is-flip .rn-facility__machine-photo { margin-top: 48px; }
.rn-facility__machine-body { flex: 1; min-width: 0; padding-top: 40px; }
.rn-facility__machine.is-flip .rn-facility__machine-body { padding-top: 0; }
.rn-facility__machine-name { margin-top: 8px; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.3; color: #fff; }
.rn-facility__machine-desc { margin-top: 14px; font-size: 14.5px; line-height: 2; color: var(--rn-sub-dark); }
.rn-facility__machine-spec { margin-top: 24px; }
.rn-facility .rn-spec__key { width: 180px; }

/* 02 後工程・廃水処理: 2列 */
.rn-facility__group { margin-top: 56px; }
.rn-facility__group-en { font-size: 11px; color: rgba(17, 18, 20, 0.6); }
.rn-facility__group-title { margin-top: 6px; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.35; color: var(--rn-ink); }
.rn-facility__group-desc { margin-top: 10px; }
.rn-facility__post { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; margin-top: 32px; }
.rn-facility__item { display: flex; flex-direction: column; min-width: 0; }
.rn-facility__item-photo { aspect-ratio: 404 / 300; }
.rn-facility__item-photo--wide { aspect-ratio: 616 / 380; }
.rn-facility__item .rn-facility__code { margin-top: 22px; }
.rn-facility__item-name { margin-top: 4px; font-size: clamp(22px, 1.9vw, 26px); line-height: 1.4; color: var(--rn-ink); }
.rn-facility__item-name--s { font-size: clamp(19px, 1.5vw, 21px); }
.rn-facility__item-desc { margin-top: 8px; font-size: 14px; line-height: 1.9; color: var(--rn-sub-light); }
/* 表の上端を揃える（説明文の行数が違っても表は下に寄せる） */
.rn-facility__item-spec { margin-top: auto; padding-top: 18px; }

/* 03 測定・検査: 3列 */
.rn-facility__measure { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px; margin-top: 44px; }
.rn-facility__measure .rn-spec__key { width: 120px; }

/* 投稿が登録されたときのカード・表 */
.rn-facility__cards { margin-top: 44px; }
.rn-facility__table-wrap { margin-top: 20px; overflow-x: auto; }
.rn-facility__table { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; line-height: 1.8; }
.rn-facility__table th, .rn-facility__table td { padding: 14px 16px; border-top: 1px solid var(--rn-line-light); border-bottom: 1px solid var(--rn-line-light); text-align: left; vertical-align: top; }
.rn-facility__table th { font-family: var(--rn-font-mono); font-size: 11px; font-weight: 500; letter-spacing: .06em; color: rgba(17, 18, 20, 0.6); white-space: nowrap; }

@media (max-width: 1100px) {
  .rn-facility__machine { gap: 40px; }
  .rn-facility__post { gap: 40px; }
  .rn-facility__measure { gap: 28px; }
  .rn-facility .rn-spec__key { width: 130px; }
}
@media (max-width: 900px) {
  .rn-facility__machines { margin-top: 32px; }
  .rn-facility__machine, .rn-facility__machine.is-flip { flex-direction: column; gap: 20px; }
  .rn-facility__machine + .rn-facility__machine { margin-top: 48px; }
  .rn-facility__machine-photo, .rn-facility__machine.is-flip .rn-facility__machine-photo { width: 100%; max-width: none; margin-top: 0; }
  .rn-facility__machine-body, .rn-facility__machine.is-flip .rn-facility__machine-body { padding-top: 0; }
  .rn-facility__machine-desc br { display: none; }
  .rn-facility__group { margin-top: 40px; }
  .rn-facility__post, .rn-facility__measure { grid-template-columns: 1fr; gap: 40px; margin-top: 24px; }
  .rn-facility .rn-head-row .rn-lead br { display: none; }
  .rn-facility__table { min-width: 640px; }
}
