/* ============================================================
   IGNITE NATIONS WEBSITE DESIGN
   Edit this file for normal CSS/design changes.
   ============================================================ */

html{scroll-behavior:smooth}
section[id]{scroll-margin-top:120px}
body{background:#140d26;color:#f7f3ea;font-family:Inter,sans-serif;overflow-x:hidden}
::selection{background:#e9b435;color:#140d26}
.font-display{font-family:'Playfair Display',serif}
.field{background:rgba(247,243,234,.06);border:1px solid rgba(247,243,234,.16);border-radius:.75rem;padding:.8rem 1rem;width:100%;color:#f7f3ea;transition:border-color .3s}
.field:focus{outline:none;border-color:#e9b435}
.field::placeholder{color:rgba(247,243,234,.4)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.on{opacity:1;transform:none}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marquee-track{animation:marquee 28s linear infinite}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.6)}70%{box-shadow:0 0 0 9px rgba(239,68,68,0)}}
.live-dot{animation:pulseDot 1.6s infinite}

/* -------- WATCH LIVE STATES -------- */
.live-offline{background:#6b7280!important;color:#f7f3ea!important;border-color:#6b7280!important;box-shadow:none!important;cursor:default!important;opacity:.88}
a.live-offline{background:transparent!important;color:rgba(247,243,234,.55)!important;border-color:transparent!important}
.live-offline .live-dot{display:none}
@keyframes wordIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.word-in{animation:wordIn .5s cubic-bezier(.22,1,.36,1)}
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{width:18px;height:18px;border:3px solid rgba(20,13,38,.3);border-top-color:#140d26;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}

/* -------- PASTOR FRAME -------- */
.pastor-frame{position:relative}
.pastor-frame::before{content:'';position:absolute;inset:0;transform:translate(16px,16px);border:2px solid rgba(233,180,53,.55);border-radius:1.75rem;z-index:0;pointer-events:none}
.pastor-frame::after{content:'';position:absolute;inset:0;transform:translate(-10px,-10px);border:1px solid rgba(139,111,224,.35);border-radius:1.75rem;z-index:0;pointer-events:none}
.pastor-frame img{position:relative;z-index:1;border-radius:1.75rem;width:100%;object-fit:cover;object-position:top;box-shadow:0 30px 60px rgba(0,0,0,.5)}

/* -------- GALLERY -------- */
.gal-item{border-radius:1.25rem;overflow:hidden;border:1px solid rgba(247,243,234,.1);transition:transform .35s,border-color .35s,box-shadow .35s}
.gal-item:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(233,180,53,.55);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.gal-item img{width:100%;height:13rem;object-fit:cover;display:block}

/* -------- MINISTRIES -------- */
.ministry-row{display:flex;flex-direction:column;gap:.9rem;background:#211543;border:1px solid rgba(247,243,234,.1);border-radius:1.5rem;padding:1.9rem;transition:border-color .35s,transform .35s,box-shadow .35s;scroll-margin-top:130px}
.ministry-row:hover{border-color:rgba(233,180,53,.6);transform:translateY(-6px);box-shadow:0 18px 44px rgba(0,0,0,.5)}
.ministry-ico{width:3.4rem;height:3.4rem;border-radius:1rem;display:grid;place-items:center;font-size:1.5rem;background:linear-gradient(135deg,rgba(233,180,53,.22),rgba(75,46,154,.42));border:1px solid rgba(233,180,53,.4)}

/* -------- PARTNERSHIP TIERS -------- */
.tier-ico{width:2.7rem;height:2.7rem;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 -5px 10px rgba(0,0,0,.35),0 4px 12px rgba(0,0,0,.45);flex-shrink:0}
.tier-row{transition:transform .3s,box-shadow .3s}
.tier-row:hover{transform:translateX(6px);box-shadow:0 14px 34px rgba(0,0,0,.45)}

/* -------- CHAT / ADMIN -------- */
.chat-scroll{height:340px;overflow-y:auto;padding:1rem;border-radius:1rem;background:rgba(20,13,38,.55);border:1px solid rgba(247,243,234,.1)}
.chat-scroll::-webkit-scrollbar{width:6px}
.chat-scroll::-webkit-scrollbar-thumb{background:rgba(233,180,53,.4);border-radius:3px}
.member-list{max-height:420px;overflow-y:auto;padding-right:.25rem}
.member-list::-webkit-scrollbar{width:6px}
.member-list::-webkit-scrollbar-thumb{background:rgba(233,180,53,.4);border-radius:3px}
.admin-panel{border:1px solid rgba(233,180,53,.3);background:rgba(20,13,38,.5);border-radius:1.25rem;padding:1.5rem}
.admin-panel h4{font-weight:700;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#e9b435;margin-bottom:.6rem}

/* -------- CAROUSELS -------- */
.carousel-container { position: relative; width: 100%; overflow: hidden; border-radius: 2rem; background: rgba(33,21,67,.6); border: 1px solid rgba(233,180,53,.25); }
.carousel-track { display: flex; transition: transform 0.5s ease; }
.carousel-slide { min-width: 100%; position: relative; background:#0d0718; }
.event-poster-wrap { position:relative; width:100%; height:30rem; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#0d0718; }
.event-poster-bg { position:absolute; inset:-24px; background-position:center; background-size:cover; filter:blur(22px) brightness(.34) saturate(.85); transform:scale(1.08); opacity:.82; }
.event-poster-wrap::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,7,24,.22),transparent 20%,transparent 80%,rgba(13,7,24,.22)); pointer-events:none; }
.event-poster-img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; object-position:center; }
.event-poster-fallback { width:180px; height:180px; padding:14px; border-radius:50%; background:white; object-fit:contain; }
@media (min-width: 768px) { .event-poster-wrap { height:36rem; } }
@media (min-width: 1200px) { .event-poster-wrap { height:40rem; } }
.carousel-caption { position:absolute; z-index:3; bottom:0; left:0; right:0; background:linear-gradient(0deg,rgba(20,13,38,.96) 0%,rgba(20,13,38,.78) 42%,transparent 100%); padding:5rem 2rem 2rem; }
.carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(233,180,53,.15); border: 1px solid rgba(233,180,53,.5); color: #e9b435; font-size: 1.8rem; width: 2.8rem; height: 2.8rem; border-radius: 50%; display: grid; place-items: center; cursor: pointer; transition: background .3s; z-index: 10; }
.carousel-btn:hover { background: #e9b435; color: #140d26; }
.carousel-prev { left: 1rem; }
.carousel-next { right: 1rem; }
.carousel-dots { display: flex; justify-content: center; gap: .6rem; margin-top: 1.2rem; }
.carousel-dots button { width: 10px; height: 10px; border-radius: 50%; border: 1px solid #e9b435; background: transparent; cursor: pointer; transition: background .3s; }
.carousel-dots button.active { background: #e9b435; }

/* -------- ACADEMY BIG STAGE -------- */
.academy-slide img{width:100%;height:26rem;object-fit:cover;display:block}
@media (min-width:768px){.academy-slide img{height:34rem}}
@media (min-width:1280px){.academy-slide img{height:40rem}}
.academy-caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(20,13,38,.96) 0%,rgba(20,13,38,.6) 45%,transparent 100%);padding:4.5rem 2rem 2.25rem}
@media (min-width:768px){.academy-caption{padding:6rem 3.5rem 3rem}}
.academy-btn{width:3.6rem;height:3.6rem;font-size:2.2rem}
@media (min-width:768px){.academy-btn{width:4.2rem;height:4.2rem;font-size:2.6rem}}
.thumb-strip{display:flex;gap:.8rem;overflow-x:auto;padding:1.1rem .25rem .4rem;scrollbar-width:thin;scrollbar-color:rgba(233,180,53,.5) transparent}
.thumb-strip::-webkit-scrollbar{height:6px}
.thumb-strip::-webkit-scrollbar-thumb{background:rgba(233,180,53,.4);border-radius:3px}
.thumb-item{flex:0 0 auto;width:8rem;border-radius:.8rem;overflow:hidden;border:2px solid transparent;opacity:.5;transition:opacity .3s,border-color .3s,transform .3s;cursor:pointer;padding:0;background:none}
.thumb-item img{width:100%;height:4.5rem;object-fit:cover;display:block}
.thumb-item:hover{opacity:.85;transform:translateY(-3px)}
.thumb-item.active{opacity:1;border-color:#e9b435}

/* -------- VIDEO MODAL -------- */
.video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* -------- FLOW / PORTAL -------- */
.story-card{background:linear-gradient(145deg,rgba(33,21,67,.92),rgba(20,13,38,.78));border:1px solid rgba(247,243,234,.1);border-radius:1.5rem;padding:1.6rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.story-card:hover{transform:translateY(-5px);border-color:rgba(233,180,53,.45);box-shadow:0 18px 42px rgba(0,0,0,.3)}
.story-icon{width:3rem;height:3rem;display:grid;place-items:center;border-radius:1rem;background:rgba(233,180,53,.12);border:1px solid rgba(233,180,53,.3);font-size:1.25rem;margin-bottom:1rem}
.section-kicker{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:#e9b435;font-weight:700}
.portal-shell{background:radial-gradient(ellipse at top right,rgba(75,46,154,.25),transparent 45%),#140d26}
.portal-topbar{position:sticky;top:0;z-index:4;background:rgba(20,13,38,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,180,53,.2)}
#toastBox{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:120}
.hide{display:none!important}
@media (max-width:767px){.ministry-row:hover{transform:translateY(-3px)}}
/* -------- GIVING (partnership + seed) -------- */
.give-door{background:linear-gradient(150deg,rgba(33,21,67,.95),rgba(20,13,38,.85));border:1px solid rgba(247,243,234,.1);border-radius:1.75rem;padding:1.8rem sm:2.2rem;padding:1.8rem}
@media (min-width:640px){.give-door{padding:2.2rem}}
.give-door-head{padding-bottom:1.4rem;margin-bottom:1.6rem;border-bottom:1px solid rgba(233,180,53,.25)}
.amount-field{display:flex;align-items:center;gap:.5rem;background:rgba(247,243,234,.06);border:1px solid rgba(247,243,234,.16);border-radius:.75rem;padding:.8rem 1rem;transition:border-color .3s}
.amount-field:focus-within{border-color:#e9b435}
.amount-field span{font-family:'Playfair Display',serif;font-weight:800;font-size:1.1rem;color:#e9b435}
.amount-field input{flex:1;background:none;border:0;color:#f7f3ea;font-size:1rem;width:100%}
.amount-field input:focus{outline:none}
.amt-chip{border:1px solid rgba(247,243,234,.18);background:rgba(20,13,38,.5);color:rgba(247,243,234,.85);border-radius:.9rem;padding:.75rem .4rem;font-weight:800;font-size:.9rem;cursor:pointer;transition:border-color .25s,background .25s,color .25s}
.amt-chip:hover{border-color:rgba(233,180,53,.6)}
.amt-chip.on{background:#e9b435;border-color:#e9b435;color:#140d26}
.ref-box{font-family:'Playfair Display',serif;font-weight:900;font-size:1.7rem;letter-spacing:.08em;color:#140d26;background:linear-gradient(100deg,#e9b435,#b98a1c);border-radius:1rem;padding:1rem;text-align:center}
.bank-line{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(247,243,234,.08);font-size:.88rem;color:rgba(247,243,234,.55)}
.bank-line:last-child{border-bottom:0}
.bank-line span:last-child{font-weight:700;color:#f7f3ea;text-align:right}

/* -------- RESOURCES -------- */
.res-card{display:flex;flex-direction:column;background:#211543;border:1px solid rgba(247,243,234,.1);border-radius:1.5rem;overflow:hidden;transition:border-color .35s}
.res-card:hover{border-color:rgba(233,180,53,.55)}
.res-card img{width:100%;height:14rem;object-fit:cover;display:block;background:rgba(20,13,38,.6)}
.res-body{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.res-kind{align-self:flex-start;font-size:.62rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;background:rgba(233,180,53,.15);color:#e9b435;border:1px solid rgba(233,180,53,.35)}
.res-price{font-family:'Playfair Display',serif;font-weight:800;font-size:1.6rem;color:#e9b435}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #e9b435;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.res-card,.amt-chip,.tier-row,.reveal{transition:none}.tier-row:hover{transform:none}}

@media (max-width: 640px) {
  .event-poster-wrap { height:27rem; }
  .carousel-caption { padding:4.5rem 1.3rem 1.4rem; }
  .carousel-caption h3 { font-size:1.65rem; line-height:1.08; }
  .carousel-caption p:not(:first-child) { font-size:.9rem; }
}


/* Official Ignite Nations navbar logo: round display */
header img[src$="images/logo.png"],
nav img[src$="images/logo.png"],
.nav-logo,
.site-logo,
.brand-logo,
.navbar-logo {
  width: 64px !important;
  height: 64px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 2px solid rgba(238, 180, 47, 0.65) !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.08) !important;
  flex: 0 0 64px !important;
}


/* Decorative picture emojis removed. Functional UI symbols are kept. */
.story-icon,
.ministry-ico,
.tier-ico,
.emoji,
.emoji-icon {
  display: none !important;
}


/* Professional presentation: no decorative picture-style emoji containers. */
.story-icon,
.ministry-ico,
.tier-ico,
.emoji,
.emoji-icon {
  display: none !important;
}

/* Clean text-first card spacing after decorative icons were removed. */
.story-card h3,
.ministry-row h3 {
  margin-top: 0 !important;
}

/* Live status uses a CSS indicator instead of a picture emoji. */
.live-status-dot {
  display: inline-block;
  width: .62rem;
  height: .62rem;
  border-radius: 999px;
  background: #d7263d;
  box-shadow: 0 0 0 3px rgba(215,38,61,.14);
  margin-right: .5rem;
  vertical-align: middle;
}

/* Professional live indicator. This is a CSS status light, not an emoji. */
.live-active::before {
  content: "";
  display: inline-block;
  width: .6rem;
  height: .6rem;
  border-radius: 999px;
  background: #d7263d;
  box-shadow: 0 0 0 3px rgba(215,38,61,.14);
  margin-right: .55rem;
  vertical-align: .03em;
}
.live-offline::before {
  display: none;
}
