/* =========================================================
   LVIBC Shared Site Styles (v1.0)
   Path: loddonvale/css/site.css
   ========================================================= */

:root{
  --bg:#000;
  --card-border:rgba(148,163,184,0.35);
  --card-hover:#0b2238;
  --accent:#8fd14f;
  --accent-soft:rgba(143,209,79,0.25);
  --text:#e5f0ff;
  --muted:#9ca3af;
}

/* Reset */
*{ box-sizing:border-box; margin:0; padding:0; }

body{
  min-height:100vh;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  display:flex;
  flex-direction:column;
  position:relative;
  overflow-x:hidden;
}

/* Aurora background */
.bg-aurora{
  position:fixed;
  inset:-40%;
  background:
    radial-gradient(circle at 10% 0%,   rgba(59,130,246,0.9),  transparent 55%),
    radial-gradient(circle at 90% 30%,  rgba(16,185,129,0.8), transparent 55%),
    radial-gradient(circle at 50% 115%, rgba(96,165,250,0.7), transparent 70%);
  opacity:0.9;
  filter:blur(26px);
  pointer-events:none;
  z-index:0;
  animation:auroraMove 8s linear infinite alternate;
}

@keyframes auroraMove{
  0%{ transform:translate3d(-15%, -10%, 0) scale(1.05); }
  50%{ transform:translate3d(10%, 8%, 0) scale(1.12); }
  100%{ transform:translate3d(-8%, 18%, 0) scale(1.18); }
}

/* Generic page shell */
.shell{
  max-width:1200px;
  margin:0 auto;
  padding:24px clamp(16px,4vw,32px) 60px;
  flex:1;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1; /* above aurora */
  width:100%;
}

/* Header */
header{
  text-align:center;
  margin-bottom:32px;
}

header h1{
  font-size:clamp(34px,4.6vw,56px);
  font-weight:800;
  letter-spacing:0.03em;
  text-shadow:0 16px 40px rgba(0,0,0,0.5);
}

header .strap{
  margin-top:8px;
  font-size:0.9rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
}

/* Card base (nav + content cards) */
.card,
.nav-card{
  position:relative;
  padding:18px 18px 20px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(15,23,42,0.96),rgba(8,16,32,0.98));
  border:1px solid var(--card-border);
  box-shadow:
    0 0 0 1px rgba(15,23,42,0.9),
    0 18px 45px rgba(0,0,0,0.7);
  color:var(--text);
  overflow:hidden;
}

/* Nav cards (clickable) */
.nav-card{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:8px;
  transition:transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.nav-card:hover{
  transform:translateY(-4px);
  background:linear-gradient(145deg,#0b2238,#071624);
  border-color:var(--accent-soft);
  box-shadow:
    0 0 0 1px rgba(15,23,42,0.95),
    0 24px 52px rgba(0,0,0,0.85);
}

.label-row{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  font-size:0.98rem;
}
.emoji{ font-size:1.4rem; }

.nav-card p,
.card p{
  font-size:0.95rem;
  color:var(--muted);
  line-height:1.65;
  margin-top:10px;
}

.nav-card p{ margin-top:0; }

.meta{
  margin-top:auto;
  font-size:0.8rem;
  color:rgba(148,163,184,0.9);
}
.meta .arrow{
  float:right;
  font-size:1rem;
}

/* Title row for content cards */
.title-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.title-row .emoji{ font-size:1.55rem; }
.page-title{
  font-size:1.25rem;
  font-weight:750;
  letter-spacing:0.01em;
}

/* Buttons */
.cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  text-decoration:none;
  font-weight:650;
  border:1px solid rgba(148,163,184,0.35);
  background:rgba(2,6,23,0.55);
  color:var(--text);
  transition:transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}
.btn:hover{
  transform:translateY(-2px);
  background:rgba(11,34,56,0.6);
  border-color:var(--accent-soft);
}
.btn.primary{
  border-color:rgba(143,209,79,0.35);
  background:rgba(143,209,79,0.12);
}
.btn.primary:hover{
  background:rgba(143,209,79,0.18);
}

/* Notes */
.mini-note{
  margin-top:14px;
  font-size:0.9rem;
  color:rgba(229,240,255,0.85);
  border-left:3px solid rgba(143,209,79,0.35);
  padding-left:12px;
  line-height:1.55;
}

/* Simple lists */
ul{
  margin:10px 0 0 18px;
  color:var(--muted);
  line-height:1.65;
  font-size:0.95rem;
}
li{ margin:6px 0; }

/* Footer */
footer{
  text-align:center;
  font-size:0.8rem;
  color:#6b7280;
  padding:10px 0 18px;
  position:relative;
  z-index:1;
}
footer a{
  color:#9ca3af;
  text-decoration:none;
}
footer a:hover{ text-decoration:underline; }

/* Mobile tweaks */
@media (max-width:640px){
  .shell{ padding-top:20px; padding-bottom:40px; }
  header h1{ font-size:1.8rem; }
  header .strap{ letter-spacing:0.18em; }
  .page-title{ font-size:1.15rem; }
}
