:root{
  /* Background + type */
  --bg:#f6f7f7;
  --card:#ffffff;
  --text:#0b1b16;
  --muted:#3f5650;
  --line:#dfe7e4;

  /* Elite Islamic deep green */
  --accent:#0a3a2a;
  --accent2:#06261d;
  --accent3:#041b14;

  /* Navigation text */
  --navText: rgba(255,255,255,.92);
  --navTextSoft: rgba(255,255,255,.72);
  --navLine: rgba(255,255,255,.10);

  /* Shadows */
  --shadow: 0 12px 30px rgba(0,0,0,.07);
  --shadowSoft: 0 10px 22px rgba(0,0,0,.14);

  --radius:16px;
  --max:1100px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; height:100%; }
body{ min-height:100vh; }

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background:
    radial-gradient(900px 420px at 30% -120px, rgba(10,58,42,.10), transparent 60%),
    radial-gradient(900px 420px at 85% 0%, rgba(6,38,29,.06), transparent 60%),
    var(--bg);
  color:var(--text);
  line-height:1.6;

  /* Page layout fix: footer never cuts */
  display:flex;
  flex-direction:column;
}

a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--accent); }

img{ display:block; max-width:100%; }

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:22px;
}

/* main expands so footer is pushed correctly even on short pages */
main{ flex:1; display:block; }

/* =========================
   NAVBAR
   ========================= */

.nav{
  position:sticky;
  top:0;
  z-index:1000;
  background: linear-gradient(180deg, rgba(4,27,20,.95) 0%, rgba(10,58,42,.92) 100%);
  border-bottom: 1px solid var(--navLine);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  max-width:var(--max);
  margin:0 auto;
  padding:12px 22px;
}

.brand{
  display:flex;
  flex-direction:column;
  line-height:1.1;
  padding:6px 10px;
  border-radius:12px;
}

.brand:hover{ background: rgba(255,255,255,.06); }

.brand .name{
  font-weight:850;
  letter-spacing:.2px;
  color:#ffffff;
  font-size:15px;
}

.brand .tag{
  color:var(--navTextSoft);
  font-size:12px;
  margin-top:6px;
  font-weight:600;
}

.menu{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:750;
}

.menu a{
  padding:9px 12px;
  border-radius:12px;
  transition: background .15s ease, transform .15s ease;
  color:var(--navText);
}

.menu a:hover{
  background: rgba(255,255,255,.10);
  transform: translateY(-1px);
}

.menu a.active{
  background: rgba(255,255,255,.14);
  color:#ffffff;
}

/* Burger */
.burger{
  display:none;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  border-radius:12px;
  padding:9px 12px;
  font-weight:800;
  color:#ffffff;
  cursor:pointer;
}

.burger:hover{ background: rgba(255,255,255,.12); }

/* Mobile menu hidden on desktop ALWAYS */
.menu.mobile{ display:none; }

/* =========================
   HERO
   ========================= */

.hero{
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background: var(--card);
  box-shadow: var(--shadow);
}

.hero-top{
  min-height:240px;
  background:
    linear-gradient(to bottom, rgba(4,27,20,.70), rgba(10,58,42,.35)),
    url("../img/hero.jpg");
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}

.hero-content{
  padding:18px 20px;
  width:100%;
  color:#ffffff;
}

.hero-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.hero-text{
  min-width:0;
  max-width:680px;
}

.hero-photo{
  width:210px;
  height:210px;
  border-radius:999px;
  object-fit:cover;
  display:block;
  border:3px solid rgba(255,255,255,.90);
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
  background:#ffffff;
  flex:0 0 auto;
  opacity:1;
  visibility:visible;
}

.hero-title{
  font-size:32px;
  line-height:1.15;
  margin:0;
  font-weight:900;
  letter-spacing:.2px;
}

.hero-sub{
  margin:8px 0 0 0;
  color:rgba(255,255,255,.86);
  font-weight:650;
  font-size:14px;
}

