/* ══════════════════════════════════════════
   PCSN Vidhya Niketan — Shared Stylesheet
   ══════════════════════════════════════════ */

:root {
  --saffron: #D4580A;
  --saffron-light: #F47C30;
  --navy: #152B5E;
  --navy-dark: #0C1C3E;
  --gold: #C4922A;
  --gold-light: #F0C96A;
  --green: #1A6B3A;
  --cream: #FBF7F0;
  --warm-white: #FFFDF9;
  --text: #1C1E26;
  --muted: #6B7280;
  --border: #E8E0D0;
  --red: #C0392B;
}

/* ── RESET ── */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: 'Inter', sans-serif;
  color: var(--text);
  background: var(--warm-white);
  overflow-x: hidden;
}

/* ── TRICOLOR ── */
.tricolor {
  height: 5px;
  background: linear-gradient(90deg,
    #FF9933 0%,#FF9933 33.33%,
    white 33.33%,white 66.66%,
    #138808 66.66%,#138808 100%);
}

/* ── TICKER ── */
.ticker {
  background: var(--navy-dark);
  color: rgba(255,255,255,0.85);
  padding: 7px 0;
  display: flex; align-items: center;
  font-size: 12.5px; overflow: hidden;
}
.ticker-label {
  background: var(--saffron); color: white;
  font-weight: 700; font-size: 11px;
  letter-spacing: 1px; padding: 3px 14px;
  white-space: nowrap; flex-shrink: 0;
  text-transform: uppercase; margin-right: 16px;
}
.ticker-body { flex:1; overflow:hidden; }
.ticker-text {
  display: inline-block; white-space: nowrap;
  animation: tick 40s linear infinite;
}
@keyframes tick { 0%{transform:translateX(100vw)} 100%{transform:translateX(-100%)} }
@media (prefers-reduced-motion:reduce) { .ticker-text { animation:none } }

/* ── TOPBAR ── */
.topbar {
  background: var(--cream);
  border-bottom: 1px solid var(--border);
  padding: 7px 5%;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 12.5px; color: var(--muted);
  flex-wrap: wrap; gap: 8px;
}
.topbar-left { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.topbar a { color:var(--navy); text-decoration:none; font-weight:500; }
.topbar a:hover { color:var(--saffron); }
.topbar-right { display:flex; gap:10px; align-items:center; }
.soc {
  width:28px; height:28px; border-radius:50%;
  background:var(--navy); color:white;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; text-decoration:none; font-weight:700;
  transition:background 0.2s;
}
.soc:hover { background:var(--saffron); }

/* ── NAVBAR ── */
nav {
  position: sticky; top:0; z-index:999;
  background: var(--navy);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%; height: 64px;
  box-shadow: 0 3px 16px rgba(0,0,0,0.25);
}
.nav-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.nav-emblem {
  width:44px; height:44px; border-radius:50%;
  background: linear-gradient(135deg, var(--saffron), var(--gold));
  display:flex; align-items:center; justify-content:center;
  font-family:'Baloo 2',sans-serif; font-weight:800;
  font-size:15px; color:white; flex-shrink:0;
  border: 2px solid rgba(255,255,255,0.2);
}
.nav-text strong {
  display:block; color:white; font-size:13px;
  font-weight:700; font-family:'Baloo 2',sans-serif;
}
.nav-text span { color:var(--gold-light); font-size:11px; }
.nav-links { display:flex; gap:2px; list-style:none; }
.nav-links a {
  color:rgba(255,255,255,0.8); text-decoration:none;
  font-size:13px; font-weight:500; padding:8px 13px; border-radius:5px;
  transition:0.2s;
}
.nav-links a:hover { background:rgba(255,255,255,0.1); color:var(--gold-light); }
.nav-links a.active { background:var(--saffron); color:white; }
.hamburger { display:none; cursor:pointer; flex-direction:column; gap:5px; padding:4px; }
.hamburger span { width:24px; height:2px; background:white; border-radius:2px; transition:0.3s; }

/* ── PAGE HERO (inner pages) ── */
.page-hero {
  background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 60%, #1e3a7a 100%);
  padding: 56px 5% 52px;
  position: relative; overflow:hidden;
}
.page-hero::after {
  content:''; position:absolute; right:-60px; bottom:-60px;
  width:320px; height:320px; border-radius:50%;
  background: radial-gradient(circle, rgba(196,146,42,0.1) 0%, transparent 70%);
  pointer-events:none;
}
.page-hero-inner { position:relative; z-index:1; }
.page-hero .breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-size:12.5px; color:rgba(255,255,255,0.5);
  margin-bottom:14px;
}
.page-hero .breadcrumb a { color:var(--gold-light); text-decoration:none; }
.page-hero .breadcrumb a:hover { text-decoration:underline; }
.page-hero h1 {
  font-family:'Baloo 2',sans-serif;
  font-size:clamp(26px,4vw,44px);
  font-weight:800; color:white; line-height:1.2;
  margin-bottom:10px;
}
.page-hero h1 span { color:var(--saffron-light); }
.page-hero p {
  color:rgba(255,255,255,0.68);
  font-size:15px; line-height:1.7; max-width:560px;
}

/* ── SECTION COMMON ── */
.section-pad { padding:72px 5%; }
section { scroll-margin-top:64px; }
.tag {
  display:inline-block; font-size:11px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  color:var(--saffron); margin-bottom:8px;
}
.section-title {
  font-family:'Baloo 2',sans-serif;
  font-size:clamp(22px,3.5vw,36px);
  font-weight:800; color:var(--navy);
  line-height:1.2; margin-bottom:10px;
}
.section-sub { font-size:15px; color:var(--muted); line-height:1.7; max-width:580px; }
.rule { width:50px; height:3px; background:linear-gradient(90deg,var(--saffron),var(--gold)); border-radius:2px; margin:12px 0 20px; }
.section-header { margin-bottom:44px; }

/* ── BUTTONS ── */
.btn-primary {
  background:var(--saffron); color:white;
  font-weight:600; font-size:14px; padding:12px 26px;
  border-radius:6px; text-decoration:none;
  border:2px solid var(--saffron); transition:0.2s;
  display:inline-flex; align-items:center; gap:7px;
}
.btn-primary:hover { background:#b84d08; border-color:#b84d08; }
.btn-outline {
  background:transparent; color:var(--navy);
  font-weight:600; font-size:14px; padding:12px 26px;
  border-radius:6px; text-decoration:none;
  border:2px solid var(--navy); transition:0.2s;
  display:inline-flex; align-items:center; gap:7px;
}
.btn-outline:hover { background:var(--navy); color:white; }
.btn-outline-white {
  background:transparent; color:white;
  font-weight:600; font-size:14px; padding:12px 26px;
  border-radius:6px; text-decoration:none;
  border:2px solid rgba(255,255,255,0.35); transition:0.2s;
  display:inline-flex; align-items:center; gap:7px;
}
.btn-outline-white:hover { border-color:white; background:rgba(255,255,255,0.08); }

/* ── FOOTER ── */
footer {
  background: var(--navy-dark);
  color:rgba(255,255,255,0.6);
  padding:52px 5% 24px;
}
.footer-grid {
  display:grid; grid-template-columns:2.2fr 1fr 1fr;
  gap:48px; margin-bottom:36px;
}
.footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.footer-logo-circle {
  width:46px; height:46px; border-radius:50%;
  background:linear-gradient(135deg,var(--saffron),var(--gold));
  display:flex; align-items:center; justify-content:center;
  font-family:'Baloo 2',sans-serif; font-weight:800;
  font-size:15px; color:white; flex-shrink:0;
}
.footer-logo-name { font-size:14px; color:white; font-weight:700; font-family:'Baloo 2',sans-serif; line-height:1.3; }
.footer-brand p { font-size:13px; line-height:1.75; max-width:300px; margin-bottom:16px; }
.footer-contacts div { font-size:13px; margin-bottom:7px; display:flex; align-items:flex-start; gap:8px; }
.footer-contacts a { color:var(--gold-light); text-decoration:none; }
.footer-col h4 {
  color:var(--gold-light); font-size:11px;
  text-transform:uppercase; letter-spacing:1.5px;
  font-weight:700; margin-bottom:14px;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:9px; }
.footer-col ul li a {
  color:rgba(255,255,255,0.6); text-decoration:none;
  font-size:13.5px; transition:color 0.2s;
}
.footer-col ul li a:hover { color:var(--gold-light); }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.08);
  padding-top:20px; font-size:12.5px;
  display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:8px;
}
.footer-bottom a { color:var(--gold-light); text-decoration:none; }

/* ── CARDS & COMMON UI ── */
.card {
  background:white; border-radius:10px;
  border:1.5px solid var(--border);
  padding:28px 22px; transition:0.2s;
}
.card:hover { box-shadow:0 8px 28px rgba(0,0,0,0.08); transform:translateY(-3px); }
.card-top { border-top:4px solid var(--saffron); }

.chip {
  background:white; border:1.5px solid rgba(21,43,94,0.14);
  color:var(--navy); font-size:12.5px; font-weight:600;
  padding:6px 14px; border-radius:20px;
  display:inline-block;
}
.chips { display:flex; gap:8px; flex-wrap:wrap; }

/* ── MOBILE ── */
@media (max-width:900px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .nav-links.open {
    display:flex; flex-direction:column;
    position:fixed; top:64px; left:0; right:0;
    background:var(--navy); padding:16px 5%;
    gap:4px; z-index:998;
  }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:600px) {
  .topbar { display:none; }
  .section-pad { padding:52px 5%; }
}
