/* === layout.css === */
:root {
  --z-bg-overlay: 0;   /* body::before */
  --z-content:   10;  /* page content */
  --z-header:    20;  /* fixed header */
}

/* Full page background + global dark overlay */
body, html {
    height: 100%;
    margin: 0;
    font-family: 'Orbitron', sans-serif;
    background: url('../images/backgrounds/image_fx_2.png') no-repeat center center/cover;
    color: var(--color-text-main);
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(8,10,31,0.6), rgba(8,10,31,0.95));
    z-index: var(--z-bg-overlay); /* 0 */
    pointer-events: none;
}
.site-header {
  position: relative;             /* or sticky/fixed; whichever you use */
  z-index: var(--z-header);       /* 20 */
}

/* Main content area with header padding and max width */
.main-content {
    padding-top: 100px; /* Space for fixed header */
    padding-bottom: var(--spacing-xl);
    padding-left: var(--spacing-l);
    padding-right: var(--spacing-l);
    max-width: 960px;
    margin: 0 auto;
    position: relative; /* To appear above body::before */
    z-index: 1;
}

/* Sections with spacing and optional bottom border */
.page-section {
    padding: var(--spacing-l) 0;
    margin-bottom: var(--spacing-xl);
    border-bottom: 1px solid var(--color-border);
}

.page-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

/* Container utility for centered content blocks */
.container {
    width: 90%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Dark overlay wrapper for specific sections like hero */
.dark-overlay-container {
    position: relative;
    color: var(--color-text-headings);
}

.dark-overlay-container .overlay-layer {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1;
}

.dark-overlay-container > * {
    position: relative;
    z-index: 2;
}
/* --- Footer --- */
.site-footer{
  margin-top: var(--spacing-xl);
  background: rgba(0,0,32,.6);
  border-top: 1px solid rgba(255,255,255,.08);
  color: var(--text-weak, #cfd3ff);
}
.site-footer a { color: var(--link, #b8bfff); }
.site-footer a:hover { color: var(--link-hover, #e2e6ff); }

.footer-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--spacing-l);
  padding: var(--spacing-xl) var(--spacing-l);
}
@media (max-width: 900px){
  .footer-grid{ grid-template-columns: 1fr; }
}

.footer-col{ min-width: 220px; }
.footer-heading{
  margin: 0 0 .5rem 0;
  font-size: 1rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #e6e8ff;
}
.footer-list{
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-list li{ margin: .35rem 0; }

.footer-copy{
  margin: .25rem 0;
  font-size: .95rem;
  line-height: 1.45;
}

.footer-bottom{
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,32,.55);
  padding: .75rem 0;
  text-align: center;
  font-size: .9rem;
  color: rgba(230,232,255,.7);
}
