/* Static-site polish — small additions the compiled SPA bundle didn't need
   because React handled scrolling/anchoring in JS. Everything else
   (mobile menu, dropdowns, FAQ accordion, active pin/tab states) is already
   styled in assets/index-DEUejyN8.css via .open / .active classes. */

/* Offset anchor-jump targets so the fixed 80px navbar never covers them */
#rig-worldwide {
  scroll-margin-top: 100px;
}

/* The "Campuses" nav item is now a real link (was a non-interactive span) */
.navbar__link[href*="rig-worldwide"] {
  cursor: pointer;
}

/* ---- Hero: small line under "RIG NATION" ---- */
.hero-section__subtitle {
  font-size: clamp(11px, 1.3vw, 14px);
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--color-prophetic-cream);
  opacity: 0.85;
  margin: -1.6rem 0 1.75rem;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

/* ---- Upcoming Events ---- */
.events-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 520px));
  justify-content: center;
  gap: 2rem;
}
.event-card__date {
  font-weight: 700;
  color: var(--color-shekinah-gold);
  letter-spacing: 0.04em;
}
.event-card__title {
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0;
}
.event-card__desc {
  opacity: 0.8;
  line-height: 1.7;
  flex-grow: 1;
}
.event-card__cta {
  align-self: flex-start;
  display: inline-block;
  text-decoration: none;
  text-align: center;
}

/* ---- Inner pages (Values, Distinctives, Leadership) ---- */
.page-wrap {
  background-color: var(--color-prophetic-cream);
  padding: 4rem 0 6rem;
  min-height: 70vh;
}
.page-narrow { max-width: 900px; margin: 0 auto; padding: 0 2rem; }
.page-head { text-align: center; margin-bottom: 3.5rem; }
.page-title {
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--color-holy-charcoal);
  text-transform: uppercase;
  margin: 0 0 1rem;
}
.page-title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--color-apostolic-flame) 0%, var(--color-shekinah-gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page-lead {
  font-size: 1.15rem;
  line-height: 1.8;
  color: rgba(28, 28, 28, 0.75);
  max-width: 700px;
  margin: 0 auto;
}
.page-card {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-left: 4px solid var(--color-apostolic-flame);
  padding: 2.5rem 2.5rem;
  margin-bottom: 1.75rem;
}
.page-card__num {
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, var(--color-apostolic-flame) 0%, var(--color-shekinah-gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.page-card__title {
  font-size: 1.5rem;
  font-weight: 850;
  letter-spacing: -0.01em;
  color: var(--color-holy-charcoal);
  margin: 0.4rem 0 0.5rem;
}
.page-card__quote {
  font-size: 1.1rem;
  font-weight: 700;
  font-style: italic;
  color: var(--color-apostolic-flame);
  margin: 0 0 1rem;
}
.page-card__verse {
  font-size: 0.95rem;
  font-style: italic;
  color: var(--color-muted-blue);
  margin: 0 0 1rem;
}
.page-card__body {
  font-size: 1.05rem;
  line-height: 1.75;
  color: rgba(28, 28, 28, 0.78);
  margin: 0;
}
.page-closing {
  background: var(--color-holy-charcoal);
  color: var(--color-prophetic-cream);
  padding: 3rem 2.5rem;
  text-align: center;
  margin-top: 3rem;
}
.page-closing h2 { font-size: 1.8rem; font-weight: 850; margin: 0 0 1rem; }
.page-closing p { font-style: italic; line-height: 1.8; opacity: 0.9; margin: 0; }
.leader-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
}
.leader-card {
  background: rgba(255, 255, 255, 0.5);
  border-left: 3px solid var(--color-apostolic-flame);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
}
.leader-card__img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 1.25rem;
}
.leader-card__name { font-size: 1.3rem; font-weight: 800; color: var(--color-holy-charcoal); margin: 0; }
.leader-card__role {
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-apostolic-flame);
  margin-top: 0.5rem;
}
.page-panel {
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 2.5rem;
}
.page-panel h2 {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--color-holy-charcoal);
  margin: 0 0 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--color-shekinah-gold);
}

/* Scroll offset for the Events anchor under the fixed navbar */
#events { scroll-margin-top: 80px; }
.footer-address a { color: inherit; text-decoration: underline; }

