/* ── DETAIL PAGE STYLES ── */
.detail-header {
  padding: 5.4rem 3rem 3rem;
  max-width: 900px;
  margin: 0 auto;
}
.detail-eyebrow {
  font-size: var(--min-font);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
  opacity: 0;
  animation: fadeUp 0.7s 0.1s forwards;
}
.detail-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5vw, 5rem);
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  opacity: 0;
  animation: fadeUp 0.7s 0.25s forwards;
}
.detail-sub1 {
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--text);
  line-height: 1.5;
  margin-bottom: 0.75rem;
  opacity: 0;
  animation: fadeUp 0.7s 0.35s forwards;
}
.detail-sub2 {
  display: inline-flex;
  background: rgba(0,84,146,0.08);
  border-left: 3px solid var(--accent);
  padding: 0.6rem 1rem;
  border-radius: 0 4px 4px 0;
  font-size: var(--min-font);
  color: var(--text);
  line-height: 1.5;
  opacity: 0;
  animation: fadeUp 0.7s 0.45s forwards;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── DETAIL CONTENT STREAM ── */
.detail-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 3rem 6rem;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.detail-item {
  width: 100%;
}
/* Images */
.detail-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}
/* Horizontal video (YouTube, GDrive) — 16:9 */
.detail-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: 4px;
  overflow: hidden;
  background: #000;
}
.detail-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
/* Vertical video (TikTok, Instagram) — centered, capped width */
.detail-video-vertical {
  display: flex;
  justify-content: center;
  margin-top: 3.7rem;
  overflow: hidden;
  border-radius: 4px;
}
.detail-video-vertical iframe {
  width: 340px;
  height: 605px;
  border: none;
  border-radius: 4px;
  display: block;
  background: #000;
}

/* ── INSTAGRAM BLOCKQUOTE CENTERING ── */
.detail-item.ig-embed {
  display: flex;
  justify-content: center;
}
.detail-item.ig-embed .instagram-media {
  margin: 0 auto !important;
}

/* ── SPACING MODIFIERS ── */
/* Remove gap entirely (overrides detail-video-vertical margin-top) */
.gap-none {
  margin-top: 0 !important;
}
/* Also works on detail-item inside gap flow */
.detail-content .gap-none {
  margin-top: calc(-3.5rem + 0rem) !important;
}
/* Reduce gap by % relative to base gap (3.5rem) + vertical margin (3.7rem) */
.gap-reduce-40 {
  margin-top: calc(3.7rem * 0.6) !important; /* 40% reduction */
}
.gap-reduce-50 {
  margin-top: calc(3.7rem * 0.5) !important; /* 50% reduction */
}
.gap-reduce-65 {
  margin-top: calc(3.7rem * 0.35) !important; /* 65% reduction */
}
/* For detail-items that follow other detail-items (uses gap not margin-top) */
.detail-content .item-gap-reduce-40 {
  margin-top: calc(-3.5rem * 0.4) !important;
}
.detail-content .item-gap-reduce-50 {
  margin-top: calc(-3.5rem * 0.5) !important;
}
.detail-content .item-gap-none {
  margin-top: calc(-3.5rem) !important;
}
/* Add 10% more space before an item */
.gap-add-10 {
  margin-top: calc(3.7rem * 1.1) !important;
}

/* ── BACK LINK ── */
.detail-back {
  font-size: var(--min-font);
  font-weight: 500;
  color: var(--text-muted);
  text-decoration: none;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: color 0.2s;
  padding: 9rem 3rem 0;
  max-width: 900px;
  margin: 0 auto;
  display: block;
}
.detail-back:hover { color: var(--accent); }

/* ── DETAIL PAGE FOOTER OVERRIDE ── */
/* Full-width border, copyright right-aligned */
.detail-footer {
  border-top: 1px solid var(--border);
  padding: 2.5rem 3rem;
  display: flex;
  justify-content: flex-end;
  max-width: 100%;
  margin: 0;
}
.detail-footer .f-copy {
  font-size: var(--min-font);
  color: var(--text-muted);
}
