/*
 * case.css
 *
 * 事例CPT（case）v3テンプレート専用スタイル
 * スコープ: .p-entry-content--case-v3 配下のみに影響
 * ブランドカラー: 紺藍 #1A5276 / 真朱 #D0353A / 金 #B8860B
 * 既存 site-base.css（H2/H3見出し等）と競合しないよう、
 * 見出しは site-base.css の定義に乗る前提。
 */

/* ============ グローバルCTAボタン（非LPページ用） ============ */
/* .om-lp 配下ではLP専用スタイルが優先される */
body:not(.om-lp-page) .om-cta-btn,
.p-entry-content--case-v3 .om-cta-btn {
  display: inline-block;
  padding: 0.9em 1.8em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(135deg, #D0353A 0%, #A82328 100%);
  border: 0;
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(208, 53, 58, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
body:not(.om-lp-page) .om-cta-btn:hover,
.p-entry-content--case-v3 .om-cta-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(208, 53, 58, 0.35);
  color: #fff;
  text-decoration: none;
}
body:not(.om-lp-page) .om-cta-btn--secondary,
.p-entry-content--case-v3 .om-cta-btn--secondary {
  background: #fff;
  color: #1A5276;
  border: 2px solid #1A5276;
  box-shadow: none;
}
body:not(.om-lp-page) .om-cta-btn--secondary:hover,
.p-entry-content--case-v3 .om-cta-btn--secondary:hover {
  background: #1A5276;
  color: #fff;
}

/* ============ 事例ヘッダー（メタ情報・リード文） ============ */
.p-entry-content--case-v3 .p-case__header {
  margin-bottom: 2em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid #DFE2E6;
}
.p-entry-content--case-v3 .p-case__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
  margin-bottom: 1em;
  font-size: 0.875rem;
}
.p-entry-content--case-v3 .p-case__industry,
.p-entry-content--case-v3 .p-case__area {
  display: inline-block;
  padding: 0.25em 0.8em;
  background: #D4E6F1;
  color: #1A5276;
  border-radius: 3px;
  font-weight: 500;
}
.p-entry-content--case-v3 .p-case__services-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4em;
}
.p-entry-content--case-v3 .p-case__service-tag {
  display: inline-block;
  padding: 0.25em 0.7em;
  background: #fff;
  color: #B8860B;
  border: 1px solid #B8860B;
  border-radius: 3px;
  font-size: 0.8125rem;
  font-weight: 500;
}
.p-entry-content--case-v3 .p-case__lead {
  font-size: 1rem;
  line-height: 1.9;
  color: #2C2C2A;
  margin: 0;
}

/* ============ SV/360view 埋込セクション ============ */
.p-entry-content--case-v3 .p-case__sv {
  margin: 2.5em 0;
}
.p-entry-content--case-v3 .p-case__sv-embed {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(14, 47, 68, 0.12);
}
.p-entry-content--case-v3 .p-case__sv-embed iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
}