/* ---- GAP promo video beside the event card ---- */
.events-grid--promo {
  grid-template-columns: minmax(300px, 520px) minmax(220px, 300px);
  align-items: center;
  gap: 3rem;
}
.event-promo {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(243, 237, 227, 0.12);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  aspect-ratio: 9 / 16;
  background: #111;
}
.event-promo__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
@media (max-width: 820px) {
  .events-grid--promo { grid-template-columns: 1fr; justify-items: center; }
  .events-grid--promo .event-card { width: 100%; }
  .event-promo { width: min(300px, 80vw); }
}

/* ---- Beliefs + Contact pages ---- */
.beliefs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.75rem; }
.belief-card {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  padding: 2.25rem 2rem;
  display: flex;
  flex-direction: column;
}
.belief-card__num { font-size: 1.8rem; font-weight: 900; color: var(--color-apostolic-flame); margin-bottom: 1rem; }
.belief-card__title { font-size: 1.35rem; font-weight: 800; color: var(--color-holy-charcoal); margin: 0 0 0.5rem; }
.belief-card__verse {
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--color-shekinah-gold); margin-bottom: 1.25rem;
}
.belief-card__desc { font-size: 0.98rem; line-height: 1.7; color: rgba(28, 28, 28, 0.78); margin: auto 0 0; }
.contact-link { color: var(--color-apostolic-flame); font-weight: 700; text-decoration: underline; }
.contact-btn { display: inline-block; text-decoration: none; margin-right: 0.5rem; }

/* ---- Sermons & Podcasts: continuous looping carousel ---- */
.sermons-row {
  display: block;
  overflow: hidden;
  scroll-snap-type: none;
  scroll-behavior: auto;
  padding: 0.5rem 0 1.5rem;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.sermons-track {
  display: flex;
  width: max-content;
  gap: 0;
  animation: sermons-flow 45s linear infinite;
  will-change: transform;
}
.sermons-track .sermon-card { margin-right: 1.5rem; }
.sermons-row:hover .sermons-track,
.sermons-row:focus-within .sermons-track { animation-play-state: paused; }
@keyframes sermons-flow {
  from { transform: translateX(0); }
  to   { transform: translateX(-33.3333%); }
}
@media (prefers-reduced-motion: reduce) {
  .sermons-row { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .sermons-track { animation: none; }
}

/* ---- Watch page ---- */
.watch-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}
.watch-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---- Privacy page ---- */
.legal h2 { font-size: 1.35rem; font-weight: 800; color: var(--color-holy-charcoal); margin: 2.25rem 0 0.75rem; }
.legal p, .legal li { font-size: 1.05rem; line-height: 1.75; color: rgba(28, 28, 28, 0.8); }
.legal ul { padding-left: 1.5rem; margin: 0.5rem 0 0; }
.legal li { margin-bottom: 0.5rem; list-style: disc; }
.legal a { color: var(--color-apostolic-flame); text-decoration: underline; }

/* GAP promo video sits inside the card, just above the ticket button */
.event-card .event-promo {
  width: min(260px, 100%);
  margin: 0.5rem 0 0.75rem;
  align-self: flex-start;
}
@media (max-width: 820px) {
  .event-card .event-promo { width: min(260px, 100%); }
}

/* Center-align everything in the event card */
.events-grid .event-card {
  align-items: center;
  text-align: center;
}
.events-grid .event-card .event-card__badge,
.events-grid .event-card .event-card__cta,
.events-grid .event-card .event-promo {
  align-self: center;
}
.events-grid .event-card .event-promo { margin: 0.5rem auto 0.75rem; }

/* Mobile: Apostolic Covering panel stacks instead of overflowing */
@media (max-width: 820px) {
  .covering-panel { padding: 2rem 1.5rem !important; }
  .covering-grid { grid-template-columns: 1fr !important; gap: 1.75rem !important; }
  .covering-quote { padding-left: 1.25rem !important; }
}

/* Sermons carousel: clean edges (no orange button box, no stray arrows) */
.sermons-row__arrow { display: none !important; }
.sermons-row-wrap { display: block; }
.sermons-track .sermon-card,
.sermons-track .sermon-card:hover,
.sermons-track .sermon-card:focus {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
  transform: none !important;
}
.sermons-row {
  padding: 1rem 0 1.5rem;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.sermons-track .sermon-card__title { text-transform: none; letter-spacing: 0; padding-right: 0.5rem; }

/* ---- FAQ: restore clean accordion look (buttons were inheriting the orange button style) ---- */
.faq-item .faq-item__trigger,
.faq-item .faq-item__trigger:hover,
.faq-item .faq-item__trigger:focus {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--color-holy-charcoal) !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: inherit !important;
  cursor: pointer;
  transform: none !important;
}
.faq-item .faq-item__question {
  font-size: 1.2rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: left;
}
.faq-item .faq-item__icon { color: var(--color-apostolic-flame); }
.faq-item__answer.open { max-height: 700px; }
.faq-item { background: rgba(255, 255, 255, 0.45); }
.faq-section { padding-bottom: 3rem; }
.refinery-section { padding-top: 3rem; }
@media (max-width: 820px) {
  .refinery-section__inner { padding: 3rem 1.5rem; }
}

/* ---- FAQ: centered layout ---- */
.faq-section__inner {
  grid-template-columns: 1fr;
  gap: 2.5rem;
  max-width: 820px;
  margin: 0 auto;
}
.faq-section__headline {
  position: static;
  text-align: center;
}
.faq-section__headline br { display: none; }
.faq-section__list { width: 100%; }

/* Mission headline is longer now; keep it a comfortable size */
.mission-section__headline { font-size: clamp(34px, 4.2vw, 58px); }

/* Small line inside Our Mission */
.mission-section__tagline {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-apostolic-flame);
  margin: -0.75rem 0 1.5rem;
}

