/* 홈 전용 스타일 */

/* ── 상단 레이어: 환영 문구 ── */
.welcome { max-width: 760px; margin-inline: auto; text-align: center; }
.welcome-eyebrow { font-size: 14px; font-weight: 600; letter-spacing: 0.075em; margin-bottom: var(--space-4); }
.welcome-lead { max-width: 560px; margin: var(--space-6) auto 0; color: rgba(255,255,255,0.92); }
.welcome .btn { margin-top: var(--space-8); }

/* ── 최신 설교 (물결 바로 아래 흰 섹션) ── */
.latest { padding-block: var(--space-6) calc(var(--section-y) + var(--overlap)); }
.video {
  position: relative;
  display: block;
  aspect-ratio: 16 / 8;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-media);
}
.video .thumb { position: absolute; inset: 0; }
/* 유튜브 썸네일을 카드 비율에 맞춰 가운데 기준으로 잘라 채운다 */
.video .thumb img { width: 100%; height: 100%; object-fit: cover; }
.video .play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 84px;
  height: 84px;
  margin: -42px 0 0 -42px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,0.92);
  display: flex;
  align-items: center;
  justify-content: center;
}
.latest-meta {
  margin-top: var(--space-8);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-6);
}
.latest-text { min-width: 0; flex: 1 1 420px; }
.latest-title { font-size: 48px; line-height: 1.2; font-weight: 700; letter-spacing: -0.02em; margin-top: var(--space-2); }
.latest-sub { margin-top: var(--space-3); color: var(--text-muted); font-size: 15px; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-6); }

/* ── 예배 안내 요약 ── */
.worship {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  grid-template-areas: "intro list" "visit list";
  column-gap: var(--space-16);
  align-items: start;
}
.worship-intro { grid-area: intro; }
.worship-list { grid-area: list; }
.worship-visit { grid-area: visit; margin-top: var(--space-8); }
.worship-desc { margin-top: var(--space-6); color: var(--text-secondary); }
.row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  padding-block: var(--space-6);
  border-top: 1px solid var(--border);
}
.row:first-child { border-top: 0; padding-top: var(--space-2); }
.row-time { color: var(--accent); font-weight: 700; font-variant-numeric: tabular-nums; }
.addr {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: var(--space-6);
  background: var(--bg-surface);
  border-radius: var(--radius-md);
}
.addr .lbl { color: var(--text-muted); }
.addr .v { font-size: 17px; font-weight: 700; line-height: 1.6; }
.addr .hint { font-size: 14px; color: var(--text-secondary); }
.worship-visit .actions { margin-top: var(--space-6); }

@media (max-width: 820px) {
  .video { aspect-ratio: 16 / 9; border-radius: 20px; }
  .video .play { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
  .latest-title { font-size: 32px; }
  .latest-meta { margin-top: var(--space-6); }
  .worship {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro" "list" "visit";
  }
  .worship-list { margin-top: var(--space-6); }
  .row:first-child { padding-top: var(--space-6); }
  .worship-visit .actions .btn { flex: 1 1 100%; }
  .worship-visit .actions .link-red { display: none; }
}
