/* Original header/footer styles for reuse. */
/* Palette and typography from the supplied index. */
:root{--blue-primary:#2420da;--blue-secondary:#405bec;--black:#ffffff;--dark:#f5f7ff;--dark2:#ffffff;--dark3:#e8ecff;--gray:#6b6b8a;--gray-light:#4a4a6a;--white:#0a0a0f;--white-soft:#f0f0f8;--font-head:'Poppins',sans-serif;--font-body:'DM Sans',sans-serif;}
nav{
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    padding: 0 5%;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255,255,255,0.92);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(27,23,255,0.1);
    transition: all 0.3s;
    color: #ffffff;
  }
.nav-logo{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
.nav-logo img{
  height: 48px;
  width: auto;
  object-fit: contain;
}
.brand-text{
  display: flex;
  flex-direction: column;
  font-family: 'Poppins', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1;
  color: #0a0a0f;
  white-space: nowrap;
}
.brand-text small{
  display: block;
  margin-top: 5px;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.20em;
  color: #1b17ff;
}
.brand-fallback small{
      display:block;
      color:var(--blue-primary);
      letter-spacing:.12em;
      font-size:.58rem;
      margin-top:3px;
    }
.nav-links{
    display: flex;
    gap: 2rem;
    list-style: none;
  }
.nav-links a{
    color: var(--gray-light);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: color 0.2s;
    position: relative;
  }
.nav-links a::after{
    content: '';
    position: absolute;
    bottom: -4px; left: 0;
    width: 0; height: 2px;
    background: var(--blue-primary);
    transition: width 0.3s;
  }
.nav-links a:hover{ color: #1b17ff; }
.nav-links a:hover::after{ width: 100%; }
.nav-cta{
    background: var(--blue-primary);
    color: white !important;
    padding: 0.5rem 1.3rem;
    border-radius: 4px;
    font-weight: 600 !important;
    transition: background 0.2s, transform 0.2s !important;
  }
.nav-cta::after{ display: none !important; 
  color: white }
.nav-cta:hover{ background: var(--blue-secondary) !important; transform: translateY(-1px); color: white}
.hamburger{
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 5px;
  }
.hamburger span{
    display: block;
    width: 24px; height: 2px;
    background: #0a0a0f;
    border-radius: 2px;
    transition: all 0.3s;
  }
footer{
    background: #0a0a2e;
    border-top: 1px solid rgba(82,113,255,0.15);
    padding: 60px 5% 30px;
  }
.footer-grid{
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 3rem;
    margin-bottom: 3rem;
  }
.footer-brand img{
    height: 100px;
    filter: brightness(0) invert(1);
    margin-bottom: 1rem;
  }
.footer-brand p{ color: var(--gray); font-size: 0.88rem; line-height: 1.7; max-width: 260px; font-weight: 300; color: #e5e5f0;}
.footer-col h4{ font-family: var(--font-head); font-size: 0.9rem; font-weight: 700; color: var(--white); margin-bottom: 1.2rem; letter-spacing: 0.05em; text-transform: uppercase; color: #e5e5f0; }
.footer-col ul{ list-style: none; display: flex; flex-direction: column; gap: 0.7rem; }
.footer-col ul li a{ color: #e5e5f0; font-size: 0.87rem; text-decoration: none; transition: color 0.2s; font-weight: 300; }
.footer-col ul li a:hover{ color: var(--blue-secondary); }
.footer-bottom{
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
  }
.footer-bottom p{ color: var(--gray); font-size: 0.82rem; font-weight: 300; }
.social-links{ display: flex; gap: 0.8rem; }
.social-link{
    width: 36px; height: 36px;
    background: rgba(237, 237, 240, 0.842);
    border: 1px solid rgba(168, 183, 231, 0.534);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: var(--gray-light);
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.2s;
  }
.social-link:hover{ background: var(--blue-primary); border-color: var(--blue-primary); color: var(--white); transform: translateY(-2px); }


  /* ========== RESPONSIVE ========== */
  @media (max-width: 1024px) {.footer-grid{ grid-template-columns: 1fr 1fr; gap: 2rem; }}

  @media (max-width: 768px) {.nav-links{ display: none; position: fixed; top: 70px; left: 0; right: 0; background: #ffffff; flex-direction: column; padding: 2rem 5%; gap: 1.5rem; border-bottom: 1px solid rgba(27,23,255,0.1); box-shadow: 0 8px 20px rgba(27,23,255,0.08); }
.nav-links.open{ display: flex; }
.hamburger{ display: flex; }
.footer-grid{ grid-template-columns: 1fr; }}
nav{height:84px;padding:0 max(24px,calc((100vw - 1180px)/2));}
.nav-inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav-links{align-items:center;gap:24px}
.nav-links a{font-size:13px;letter-spacing:0;text-transform:none;white-space:nowrap}
.nav-links a.is-active{color:var(--blue-primary)}
.nav-logo img{height:45px}
.nav-cta{border-radius:9px;padding:12px 18px;display:inline-flex}
.hamburger{border:0;background:transparent;min-height:44px;min-width:44px;align-items:center;justify-content:center}
 footer{padding:80px max(24px,calc((100vw - 1180px)/2));}
.footer-brand .brand-text{color:white}
.footer-brand .nav-logo img{width:auto;height:44px;margin:0}
.footer-brand p{margin-top:18px}
.footer-col ul li a,.footer-brand p{color:#dce2f4}
.footer-bottom p,.social-link{color:#cbd3ec}
.social-link:hover{color:#fff}
.footer-grid{gap:36px}
.footer-bottom{gap:22px;flex-wrap:wrap}
footer{background:#10142f}

@media(max-width:1050px) {.nav-links{gap:15px}
.nav-logo img{height:38px}
.brand-text{font-size:.95rem}}

@media(max-width:900px) {.hamburger{display:flex}
.nav-links{display:none;position:fixed;top:84px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:22px 24px;gap:12px;border-bottom:1px solid #dde3f3;box-shadow:0 15px 24px #151f4014}
.nav-links.open{display:flex}
.nav-links a{display:block;padding:10px}
.nav-cta{text-align:center}}

@media(max-width:600px) {footer{padding:56px 22px}
nav{padding:0 22px;height:76px}
.nav-links{top:76px}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-brand{grid-column:1/-1}}
/* The original light squares stay unchanged. Only icon colors are corrected. */
footer .social-link{color:#10142f;}
footer .social-link:hover{color:#ffffff;}


/* Training navigation uses the same brand styles as the home page. */
body.training-page{padding-top:84px;}
.training-page nav{z-index:1000;min-height:0;box-shadow:none;}
.training-header .nav-links{margin-left:auto;}
.training-header .training-verify{display:inline-flex;border:1px solid var(--blue-primary);border-radius:9px;padding:11px 16px;color:var(--blue-primary);font-weight:600;}
.training-header .training-verify::after{display:none;}
.training-header .training-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 17px;border:0;border-radius:9px;background:var(--blue-primary);color:#fff;font:700 13px var(--font-head);cursor:pointer;flex-shrink:0;transition:background .2s;}
.training-header .training-cart:hover{background:var(--blue-secondary);}
.training-header .training-cart svg{display:block;flex-shrink:0;}
.training-header .cart-count{position:absolute;top:-7px;right:-7px;width:19px;height:19px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;}
.training-header .cart-count.hidden{display:none;}
.training-header .hamburger svg{color:#0a0a0f;}
footer .social-link svg{display:block;width:18px;height:18px;stroke:currentColor;}
@media(max-width:900px){.training-header .nav-inner{gap:12px;}.training-header .training-cart{margin-left:auto;}.training-header .nav-links{margin-left:0;}.training-header .training-verify{justify-content:center;}}
@media(max-width:600px){body.training-page{padding-top:76px;}.training-header .training-cart-label{display:none;}.training-header .training-cart{width:44px;padding:0;}.training-header .nav-inner{gap:10px;}}
