/* ═══════════════════════════════════════════════════════
   css/03-layout.css
   BACKGROUND GEOMETRY + NAVIGATION + THEME BUTTON
   Edit grid spacing, nav padding, brand text here.
═══════════════════════════════════════════════════════ */

/* ── Islamic Geometric Background ── */
.geo-bg {
  position: fixed; inset: 0;
  pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 65% 55% at 12% 12%, rgba(201,168,76,0.055) 0%, transparent 60%),
    radial-gradient(ellipse 55% 65% at 88% 88%, rgba(201,168,76,0.04)  0%, transparent 60%),
    var(--bg);
  transition: background var(--ease);
}
body.light .geo-bg {
  background:
    radial-gradient(ellipse 65% 55% at 12% 12%, rgba(110,72,16,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 55% 65% at 88% 88%, rgba(110,72,16,0.05) 0%, transparent 60%),
    var(--bg);
}

/* Islamic lattice grid lines */
.geo-grid {
  position: fixed; inset: 0;
  pointer-events: none; z-index: 0;
  opacity: var(--geo-opacity);
  background-image:
    repeating-linear-gradient(0deg,   var(--geo-color) 0, var(--geo-color) 1px, transparent 1px, transparent 70px),
    repeating-linear-gradient(90deg,  var(--geo-color) 0, var(--geo-color) 1px, transparent 1px, transparent 70px),
    repeating-linear-gradient(45deg,  var(--geo-color) 0, var(--geo-color) 1px, transparent 1px, transparent 99px),
    repeating-linear-gradient(-45deg, var(--geo-color) 0, var(--geo-color) 1px, transparent 1px, transparent 99px);
  transition: opacity var(--ease);
}

/* ── Navigation bar ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  padding: 1.1rem 2.5rem;
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--border-nav);
  background: var(--bg-nav);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  transition: background var(--ease), border-color var(--ease);
}

.nav-brand {
  font-family: var(--font-display);
  font-size: 0.68rem; letter-spacing: 0.28em;
  color: var(--gold); text-transform: uppercase;
  transition: color var(--ease);
}

.nav-links { display: flex; gap: 2rem; }
.nav-links a {
  font-family: var(--font-display);
  font-size: 0.6rem; letter-spacing: 0.18em;
  color: var(--text-muted); text-transform: uppercase;
  transition: color var(--ease);
}
.nav-links a:hover,
.nav-links a.active { color: var(--gold); }

/* ── Theme toggle button ── */
.theme-btn {
  position: fixed; top: 1rem; right: 1.5rem; z-index: 300;
  width: 40px; height: 40px;
  border: 1px solid var(--gold-border);
  background: var(--bg-btn);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 1.05rem; color: var(--gold);
  backdrop-filter: blur(12px);
  transition: all var(--ease);
}
.theme-btn:hover {
  border-color: var(--gold-border2);
  transform: scale(1.08);
}

/* ── Page wrapper (sits above geo bg) ── */
.page { position: relative; z-index: 1; }

/* ── Generic section container ── */
.sec {
  padding: 6rem 2rem;
  max-width: 1140px;
  margin: 0 auto;
}

/* ── Responsive nav ── */
@media (max-width: 600px) {
  .nav-links { display: none; }
  nav { padding: 1rem 1.4rem; }
  .sec { padding: 4rem 1.2rem; }
}
