/* -------------------------
   Variables (signature)
------------------------- */
:root{
  --accent: #e11d48;
  --accent-hover: #b91c1c;
  --ink: #f1f5f9;
  --radius: 14px;
  --bg-dark: #0d1117;
  --bg-panel: #1e293b;
  --border: #334155;
  --shadow: 0 8px 20px rgba(0,0,0,.4);
}

/* -------------------------
   Base
------------------------- */
*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial;
  line-height:1.6;
  background:var(--bg-dark);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.container{max-width:1100px;margin:0 auto;padding:0 20px;}
.section{padding:60px 0}

/* Eyebrow / headings */
.eyebrow{ text-transform:uppercase; font-size:13px; font-weight:700; color:#f87171; margin-bottom:8px; }
.h2{ font-size:clamp(1.6rem,2.6vw,2.2rem); margin:0 0 .5rem; color:var(--ink); font-weight:700; }
.lead{ color:#cbd5e1; max-width:650px; }

/* -------------------------
   Buttons
------------------------- */
.btn{border:none;cursor:pointer;border-radius:12px;padding:10px 18px;font-weight:600}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px)}

/* -------------------------
   Involved / Hero-like blocks
------------------------- */
.involved{
  position:relative;
  background:transparent;
}

/* card grid */
.involved-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:22px;
  margin-top:18px;
}

/* card */
.involved-card, .enroll-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-top:6px solid var(--accent);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow);
  backdrop-filter: blur(6px);
}

/* text */
.involved-card h3{ color:var(--ink); margin-bottom:12px; }
.involved-card p{ color:#e6eef8; }

/* -------------------------
   Sermons grid (cards)
------------------------- */
#sermons-container{margin-top:14px}
.sermon-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.008));
  border-radius:12px;
  padding:18px;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.sermon-card:hover{transform:translateY(-6px);box-shadow:0 12px 28px rgba(0,0,0,0.55)}
.sermon-title{font-size:1.05rem;color:var(--ink);font-weight:700}
.sermon-meta{font-size:0.9rem;color:#bfcfe0}
.sermon-verse{color:var(--accent);font-weight:700}
.sermon-summary{color:#d7e2f0;font-size:0.95rem;line-height:1.45}

/* layout: container for cards */
#sermons-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}

/* -------------------------
   Videos grid
------------------------- */
#videos-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:14px}
.video-thumb{
  position:relative;overflow:hidden;border-radius:12px;border:1px solid var(--border);background:#000;cursor:pointer;
  box-shadow:var(--shadow);
}
.video-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.video-thumb .video-label{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,0.5);padding:8px 10px;border-radius:8px;color:#fff;font-weight:700}

/* -------------------------
   Enroll card / forms
------------------------- */
.enroll { background:#0f1724 }
.enroll .enroll-card{max-width:900px;margin:0 auto}

/* form controls (if needed) */
input,textarea,select{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid #475569;background:#0f172a;color:var(--ink);
}
input::placeholder,textarea::placeholder{color:#94a3b8}

/* -------------------------
   Modal (video)
------------------------- */
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);align-items:center;justify-content:center;z-index:9999}
.modal[aria-hidden="false"]{display:flex}
.modal-content{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:14px;padding:18px;
  width:clamp(300px,90vw,1000px);max-width:1100px;border:1px solid var(--border);box-shadow:var(--shadow);
}
.modal-content .close{position:absolute;right:14px;top:10px;color:var(--ink);background:transparent;border:none;font-size:22px;cursor:pointer}

/* -------------------------
   Utility & responsive
------------------------- */
.mt-4{margin-top:1rem}.mt-5{margin-top:1.5rem}
@media (max-width:760px){
  .involved-grid{grid-template-columns:1fr}
  #sermons-container{grid-template-columns:1fr}
  #videos-container{grid-template-columns:1fr}
}
/* -------------------------
   Hero Section
------------------------- */
.hero {
  position: relative;
  padding: 100px 20px;
  color: var(--ink);
  text-align: center;
  background: var(--bg-dark);
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('/images/heros.jpg') center/cover no-repeat;
  opacity: 0.35; /* dim background image */
  z-index: 0;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55); /* dark overlay */
  z-index: 1;
}

.hero .container {
  position: relative;
  z-index: 2;
}

.hero h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  margin-bottom: 12px;
}

.hero p {
  font-size: 1.2rem;
  color: #e2e8f0;
  max-width: 700px;
  margin: 0 auto;
}

/* -------------------------
   Mini Navigation
------------------------- */
.mini-nav {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.mini-nav a {
  color: var(--ink);
  font-weight: 600;
  padding: 10px 18px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  transition: background 0.25s, transform 0.25s;
}

.mini-nav a:hover {
  background: var(--accent);
  color: #fff;
  transform: translateY(-2px);
  text-decoration: none;
}
