/* ============================================================
   CFC — MINISTRIES.HTML PAGE STYLES
   ============================================================ */

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; }
    
    body {
      font-family: 'Lato', sans-serif;
      color: #f0e8d0;
      overflow-x: hidden;
      background-color: #0D1B3E;
      background-position: center top;
      position: relative;
    }
    /* Overlay to control fade intensity */
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background-color: rgba(8, 15, 36, 0.93);
      pointer-events: none;
      z-index: 0;
    }
    /* Ensure all direct children sit above the overlay */
    body > * { position: relative; z-index: 1; }

    :root {
      --navy:  #0D1B3E;
      --royal: #4B0082;
      --gold:  #C9A84C;
      --gold-l:#E2C06A;
      --white: #f0e8d0;
    }

    /* ── Sticky Nav ── */
    #navbar { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(8,15,36,.97); box-shadow:0 2px 20px rgba(201,168,76,.2); transition:background .4s, box-shadow .4s; }
    #navbar.scrolled { background:rgba(5,10,26,1); box-shadow:0 2px 24px rgba(201,168,76,.25); }

    .gold-text   { color:var(--gold); }
    .gold-border { border:1px solid var(--gold); }

    .gold-divider {
      width:80px; height:3px;
      background:linear-gradient(90deg,transparent,var(--gold),transparent);
      margin:1rem auto;
    }

    .nav-link {
      font-family:'Cinzel',serif; font-size:.8rem; letter-spacing:.08em;
      color:#f0e8d0; transition:color .2s; padding:.25rem 0; position:relative;
    }
    .nav-link::after {
      content:''; position:absolute; bottom:-2px; left:0; right:0;
      height:2px; background:var(--gold); transform:scaleX(0); transition:transform .25s;
    }
    .nav-link:hover { color:var(--gold); }
    .nav-link:hover::after { transform:scaleX(1); }
    .nav-link.active { color:var(--gold); }
    .nav-link.active::after { transform:scaleX(1); }

    .btn-gold {
      display:inline-block; padding:.75rem 2rem;
      background:linear-gradient(135deg,var(--gold-l),var(--gold));
      color:#0D1B3E; font-family:'Cinzel',serif; font-weight:700;
      letter-spacing:.05em; border-radius:4px;
      transition:transform .2s, box-shadow .2s;
    }
    .btn-gold:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(201,168,76,.4); }

    .btn-outline {
      display:inline-block; padding:.75rem 2rem;
      border:2px solid var(--gold); color:var(--gold);
      font-family:'Cinzel',serif; font-weight:700; letter-spacing:.05em;
      border-radius:4px; transition:background .2s, color .2s, transform .2s;
    }
    .btn-outline:hover { background:var(--gold); color:#0D1B3E; transform:translateY(-2px); }

    #mobile-menu { display:none; }
    #mobile-menu.open { display:block; }

    /* ── Page Hero ── */
    /* ── Page hero with faded photo background ── */
    .page-hero {
      padding-top:130px; padding-bottom:80px;
      position:relative; overflow:hidden;
      background-color: #080f24;
    }
    /* Real photo layer — faded */
    .page-hero::before {
      content:'';
      position:absolute; inset:0;
      background-image: url('assets/assets/images/slides/slide_3.jpg');
      background-position: center top;
      opacity: 0.13;
      filter: grayscale(30%);
    }
    /* Gradient overlay on top of photo */
    .page-hero::after {
      content:'';
      position:absolute; inset:0;
      background: linear-gradient(
        135deg,
        rgba(8,15,36,.92) 0%,
        rgba(75,0,130,.75) 50%,
        rgba(8,15,36,.92) 100%
      );
    }
    /* All children must sit above the overlays */
    .page-hero > * { position:relative; z-index:2; }

    /* ── Ministry Card ── */
    .ministry-card {
      background:linear-gradient(145deg,rgba(75,0,130,.2),rgba(13,27,62,.9));
      border:1px solid rgba(201,168,76,.25);
      border-radius:16px; overflow:hidden;
      transition:transform .35s, box-shadow .35s, border-color .35s;
    }
    .ministry-card:hover {
      transform:translateY(-8px);
      box-shadow:0 20px 50px rgba(0,0,0,.4), 0 0 30px rgba(201,168,76,.12);
      border-color:rgba(201,168,76,.6);
    }

    /* ── Ministry image placeholder ── */
    .ministry-img {
      width:100%; height:260px; object-fit:cover;
      display:block;
    }
    .ministry-img-placeholder {
      width:100%; height:260px;
      display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px;
    }

    /* ── Colour accents per ministry ── */
    .accent-army     { border-left:5px solid #C9A84C; }
    .accent-ironmen  { border-left:5px solid #8B6914; }
    .accent-dotk     { border-left:5px solid #E2C06A; }
    .accent-kids     { border-left:5px solid #F0D080; }

    .tag-army     { background:rgba(201,168,76,.15); color:var(--gold); }
    .tag-ironmen  { background:rgba(139,105,20,.2);  color:#D4A843; }
    .tag-dotk     { background:rgba(226,192,106,.15);color:var(--gold-l); }
    .tag-kids     { background:rgba(240,208,128,.15);color:#F0D080; }

    /* ── Meeting time pill ── */
    .time-pill {
      display:inline-flex; align-items:center; gap:6px;
      background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.3);
      color:var(--gold); border-radius:999px;
      padding:.35rem .9rem; font-size:.78rem; font-family:'Lato',sans-serif;
    }

    /* ── Fade-up scroll animation ── */
    .reveal { opacity:0; transform:translateY(40px); transition:opacity .7s ease, transform .7s ease; }
    .reveal.visible { opacity:1; transform:translateY(0); }

    /* ── Pattern bg ── */
    .pattern-bg {
      background-image:radial-gradient(circle at 1px 1px,rgba(201,168,76,.07) 1px,transparent 0);
      background-size:32px 32px;
    }

    /* ── Stat badge ── */
    .stat-badge {
      text-align:center; padding:1rem;
      background:rgba(255,255,255,.04);
      border-radius:10px; border:1px solid rgba(201,168,76,.2);
    }

