/* ==========================================================
   PERFORMANCE FILE 詳細ページ 共通スタイル
   miki-golf-file.css
   ========================================================== */

/* ── パンくず ── */
.fd-breadcrumb {
  background: #0a1a0f;
  border-bottom: .5px solid rgba(184,150,58,.15);
  padding: .8rem 0;
}
.fd-breadcrumb-list {
  display: flex;
  align-items: center;
  gap: .4rem;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  font-family: 'Cormorant Garamond', serif;
  font-size: .72rem;
  letter-spacing: .08em;
  color: rgba(196,158,65,.55);
}
.fd-breadcrumb-list li + li::before {
  content: '›';
  margin-right: .4rem;
  color: rgba(196,158,65,.35);
}
.fd-breadcrumb-list a {
  color: rgba(196,158,65,.7);
  text-decoration: none;
  transition: color .2s;
}
.fd-breadcrumb-list a:hover { color: rgba(196,158,65,1); }
.fd-breadcrumb-list li:last-child { color: rgba(232,245,239,.45); }

/* ── HERO ── */
.fd-hero {
  background: #060f09;
  padding: 5rem 0 4.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.fd-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(196,158,65,.07) 0%, transparent 65%);
  pointer-events: none;
}
.fd-hero-badge {
  display: inline-block;
  font-family: 'Cormorant Garamond', serif;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .28em;
  color: rgba(196,158,65,.75);
  margin-bottom: 1.2rem;
}
.fd-hero-en {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(.95rem, 2.2vw, 1.3rem);
  font-style: italic;
  letter-spacing: .2em;
  color: rgba(196,158,65,.6);
  margin: 0 0 .7rem;
}
.fd-hero-jp {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.9rem, 5vw, 3rem);
  font-weight: 700;
  color: #f6f0e6;
  margin: 0 0 1.5rem;
  letter-spacing: .06em;
  line-height: 1.2;
}
.fd-hero-divider {
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(196,158,65,.7), transparent);
  margin: 0 auto 1.6rem;
}
.fd-hero-catch {
  font-size: clamp(.92rem, 2vw, 1.08rem);
  color: rgba(232,245,239,.68);
  letter-spacing: .06em;
  line-height: 1.8;
  max-width: 460px;
  margin: 0 auto;
}

/* ── 本文エリア全体 ── */
.fd-body {
  background: #0b1e13;
}

/* ── 各セクション ── */
.fd-section {
  max-width: 720px;
  margin: 0 auto;
  padding: 4rem 1.5rem;
  border-bottom: .5px solid rgba(184,150,58,.1);
}
.fd-section:last-child { border-bottom: none; }

/* ── セクションラベル ── */
.fd-section-label {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .24em;
  color: rgba(196,158,65,.85);
  margin: 0 0 1rem;
  padding-left: .9rem;
  border-left: 2px solid rgba(196,158,65,.4);
}

/* ── セクション見出し ── */
.fd-section-h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  font-weight: 700;
  color: #f0ece6;
  margin: 0 0 1.6rem;
  letter-spacing: .04em;
  line-height: 1.55;
}

/* ── 段落 ── */
.fd-p {
  font-size: clamp(.88rem, 1.6vw, .97rem);
  color: rgba(232,245,239,.78);
  line-height: 2.1;
  margin: 0 0 1.2rem;
}
.fd-p:last-child { margin-bottom: 0; }

/* ── リスト ── */
.fd-list {
  list-style: none;
  margin: 1.2rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.fd-list li {
  font-size: clamp(.86rem, 1.5vw, .94rem);
  color: rgba(232,245,239,.72);
  line-height: 1.85;
  padding-left: 1.5em;
  position: relative;
}
.fd-list li::before {
  content: '▸';
  position: absolute;
  left: 0;
  color: rgba(196,158,65,.7);
  font-size: .75em;
  top: .25em;
}

/* ── 非公開エリア ── */
.fd-restricted {
  background: rgba(196,158,65,.04);
  border: .5px solid rgba(196,158,65,.22);
  border-radius: 10px;
  padding: 2rem 2.2rem;
  margin-top: .5rem;
}
.fd-restricted-label {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .24em;
  color: rgba(196,158,65,.75);
  margin-bottom: .9rem;
}
.fd-restricted-text {
  font-size: clamp(.82rem, 1.4vw, .88rem);
  color: rgba(196,158,65,.58);
  line-height: 2;
  margin: 0;
}

/* ── CTA セクション ── */
.fd-cta {
  background: #060f09;
  text-align: center;
  padding: 5rem 1.5rem;
  border-top: .5px solid rgba(184,150,58,.15);
}
.fd-cta-lead {
  font-size: clamp(.88rem, 1.6vw, .97rem);
  color: rgba(232,245,239,.7);
  line-height: 2.1;
  max-width: 580px;
  margin: 0 auto 2.8rem;
}

/* ── 前後ナビゲーション ── */
.fd-nav {
  background: #0d2219;
  border-top: .5px solid rgba(184,150,58,.14);
  padding: 2.5rem 0;
}
.fd-nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1.5rem;
  gap: 1rem;
}
.fd-nav-link {
  font-family: 'Cormorant Garamond', serif;
  font-size: .82rem;
  letter-spacing: .12em;
  color: rgba(196,158,65,.72);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: .45em;
  transition: color .2s;
  line-height: 1.6;
}
.fd-nav-link:hover { color: rgba(196,158,65,1); }
.fd-nav-link--prev::before { content: '←'; }
.fd-nav-link--next::after  { content: '→'; }
.fd-nav-link--back {
  font-size: .75rem;
  color: rgba(232,245,239,.38);
}
.fd-nav-link--back:hover { color: rgba(232,245,239,.65); }

/* ── Mobile ── */
@media (max-width: 767px) {
  .fd-hero { padding: 3.5rem 0 3rem; }
  .fd-section { padding: 3rem 1.2rem; }
  .fd-restricted { padding: 1.5rem 1.4rem; }
  .fd-cta { padding: 3.5rem 1.2rem; }
  .fd-nav-inner { flex-direction: column; text-align: center; gap: 1.4rem; }
}
