/* =======================================================
   TVA Cyber - site-wide header & footer styling.
   Loaded on EVERY page (see functions.php). Every selector
   here is scoped to .tva-* classes so it cannot affect the
   rest of your GeneratePress site's look.
   ======================================================= */

:root{
  --tva-bg:#050a13;
  --tva-surface:#0a1424;
  --tva-surface-2:#0f1d33;
  --tva-border:rgba(148,178,209,0.14);
  --tva-border-strong:rgba(148,178,209,0.28);
  --tva-cyan:#2fd8e8;
  --tva-blue:#3f7ff2;
  --tva-text:#e9f2fa;
  --tva-muted:#8ea3bd;
  --tva-muted-dim:#5f7691;
}

/* Shared container used by header, footer, and the landing page sections */
.tva-wrap{max-width:1180px; margin:0 auto; padding:0 28px; box-sizing:border-box;}

.tva-site-header, .tva-site-header *,
.tva-site-footer, .tva-site-footer *{
  box-sizing:border-box;
}

@media (prefers-reduced-motion: reduce){
  .tva-site-header *, .tva-site-footer *{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
  }
}

.tva-site-header a:focus-visible, .tva-site-header button:focus-visible,
.tva-site-footer a:focus-visible{
  outline:2px solid var(--tva-cyan); outline-offset:3px; border-radius:4px;
}

/* ---------- Header / Nav ---------- */
.tva-site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(5,10,19,0.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--tva-border);
  padding-top:env(safe-area-inset-top,0px);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.tva-navbar{display:flex; align-items:center; justify-content:space-between; padding:16px 28px; max-width:1180px; margin:0 auto;}
.tva-brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Space Grotesk',system-ui,sans-serif; font-weight:600; font-size:1.7rem;
  color:var(--tva-text); text-decoration:none;
}
.tva-brand-mark{width:60px; height:60px; flex-shrink:0; object-fit:contain; display:block; max-width:none;}
.tva-nav-links{display:flex; gap:32px; font-size:0.94rem; color:var(--tva-muted);}
.tva-nav-links a{transition:color .2s; color:inherit; text-decoration:none;}
.tva-nav-links a:hover{color:var(--tva-text);}
.tva-nav-cta{
  display:inline-block; padding:10px 20px; border-radius:7px;
  background:linear-gradient(135deg,var(--tva-cyan),var(--tva-blue));
  color:#03131c; font-weight:600; font-size:0.9rem; text-decoration:none;
  transition:opacity .2s, transform .2s;
}
.tva-nav-cta:hover{opacity:0.88; transform:translateY(-1px); color:#03131c;}
.tva-menu-btn{display:none; background:none; border:1px solid var(--tva-border-strong); color:var(--tva-text); width:40px; height:40px; border-radius:7px; font-size:1.1rem; cursor:pointer;}

.tva-mobile-menu{
  display:none;
  position:absolute; top:100%; left:0; right:0;
  background:rgba(5,10,19,0.98); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--tva-border);
  padding:10px 28px 20px;
  flex-direction:column;
}
.tva-mobile-menu.open{display:flex;}
.tva-mobile-menu a{
  padding:14px 0; color:var(--tva-text); font-size:1rem; text-decoration:none;
  border-bottom:1px solid var(--tva-border);
}
.tva-mobile-menu a:last-of-type{border-bottom:none;}
.tva-mobile-cta{
  margin-top:14px; text-align:center; border-bottom:none !important;
  border-radius:7px;
  background:linear-gradient(135deg,var(--tva-cyan),var(--tva-blue));
  color:#03131c !important; font-weight:600;
}

/* ---------- Footer ---------- */
.tva-site-footer{
  padding:56px 0 40px; border-top:1px solid var(--tva-border);
  background:var(--tva-bg); color:var(--tva-text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
.tva-site-footer .tva-wrap{display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px;}
.tva-footer-brand-row{display:flex; align-items:center; gap:20px;}
.tva-footer-logo{width:96px; height:96px; object-fit:contain; flex-shrink:0; display:block;}
.tva-footer-brand{font-family:'Space Grotesk',system-ui,sans-serif; font-weight:600; font-size:1.05rem; margin-bottom:8px; color:var(--tva-text);}
.tva-footer-tag{color:var(--tva-muted); font-size:0.92rem; margin-bottom:16px;}
.tva-footer-contact{color:var(--tva-muted-dim); font-size:0.9rem; line-height:1.9;}
.tva-footer-links{display:flex; gap:28px; align-items:flex-start;}
.tva-footer-col h4{font-size:0.85rem; color:var(--tva-muted); margin-bottom:12px; font-weight:500;}
.tva-footer-col a{display:block; color:var(--tva-muted-dim); font-size:0.9rem; margin-bottom:9px; text-decoration:none; transition:color .2s;}
.tva-footer-col a:hover{color:var(--tva-cyan);}
.tva-footer-bottom{max-width:1180px; margin:40px auto 0; padding:24px 28px 0; border-top:1px solid var(--tva-border); font-size:0.85rem; color:var(--tva-muted-dim); text-align:center;}

@media (max-width:900px){
  .tva-nav-links, .tva-navbar > .tva-nav-cta{display:none;}
  .tva-menu-btn{display:block;}
  .tva-site-footer .tva-wrap{flex-direction:column;}
}
