/* ==========================================================
   VidyaRank — Shared Design System
   Used on: index.php, about.php, courses.php, contact.php
   NOT used on: login.php (login page has its own standalone look)
   ========================================================== */
:root{
  --navy:#0B1F4B;
  --navy2:#1A3A70;
  --orange:#FF6B00;
  --orange2:#FF9A00;
  --bg:#F4F6FB;
  --ink:#1B2333;
  --muted:#6B7280;
  --line:#ECEFF5;
  --card:#FFFFFF;
  --radius:16px;
  --shadow:0 12px 32px rgba(11,31,75,0.08);
  --header-h:76px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Segoe UI',Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  padding-bottom:0;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
.section{padding:72px 0;}
.section-tight{padding:48px 0;}
.eyebrow{
  display:inline-block;color:var(--orange);font-weight:700;font-size:13px;
  letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;
}
.section-title{font-size:32px;font-weight:800;color:var(--navy);margin-bottom:12px;letter-spacing:-0.5px;}
.section-sub{color:var(--muted);font-size:15.5px;max-width:620px;margin-bottom:40px;}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.btn-solid,.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:12px;font-weight:700;font-size:14.5px;
  cursor:pointer;border:2px solid transparent;transition:transform .15s,opacity .15s;
  white-space:nowrap;
}
.btn-solid{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 10px 24px rgba(255,107,0,0.28);}
.btn-solid:hover{transform:translateY(-2px);opacity:.94;}
.btn-outline{background:transparent;border-color:rgba(11,31,75,0.18);color:var(--navy);}
.btn-outline:hover{border-color:var(--navy);}
.btn-outline.full,.btn-solid.full{width:100%;}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(244,246,251,0.9);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
  transition:box-shadow .2s;
}
.site-header.scrolled{box-shadow:0 6px 24px rgba(11,31,75,0.08);}
.site-header-inner{
  max-width:1180px;margin:0 auto;padding:0 24px;height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand-logo{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(255,107,0,0.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:3px;}
.brand-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;}
.brand-text{font-size:20px;font-weight:800;color:var(--navy);letter-spacing:.2px;}
.brand-text em{color:var(--orange);font-style:normal;}
.brand-text.light{color:#fff;font-size:24px;}
.desktop-nav{display:flex;align-items:center;gap:26px;}
.desktop-nav a{font-weight:600;font-size:14.5px;color:var(--navy);opacity:.72;position:relative;padding:6px 0;}
.desktop-nav a:hover{opacity:1;}
.desktop-nav a.active{opacity:1;}
.desktop-nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:3px;background:var(--orange);}
.header-actions{display:flex;align-items:center;gap:14px;}
.lang-switch{display:flex;align-items:center;gap:2px;background:rgba(11,31,75,0.06);border-radius:99px;padding:3px;}
.lang-btn{border:none;background:none;padding:6px 12px;border-radius:99px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;transition:.15s;}
.lang-btn.active{background:var(--navy);color:#fff;}
.lang-switch.mobile-lang{width:100%;justify-content:space-between;background:var(--bg);margin:14px 24px 0;padding:4px;}
.lang-switch.mobile-lang .lang-btn{flex:1;text-align:center;padding:9px 6px;}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;}
.hamburger span{display:block;width:22px;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s;margin:0 auto;}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.mobile-drawer{
  display:none;flex-direction:column;background:#fff;border-top:1px solid var(--line);
  max-height:0;overflow:hidden;transition:max-height .28s ease;
}
.mobile-drawer.open{max-height:420px;}
.mobile-drawer a{padding:14px 24px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--line);font-size:15px;}
.mobile-drawer a.active{color:var(--orange);}
.mobile-drawer-cta{display:flex;gap:10px;padding:16px 24px;}

/* ---------- FOOTER (desktop) ---------- */
.site-footer{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);color:rgba(255,255,255,0.85);margin-top:0;}
.footer-inner{max-width:1180px;margin:0 auto;padding:56px 24px 32px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
.footer-col h4{color:#fff;font-size:14px;margin-bottom:16px;letter-spacing:.4px;}
.footer-col a{display:block;color:rgba(255,255,255,0.7);font-size:13.5px;margin-bottom:10px;}
.footer-col a:hover{color:var(--orange2);}
.footer-brand p{font-size:13.5px;color:rgba(255,255,255,0.65);margin:14px 0 18px;max-width:280px;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;transition:background .18s,transform .18s;}
.footer-social a svg{width:17px;height:17px;fill:#fff;}
.footer-social a:hover{background:var(--orange);transform:translateY(-2px);}
.footer-address{display:block;color:rgba(255,255,255,0.7);font-size:13.5px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12);text-align:center;padding:18px;font-size:12.5px;color:rgba(255,255,255,0.55);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;}
.footer-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.footer-legal-links a{color:rgba(255,255,255,0.6);font-size:12.5px;}
.footer-legal-links a:hover{color:var(--orange2);}
.footer-legal-sep{color:rgba(255,255,255,0.3);}

/* ---------- MOBILE BOTTOM APP NAV (hidden on desktop) ---------- */
.bottom-nav{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;
  background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -6px 20px rgba(11,31,75,0.08);
  padding:8px 4px calc(6px + env(safe-area-inset-bottom));
}
.bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:#9AA3B2;font-size:10.5px;font-weight:600;padding:4px 0;flex:1;}
.bottom-nav .nav-item svg{width:22px;height:22px;}
.bottom-nav .nav-item.active{color:var(--orange);}

/* ==================== RESPONSIVE: MOBILE = APP MODE ==================== */
@media (max-width:860px){
  .desktop-nav,.header-actions{display:none;}
  .hamburger{display:flex;}
  .mobile-drawer{display:flex;}
  .site-header-inner{height:64px;}

  .site-footer{padding-bottom:0;}
  .footer-inner{grid-template-columns:1fr;gap:28px;padding:40px 24px 16px;}
  .footer-bottom{padding-bottom:90px;} /* clears bottom nav */

  .bottom-nav{display:flex;}
  body{padding-bottom:0;}
  .section{padding:48px 0;}
  .section-title{font-size:26px;}
}