/* =========================================================
   Deep Institute — ISS Coaching  |  Custom design system
   ========================================================= */
:root{
  --navy:#14204a;         /* authority / headings / navbar */
  --navy-2:#1e356e;
  --red:#d81f26;          /* primary CTA / accent (from logo) */
  --red-dark:#b3141b;
  --gold:#f2b307;
  --ink:#1f2530;          /* body text */
  --muted:#5b6472;
  --line:#e6e8ee;         /* subtle borders */
  --bg:#ffffff;
  --bg-soft:#f6f7fa;      /* light grey */
  --bg-tint:#eef2fb;      /* very light navy tint */
  --shadow:0 6px 24px rgba(20,32,74,.08);
  --shadow-sm:0 2px 10px rgba(20,32,74,.06);
  --radius:10px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter',"Segoe UI",system-ui,-apple-system,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.65; margin:0;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{ font-family:'Poppins',"Segoe UI",sans-serif; color:var(--navy); font-weight:700; line-height:1.25; }
a{ color:var(--navy-2); }
img{ max-width:100%; height:auto; }
.container{ max-width:1180px; }

/* ---------- Section helpers ---------- */
.section{ padding:72px 0; }
.section-soft{ background:var(--bg-soft); }
.section-tint{ background:var(--bg-tint); }
.eyebrow{
  display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--red); margin-bottom:.5rem;
}
.section-head{ max-width:720px; margin:0 auto 2.6rem; text-align:center; }
.section-head h2{ font-size:2rem; margin:0 0 .5rem; }
.section-head p{ color:var(--muted); margin:0; }
.text-red{ color:var(--red)!important; }
.text-navy{ color:var(--navy)!important; }

