/* Bangkok Fellowship Church - Local Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Anuphan:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Prompt:wght@300;400;500;600;700&display=swap');

html {
  scroll-behavior: smooth;
  font-family: 'Prompt', 'Anuphan', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body {
  color: #182B45;
  background-color: #FFFFFF;
}

.font-anuphan {
  font-family: 'Anuphan', sans-serif;
}

.font-prompt {
  font-family: 'Prompt', sans-serif;
}

.font-display {
  font-family: 'Plus Jakarta Sans', 'Prompt', sans-serif;
}

@keyframes hero-ken {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-hero-ken {
  animation: hero-ken 12s ease-out forwards;
}

.animate-fade-up {
  animation: fade-up 0.9s ease-out both;
}

.ministry-item {
  transition: transform 0.35s ease, background-color 0.35s ease;
}

.ministry-item:hover {
  transform: translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
  .animate-hero-ken,
  .animate-fade-up,
  .ministry-item {
    animation: none;
    transition: none;
  }
}

/* Article body from legacy HTML */
.prose-bfc {
  font-size: 1.05rem;
  line-height: 1.85;
  word-break: break-word;
}

.prose-bfc p {
  margin: 0 0 1.1em;
}

.prose-bfc h1,
.prose-bfc h2,
.prose-bfc h3,
.prose-bfc h4 {
  font-family: 'Prompt', sans-serif;
  color: #102D50;
  font-weight: 700;
  line-height: 1.35;
  margin: 1.6em 0 0.6em;
}

.prose-bfc h2 { font-size: 1.45rem; }
.prose-bfc h3 { font-size: 1.2rem; }

.prose-bfc a {
  color: #245DA8;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.prose-bfc a:hover {
  color: #102D50;
}

.prose-bfc img {
  max-width: 100%;
  height: auto;
  border-radius: 1rem;
  margin: 1.25rem 0;
}

.prose-bfc ul,
.prose-bfc ol {
  margin: 0 0 1.1em 1.25em;
}

.prose-bfc li {
  margin: 0.35em 0;
}

.prose-bfc table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 0.95rem;
}

.prose-bfc th,
.prose-bfc td {
  border: 1px solid #e2e8f0;
  padding: 0.6rem 0.75rem;
  vertical-align: top;
}

.prose-bfc iframe {
  max-width: 100%;
  width: 100%;
  min-height: 280px;
  border: 0;
  border-radius: 1rem;
  margin: 1rem 0;
}

.media-embed iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 220px;
  border: 0;
  border-radius: 1rem;
}