/* Tagline now sits directly under the "Our Mission" label */
.mission-section__tagline { margin: -1rem 0 1.5rem; }

/* Hero headline reads "Rig Nation" (not all caps) */
.hero-section__headline { text-transform: none !important; letter-spacing: -0.02em; }

/* New logo: Rig Nation Churches (taller, since the wordmark stacks on 3 lines) */
.navbar__logo-img { height: 58px; width: auto; }
@media (max-width: 820px) { .navbar__logo-img { height: 50px; } }

/* Hero spacing fix: room for the "g" descender, tagline sits clearly below */
.hero-section__headline { line-height: 1 !important; margin-bottom: 0 !important; }
.hero-section__subtitle { margin: 0.9rem 0 2.25rem !important; }

/* Nav logo: smaller */
.navbar__logo-img { height: 44px !important; width: auto; }
@media (max-width: 820px) { .navbar__logo-img { height: 38px !important; } }


/* ===== Kept from later rounds (layout only) ===== */
/* Hero: tagline above headline; headline in capitals */
.hero-section__subtitle { margin: 0 0 0.9rem !important; }
.hero-section__headline { text-transform: uppercase !important; }
.hero-section__tagline { border: 0 !important; background: none !important; padding: 0 !important; }

/* Mission: tagline above the label */
.mission-section__tagline { margin: 0 0 0.75rem !important; }
.mission-section .section-label { text-transform: uppercase; margin-bottom: 1.25rem; }
.events-section__headline { text-transform: uppercase; letter-spacing: 0.02em; }

/* Nav logo */
.navbar__logo-img { height: 38px !important; width: auto; }
@media (max-width: 820px) { .navbar__logo-img { height: 32px !important; } }
.footer-brand img { height: 64px !important; width: auto; }

/* Footer link columns: open/close on mobile, always visible on desktop */
.footer-links { display: none; padding: 0.5rem 0 0.75rem; }
.footer-links-group.is-open .footer-links { display: flex; }
@media (min-width: 821px) {
  .footer-links { display: flex !important; }
  .footer-accordion-icon { display: none; }
  .footer-accordion-toggle { cursor: default; }
}

/* Keep every link in brand colors (no default browser blue) */
:where(a, a:visited) { color: inherit; }
.footer-address a, .page-card a, .legal a, .page-wrap a:not(.btn-primary) { color: var(--color-apostolic-flame); }
.footer-links span { color: var(--text-secondary); font-size: 0.9rem; }