/* ---------- Buttons ---------- */
.btn{ border-radius:8px; font-weight:600; padding:.7rem 1.4rem; }
.btn-red{ background:var(--red); border:1px solid var(--red); color:#fff; }
.btn-red:hover{ background:var(--red-dark); border-color:var(--red-dark); color:#fff; }
.btn-navy{ background:var(--navy); border:1px solid var(--navy); color:#fff; }
.btn-navy:hover{ background:var(--navy-2); color:#fff; }
.btn-outline-navy{ background:transparent; border:1.5px solid var(--navy); color:var(--navy); }
.btn-outline-navy:hover{ background:var(--navy); color:#fff; }
.btn-outline-white{ background:transparent; border:1.5px solid rgba(255,255,255,.7); color:#fff; }
.btn-outline-white:hover{ background:#fff; color:var(--navy); }

/* ---------- Top bar ---------- */
.topbar{ background:var(--navy); color:#cfd6ea; font-size:.85rem; }
.topbar a{ color:#cfd6ea; text-decoration:none; }
.topbar a:hover{ color:#fff; }
.topbar .container{ display:flex; justify-content:space-between; align-items:center; padding:7px 12px; flex-wrap:wrap; gap:6px; }

/* ---------- Header / nav ---------- */
.site-header{ background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:1000; }
.navbar-brand{ display:flex; align-items:center; gap:.6rem; padding:0; }
.site-logo{ height:52px; width:auto; }
.brand-text{ font-family:'Poppins',sans-serif; font-weight:800; font-size:1.35rem; line-height:1; }
.brand-text b{ color:var(--red); }
.brand-text span{ color:var(--navy); }
.brand-sub{ display:block; font-size:.62rem; letter-spacing:.14em; color:var(--muted); font-weight:600; text-transform:uppercase; margin-top:2px; }
.main-nav .nav-link{ color:var(--ink); font-weight:500; font-size:.95rem; padding:.5rem .8rem; }
.main-nav .nav-link:hover,.main-nav .nav-link.active{ color:var(--red); }

/* ---------- Hero ---------- */
.hero{ background:linear-gradient(180deg,#fff 0%,var(--bg-tint) 100%); padding:64px 0; }
.hero h1{ font-size:2.6rem; margin-bottom:1rem; }
.hero h1 .hl{ color:var(--red); }
.hero p.lead{ color:var(--muted); font-size:1.08rem; max-width:560px; }
.hero-badges{ display:flex; flex-wrap:wrap; gap:.5rem; margin:1.2rem 0 1.6rem; }
.hero-badges span{ background:#fff; border:1px solid var(--line); border-radius:30px; padding:.35rem .9rem; font-size:.82rem; font-weight:600; color:var(--navy); box-shadow:var(--shadow-sm); }
.hero-cta{ display:flex; flex-wrap:wrap; gap:.7rem; }
.hero-visual{ position:relative; }
.hero-visual .batch-card{
  position:absolute; left:-8px; bottom:-16px; background:#fff; border:1px solid var(--line);
  border-left:4px solid var(--red); border-radius:10px; padding:.8rem 1rem; box-shadow:var(--shadow);
  max-width:230px;
}
.hero-visual .batch-card .lbl{ font-size:.72rem; color:var(--red); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.hero-visual .batch-card .val{ font-family:'Poppins'; font-weight:700; color:var(--navy); }

/* ---------- Image placeholders (replace with real photos) ---------- */
.img-ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  background:repeating-linear-gradient(45deg,#eef1f7,#eef1f7 12px,#e7ebf4 12px,#e7ebf4 24px);
  border:1px dashed #b9c2d8; border-radius:var(--radius); color:#7c88a3; padding:1rem; min-height:220px;
}
.img-ph .ic{ font-size:1.8rem; margin-bottom:.3rem; }
.img-ph small{ font-size:.72rem; }
.ph-note{ font-size:.72rem; color:#9aa4b8; font-style:italic; }

/* ---------- Trust strip ---------- */
.trust{ background:var(--navy); color:#fff; }
.trust .row>div{ padding:26px 10px; text-align:center; border-right:1px solid rgba(255,255,255,.12); }
.trust .row>div:last-child{ border-right:0; }
.trust .tt{ font-family:'Poppins'; font-weight:700; font-size:1.15rem; }
.trust .ts{ color:#b9c2de; font-size:.86rem; }

/* ---------- Cards ---------- */
.card-plain{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.course-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:box-shadow .2s,transform .2s; height:100%; }
.course-card:hover{ box-shadow:var(--shadow); transform:translateY(-3px); }
.course-card .cc-head{ padding:1.1rem 1.2rem; border-bottom:1px solid var(--line); }
.course-card .cc-body{ padding:1.1rem 1.2rem; }
.course-tag{ display:inline-block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--red); background:#fdeaea; padding:.2rem .6rem; border-radius:5px; }
.course-meta{ font-size:.85rem; color:var(--muted); }
.course-meta strong{ color:var(--ink); }

/* Featured course (editorial emphasis) */
.course-feature{ background:var(--navy); color:#fff; border-radius:14px; padding:2rem; box-shadow:var(--shadow); height:100%; }
.course-feature h3{ color:#fff; }
.course-feature .course-tag{ background:rgba(255,255,255,.15); color:#ffd; }
.course-feature ul{ padding-left:1.1rem; color:#d7ddf0; }

/* ---------- Why choose ---------- */
.why-list{ list-style:none; padding:0; margin:0; }
.why-list li{ display:flex; gap:.8rem; padding:.7rem 0; border-bottom:1px dashed var(--line); }
.why-list li:last-child{ border-bottom:0; }
.why-list .wk{ color:var(--red); font-weight:800; font-family:'Poppins'; }

/* ---------- Faculty ---------- */
.faculty-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.faculty-card .fc-body{ padding:1rem 1.1rem; }
.faculty-card .fc-body .role{ color:var(--red); font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.faculty-card .fc-body .qual{ color:var(--muted); font-size:.85rem; }

/* ---------- Results ---------- */
.result-card{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--red); border-radius:var(--radius); padding:1.1rem; text-align:center; box-shadow:var(--shadow-sm); }
.result-card .air{ font-family:'Poppins'; font-weight:800; color:var(--navy); font-size:1.5rem; }
.result-card .air span{ color:var(--red); }
.result-card .exam{ font-size:.8rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.result-photo{ width:64px;height:64px;border-radius:50%;margin:0 auto .6rem;background:#e7ebf4;border:1px dashed #b9c2d8;display:flex;align-items:center;justify-content:center;color:#8390ab;font-size:.65rem;text-align:center; }

/* ---------- PYQ ---------- */
.year-tabs{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; margin-bottom:1.4rem; }
.year-tab{ border:1px solid var(--line); background:#fff; border-radius:30px; padding:.4rem 1.1rem; font-weight:600; cursor:pointer; color:var(--navy); font-size:.9rem; }
.year-tab.active{ background:var(--navy); color:#fff; border-color:var(--navy); }
.pyq-list{ list-style:none; padding:0; margin:0; }
.pyq-list li{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1.1rem; border:1px solid var(--line); border-radius:8px; margin-bottom:.6rem; background:#fff; }
.pyq-list li .doc{ display:flex; align-items:center; gap:.7rem; }
.pyq-list li .doc .ic{ color:var(--red); font-size:1.2rem; }

/* ---------- Test series ---------- */
.ts-point{ display:flex; gap:.7rem; align-items:flex-start; padding:.5rem 0; }
.ts-point .tick{ color:#1a9e5f; font-weight:800; }

/* ---------- Gallery ---------- */
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gallery-grid .img-ph{ min-height:150px; }
.gallery-grid .tall{ grid-row:span 2; min-height:312px; }

/* ---------- Testimonials ---------- */
.tstm{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; box-shadow:var(--shadow-sm); height:100%; }
.tstm .quote{ color:var(--ink); font-style:italic; }
.tstm .who{ display:flex; align-items:center; gap:.7rem; margin-top:1rem; }
.tstm .who .av{ width:44px;height:44px;border-radius:50%;background:#e7ebf4;border:1px dashed #b9c2d8;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#8390ab; }
.tstm .who .nm{ font-weight:700; color:var(--navy); font-size:.95rem; }
.tstm .who .ex{ font-size:.78rem; color:var(--red); }

/* ---------- FAQ ---------- */
.accordion-button{ font-family:'Poppins'; font-weight:600; color:var(--navy); }
.accordion-button:not(.collapsed){ background:var(--bg-tint); color:var(--navy); box-shadow:none; }
.accordion-button:focus{ box-shadow:none; border-color:var(--line); }

/* ---------- Final CTA ---------- */
.final-cta{ background:linear-gradient(120deg,var(--navy),var(--navy-2)); color:#fff; }
.final-cta h2{ color:#fff; }

/* ---------- Footer ---------- */
.site-footer{ background:#0f1836; color:#aeb7d2; font-size:.92rem; }
.site-footer h6{ color:#fff; font-family:'Poppins'; margin-bottom:1rem; }
.site-footer a{ color:#aeb7d2; text-decoration:none; }
.site-footer a:hover{ color:#fff; }
.site-footer .foot-links li{ margin-bottom:.4rem; }
.site-footer hr{ border-color:rgba(255,255,255,.12); }

/* ---------- Floating actions ---------- */
.fab{ position:fixed; right:18px; z-index:1001; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:#fff; box-shadow:0 6px 16px rgba(0,0,0,.25); text-decoration:none; }
.fab-wa{ bottom:20px; background:#25D366; }
.fab-call{ bottom:82px; background:var(--red); }

/* ---------- Admin (kept) ---------- */
.login-wrap{ min-height:100vh; display:flex; align-items:center; background:linear-gradient(135deg,var(--navy),var(--navy-2)); }
.login-card{ border-radius:14px; box-shadow:0 12px 40px rgba(0,0,0,.25); }
.stat-card{ border-radius:12px; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.section-title{ font-weight:800; color:var(--navy); }
.badge-fees{ background:var(--red); color:#fff; font-weight:600; }
.feature-icon{ width:56px;height:56px;border-radius:12px;background:var(--bg-tint);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:1.4rem; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 991px){
  .hero h1{ font-size:2.1rem; }
  .trust .row>div{ border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .trust .row>div:last-child{ border-bottom:0; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid .tall{ grid-row:auto; min-height:150px; }
}
@media (max-width: 767px){
  .section{ padding:52px 0; }
  .hero{ padding:40px 0; }
  .hero h1{ font-size:1.8rem; }
  .section-head h2{ font-size:1.6rem; }
  .hero-visual .batch-card{ position:static; margin-top:1rem; max-width:100%; }
  .fab-call{ bottom:78px; }
}
@media (max-width: 400px){
  .hero h1{ font-size:1.55rem; }
  .brand-text{ font-size:1.15rem; }
  .site-logo{ height:44px; }
}