.hero-badges{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.badge{
  display:inline-flex;
  align-items:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  backdrop-filter: blur(6px);
}

.hero-bottom{
  padding:16px 20px 18px 20px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:14px;
}

.lead{
  margin:0;
  color:var(--muted);
  font-size:15px;
}

.actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--card);
  font-weight:800;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  transition: transform .15s ease, filter .15s ease, background .15s ease;
}

.btn:hover{ transform: translateY(-1px); }

.btn.primary{
  background: var(--accent);
  color:#ffffff;
  border-color: rgba(10,58,42,.35);
}

.btn.primary:hover{ filter: brightness(.98); }

/* =========================
   GRID + CARDS
   ========================= */

.grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:16px;
  margin-top:18px;
}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}

.card h2{
  margin:0 0 10px 0;
  font-size:18px;
  letter-spacing:.2px;
}

.kpi{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-top:0;
}

.section-title .hint{
  color:var(--muted);
  font-weight:600;
  font-size:13px;
}

.list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:14px;
}

.item{
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background: var(--card);
  transition: transform .12s ease, border-color .12s ease;
}

.item:hover{
  transform: translateY(-1px);
  border-color: rgba(10,58,42,.22);
}

.item .meta{ color:var(--muted); font-size:13px; font-weight:700; }
.item .title{ margin-top:6px; font-weight:900; color:var(--text); }
.item .desc{ margin-top:6px; color:var(--muted); }

/* YouTube embed: no extra strip */
.video{
  position:relative;
  padding-top:56.25%;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#0b1220;
  margin:0;
}

.video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  background:transparent;
}

.card-actions{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.note{
  margin-top:10px;
  color:var(--muted);
  font-size:13px;
  font-weight:650;
}

/* =========================
   FORMS
   ========================= */
input, textarea, select{
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#ffffff;
  font: inherit;
  color:var(--text);
}

/* =========================
   FOOTER
   ========================= */

.footer{
  margin-top:auto;
  padding:8px 0;
  background: linear-gradient(180deg, rgba(4,27,20,.96) 0%, rgba(10,58,42,.92) 100%);
  border-top:1px solid var(--navLine);
  color:rgba(255,255,255,.86);
}

.footer .container{
  padding:7px 22px;
}

.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between; 
  gap:10px;
  flex-wrap:nowrap;
}

.foot-left{
  white-space:nowrap;        /* ✅ keep © 2025 on one line */
}

.foot-right{
  display:flex;
  gap:12px;                  /* ✅ spacing for icons */
  align-items:center;
  white-space:nowrap;        /* ✅ keep icons on one line */
}

.footer a{
  color:rgba(255,255,255,.86);
  font-weight:750;
  padding:6px 10px;
  border-radius:12px;
  transition: background .15s ease, transform .15s ease;
}

.footer a:hover{
  background: rgba(255,255,255,.10);
  transform: translateY(-1px);
  color:#ffffff;
}
.copyright{
  font-weight:650;
}

/* =========================
   FOOTER — MOBILE
   ========================= */

@media (max-width: 480px){
  .footer-inner{
    font-size:13px;
    gap:8px;
  }

  .foot-right{
    gap:10px;                /* slightly tighter on small screens */
  }
}


/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 880px){
  .hero-bottom{ grid-template-columns:1fr; }
  .actions{ justify-content:flex-start; }
}

@media (max-width: 760px){
  .container{ padding:16px; }

  .menu{ display:none; }
  .burger{ display:inline-flex; }

  .menu.mobile{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:12px 16px 14px 16px;
    max-width:var(--max);
    margin:0 auto;
    border-top: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(180deg, rgba(4,27,20,.98) 0%, rgba(10,58,42,.92) 100%);
  }

  .menu.mobile[hidden]{ display:none; }

  .menu.mobile a{
    width:100%;
    border:1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color:rgba(255,255,255,.92);
  }

  .hero-head{ flex-direction:column; align-items:flex-start; }
  .hero-photo{ width:96px; height:96px; }
  .hero-title{ font-size:26px; }

  .grid{ grid-template-columns: 1fr; }
  .card{ padding:16px; }

  .footer-inner{ flex-direction:column; align-items:flex-start; }
}

