/* --- NAVBAR & FOOTER (AbsolvDocs minimal) --- */

/* Red/Black palette */
:root{
  --bg:#000000;
  --text:#F5F5F5;
  --muted:#BDBDBD;
  --accent:#C62828;   /* crimson */
  --accent-2:#D50000; /* deep red */
  --accent-3:#FF1744; /* bright red */
  --cta-grad: linear-gradient(90deg,var(--accent-3),var(--accent-2));
}

/* NAVBAR */
.navbar{
  position:fixed; inset:0 0 auto 0; height:70px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 2rem; z-index:1000;
  background:rgba(0,0,0,.35); backdrop-filter:blur(8px);
  transition:background .3s ease, box-shadow .3s ease;
}
header a{ text-decoration:none; color:var(--text); }
.navbar.scrolled{ background:rgba(0,0,0,.86); box-shadow:0 0 20px rgba(198,40,40,.35); }

.logo img{ height:56px; margin-top:7px; }

.navbar nav{ display:flex; align-items:center; gap:1.5rem; }
.navbar nav a{
  font-weight:500; padding:.25rem 0; position:relative; color:var(--text); opacity:.95;
}
.navbar nav a.active{ opacity:1; }

/* center-out underline hover (red) */
.navbar nav a::after{
  content:""; position:absolute; left:50%; bottom:-6px;
  width:0; height:2px; transform:translateX(-50%);
  background:var(--cta-grad); border-radius:2px; transition:all .28s ease;
}
.navbar nav a:hover::after{ width:100%; }
.navbar nav a:hover{ text-shadow:0 0 10px rgba(255,23,68,.25); }

/* CTA */
/* CTA button in navbar */
nav a.cta,
#mobileMenu .cta {
  background: linear-gradient(90deg, #FF1744, #D50000);
  color: #fff;
  border-radius: 18px;
  padding: 0.6rem 1.2rem;
  box-shadow: 0 8px 20px rgba(213,0,0,.28);
}
nav a.cta:hover,
#mobileMenu .cta:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

/* FOOTER (minimal) */
footer{
  background:var(--bg);
  padding:3rem 2rem;
  display:grid; gap:2rem;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  border-top:1px solid rgba(255,255,255,.06);
}
footer h3{ margin:0 0 1rem; color:var(--accent-3); font-weight:600; }
footer a{ display:block; color:#aaa; margin:.25rem 0; font-size:.95rem; }
footer a:hover{ color:var(--text); }
footer p{ color:var(--text); opacity:.9; margin:.25rem 0; }

.f-cta{
  display:inline-block; margin-top:.5rem; padding:.5rem .9rem;
  border-radius:16px; background:var(--cta-grad); color:#fff; font-weight:600;
}

.footer-bottom{
  grid-column:1/-1; text-align:center; color:#777;
  margin-top:1.5rem; border-top:1px solid rgba(255,255,255,.08);
  padding-top:1rem; font-size:.85rem;
}

/* Mobile menu controls */
.hamburger{ display:none; background:none; border:0; color:var(--text); font-size:1.8rem; cursor:pointer; }
.mobile-menu{ display:none !important; } /* hidden on desktop */

/* Mobile layout */
@media (max-width:768px){
  .navbar nav{ display:none; }
  .hamburger{ display:block; }

  .mobile-menu{
    display:flex !important; position:fixed; top:70px; left:0; right:0;
    flex-direction:column; gap:1rem; padding:1.25rem 1.5rem 2rem;
    background:rgba(10,10,11,.96); backdrop-filter:blur(10px);
    border-top:1px solid rgba(255,255,255,.08);
    opacity:0; transform:translateY(-8px); visibility:hidden; pointer-events:none;
    transition:opacity .25s ease, transform .25s ease, visibility .25s ease; z-index:999;
  }
  .mobile-menu a{ font-size:1.05rem; text-align:center; padding:.6rem 0; }
  .mobile-menu a.cta{ margin-top:.5rem; }
  .mobile-menu.open{ opacity:1; transform:translateY(0); visibility:visible; pointer-events:auto; }
}

/* Prevent body scroll when menu is open */
body.menu-open{ overflow:hidden; }