/* ============ 業種LP誘導CTAブロック（中間・最終） ============ */
.p-entry-content--case-v3 .p-case__cta-industry {
  margin: 2.5em 0;
  padding: 1.8em 1.5em;
  background: linear-gradient(135deg, #FBEAEB 0%, #fff 100%);
  border-left: 4px solid #D0353A;
  border-radius: 4px;
  text-align: center;
}
.p-entry-content--case-v3 .p-case__cta-industry p {
  margin: 0 0 1em;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #1A5276;
}

.p-entry-content--case-v3 .p-case__cta-final {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  margin: 3em 0 2em;
  padding: 2em 1.5em;
  background: #E8ECF0;
  border-radius: 6px;
}

/* ============ サービス詳細リスト ============ */
.p-entry-content--case-v3 .p-case__services-detail {
  margin: 2.5em 0;
}
.p-entry-content--case-v3 .p-case__services-detail ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-entry-content--case-v3 .p-case__services-detail li {
  padding: 0.8em 1em;
  background: #fff;
  border: 1px solid #DFE2E6;
  border-left: 3px solid #1A5276;
  border-radius: 3px;
  margin-bottom: 0.6em;
}
.p-entry-content--case-v3 .p-case__services-detail li strong {
  color: #1A5276;
  margin-right: 0.3em;
}
.p-entry-content--case-v3 .p-case__services-detail li a {
  margin-left: 0.5em;
  font-size: 0.9rem;
  color: #2980B9;
}

/* ============ 撮影仕様・撮影記録（E-E-A-T） ============ */
.p-entry-content--case-v3 .p-case__spec,
.p-entry-content--case-v3 .p-case__shooting-record,
.p-entry-content--case-v3 .p-case__info {
  margin: 2.5em 0;
}
.p-entry-content--case-v3 .p-case__spec dl,
.p-entry-content--case-v3 .p-case__shooting-record dl {
  display: grid;
  grid-template-columns: 8em 1fr;
  gap: 0.5em 1em;
  margin: 0;
}
.p-entry-content--case-v3 .p-case__spec dt,
.p-entry-content--case-v3 .p-case__shooting-record dt {
  font-weight: 700;
  color: #5A6270;
}
.p-entry-content--case-v3 .p-case__spec dd,
.p-entry-content--case-v3 .p-case__shooting-record dd {
  margin: 0;
  color: #2C2C2A;
}
.p-entry-content--case-v3 .p-case__shooting-record small {
  display: block;
  margin-top: 0.3em;
  font-size: 0.8125rem;
  color: #5A6270;
}
.p-entry-content--case-v3 .p-case__shooting-record small a {
  color: #B8860B;
  text-decoration: underline;
}

/* ============ お客様の声（consent_status=consented時のみ） ============ */
.p-entry-content--case-v3 .p-case__voice {
  margin: 2.5em 0;
  padding: 1.5em 1.8em;
  background: #fff;
  border: 1px solid #DFE2E6;
  border-radius: 6px;
  position: relative;
}
.p-entry-content--case-v3 .p-case__voice::before {
  content: "お客様の声";
  position: absolute;
  top: -0.7em;
  left: 1.5em;
  padding: 0 0.8em;
  background: #B8860B;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.p-entry-content--case-v3 .p-case__voice h3 {
  margin-top: 1.2em;
  color: #1A5276;
}

/* ============ 関連事例 ============ */
.p-entry-content--case-v3 .p-case__related {
  margin: 2.5em 0;
}
.p-entry-content--case-v3 .p-case__related-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.8em;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-entry-content--case-v3 .p-case__related-list li {
  margin: 0;
}
.p-entry-content--case-v3 .p-case__related-list a {
  display: block;
  padding: 0.9em 1em;
  background: #fff;
  border: 1px solid #DFE2E6;
  border-left: 3px solid #B8860B;
  border-radius: 3px;
  color: #1A5276;
  text-decoration: none;
  transition: all 0.15s ease;
}
.p-entry-content--case-v3 .p-case__related-list a:hover {
  background: #D4E6F1;
  border-left-color: #1A5276;
  transform: translateX(2px);
}

/* ============ レスポンシブ（モバイル） ============ */
@media (max-width: 640px) {
  .p-entry-content--case-v3 .p-case__spec dl,
  .p-entry-content--case-v3 .p-case__shooting-record dl {
    grid-template-columns: 1fr;
    gap: 0.2em 0;
  }
  .p-entry-content--case-v3 .p-case__spec dt,
  .p-entry-content--case-v3 .p-case__shooting-record dt {
    margin-top: 0.8em;
  }
  .p-entry-content--case-v3 .p-case__cta-final {
    flex-direction: column;
  }
  .p-entry-content--case-v3 .p-case__cta-final .om-cta-btn {
    width: 100%;
    text-align: center;
  }
}
