@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:wght@400;500;600&display=swap');

:root{
  --bg:#f6f5f2;--card:#fff;--border:#e9e6df;--accent:#ea6500;
  --text:#1a1209;--muted:#7a6f5c;--soft:#faf8f4;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  touch-action:manipulation;
}
/* Unified page container — identical across site */
.container{
  width:100%;
  max-width:760px;
  margin:0 auto;
  padding:0 16px;
}

/* Topbar */
.topbar{position:sticky;top:0;background:#f6f5f2ee;border-bottom:1px solid var(--border);backdrop-filter:blur(10px);z-index:10}
.topbar{box-shadow:0 6px 20px rgba(0,0,0,.04)}
/* Topbar aligned to page container */
.topbar-inner{
  width:100%;
  max-width:760px;
  margin:0 auto;
  height:60px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 16px;
}
.back-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--muted);background:#fff}
.topbar-brand{font-family:'Syne',sans-serif;font-weight:800;text-decoration:none;color:var(--text);display:flex;align-items:center;gap:8px}
.brand-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.topbar-divider{width:1px;height:20px;background:var(--border)}
.topbar-title{font-size:14px;color:var(--muted)}
.topbar-spacer{flex:1}
.topbar-badge{background:#fff3e8;border:1px solid #ffd7b8;color:var(--accent);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}

/* Hero */
.hero{text-align:center;padding:38px 0}
.hero-eyebrow{display:inline-block;background:#fff3e8;border:1px solid #ffd7b8;color:var(--accent);padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;margin-bottom:14px}
.hero h1{font-family:'Syne',sans-serif;font-size:40px;font-weight:800;margin-bottom:10px}
.hero h1 em{color:var(--accent);font-style:normal}
.hero p{color:var(--muted);max-width:520px;margin:auto}
.stats-row{display:flex;justify-content:center;margin-top:22px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}
.stat-item{padding:16px 26px;text-align:center}
.stat-item+.stat-item{border-left:1px solid var(--border)}
.stat-num{font-family:'Syne';font-size:22px;color:var(--accent)}
.stat-lbl{font-size:11px;color:var(--muted);text-transform:uppercase}

/* Premium hero */
.premium-hero{display:flex;justify-content:space-between;gap:20px;background:#fff7ed;border:1px solid #ffd7b8;border-radius:18px;padding:22px;margin-bottom:26px}
.hero-left h1{font-family:'Syne';font-size:26px;font-weight:800}
.hero-left p{color:var(--muted);font-size:14px;margin-top:6px}
.hero-badge{display:inline-block;background:#fff;border:1px solid var(--border);padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;margin-bottom:8px}
.hero-stats{display:flex;gap:12px}
.stat{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px 16px;text-align:center}
.stat-value{font-family:'Syne';font-size:18px;color:var(--accent)}
.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase}

/* Exam grid */
.section-header{display:flex;align-items:center;gap:12px;margin:18px 0}
.section-header h2{font-family:'Syne';font-size:18px}
.section-header .line{flex:1;height:1px;background:linear-gradient(90deg,#ffd7b8,transparent)}
.exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.exam-btn{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;font-weight:600;display:flex;align-items:center;gap:10px;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease;}
.exam-btn:hover{border-color:#ffc79d;box-shadow:0 8px 24px rgba(234,101,0,.15)}
.exam-btn:active{transform:scale(.97)}
.exam-btn-icon{font-size:20px}

/* Search */
#coursesSection{display:none}
.search-bar-wrap{position:relative;margin-bottom:18px}
.search-bar-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5}
#courseSearch{width:100%;padding:12px 14px 12px 36px;border-radius:12px;border:1px solid var(--border);background:#fff}

/* Course cards */
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:30px}
.course-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;display:flex;flex-direction:column;transition:transform .12s ease, box-shadow .12s ease;will-change:transform;}
.course-card:hover{box-shadow:0 14px 40px rgba(0,0,0,.08)}
.course-card:active{transform:scale(.98)}
.best-pick{border:2px solid #ffc79d;box-shadow:0 14px 40px rgba(234,101,0,.18)}
.best-label{background:linear-gradient(135deg,var(--accent),#fbbf24);padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;margin-bottom:8px}
.course-name{font-family:'Syne';font-weight:700;margin-bottom:8px}
.course-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.course-tag{background:var(--soft);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:12px}
.mode-tag{background:#f1ecff;border-color:#e1d8ff}
.course-fee{font-family:'Syne';font-size:22px;color:var(--accent);margin-bottom:2px}
.course-fee-label{font-size:12px;color:var(--muted);margin-bottom:12px}
.course-footer{display:flex;gap:8px;margin-top:auto}
.btn-primary{
  flex:1;
  background:linear-gradient(135deg,var(--accent),#fbbf24);
  border:none;
  border-radius:12px;
  padding:12px;
  font-weight:800;
  text-align:center;
  text-decoration:none;
  color:#000;
  box-shadow:0 10px 26px rgba(234,101,0,.28);
  transition:transform .12s ease, box-shadow .12s ease;
}
.btn-primary:active{
  transform:translateY(1px) scale(.98);
  box-shadow:0 6px 16px rgba(234,101,0,.22);
}
.btn-secondary{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  background:#fff;
  font-weight:700;
  transition:background .12s ease, transform .12s ease;
}
.btn-secondary:active{
  background:#f3f1ec;
  transform:scale(.98);
}

/* Comparison */
.comparison-wrap{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px}
.table-wrap{overflow:auto}
.comparison-table{width:100%;border-collapse:collapse;min-width:520px}
.comparison-table th,.comparison-table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}
.comparison-table thead{background:var(--soft)}
.comparison-table td:first-child{font-size:12px;color:var(--muted);text-transform:uppercase}
.best-cell{color:var(--accent);font-weight:700}

/* Recommendation */
.reco-card{display:flex;gap:14px;margin-top:18px;background:#fff7ed;border:1px solid #ffd7b8;border-radius:16px;padding:16px}
.reco-icon{font-size:32px}
.reco-text strong{font-family:'Syne'}
.reco-text span{font-size:13px;color:var(--muted)}

/* Misc */
.change-exam-btn{margin-top:26px;border:1px solid var(--border);border-radius:999px;padding:10px 16px;background:#fff;font-weight:600}
.no-results{text-align:center;padding:40px;color:var(--muted)}

/* App-style bottom bar (mobile) */
.bottom-bar{
  position:fixed;
  left:0;right:0;bottom:0;
  background:#ffffffee;
  backdrop-filter:blur(10px);
  border-top:1px solid var(--border);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  display:none;
  z-index:20;
}
/* Bottom bar aligned to page container */
.bottom-bar .bar-inner{
  width:100%;
  max-width:760px;
  margin:0 auto;
  display:flex;
  gap:10px;
}
.bottom-bar button{
  flex:1;border:none;border-radius:12px;
  padding:14px;font-weight:800;
}
.bottom-bar .primary{
  background:linear-gradient(135deg,var(--accent),#fbbf24);
  box-shadow:0 10px 24px rgba(234,101,0,.28);
}
.bottom-bar .secondary{
  background:#fff;border:1px solid var(--border);
}

@media (max-width: 720px) {
  .container { padding: 0 12px; }

  /* Topbar */
  .topbar-inner { height: 56px; gap: 10px; }
  .topbar-title { display: none; } /* save space */
  .back-btn { width: 40px; height: 40px; }

  /* Hero */
  .hero { padding: 24px 0; }
  .hero h1 { font-size: 26px; line-height: 1.15; }
  .hero p { font-size: 14px; padding: 0 6px; }

  /* Stats row → stack */
  .stats-row { flex-direction: column; border-radius: 14px; }
  .stat-item { padding: 12px 10px; }
  .stat-item + .stat-item { border-left: none; border-top: 1px solid var(--border); }

  /* Premium hero */
  .premium-hero { flex-direction: column; padding: 16px; gap: 14px; }
  .hero-left h1 { font-size: 22px; }
  .hero-stats { justify-content: space-between; }
  .stat { flex: 1; }

  /* Exam grid → 2 columns */
  .exam-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .exam-btn { padding: 14px; border-radius: 12px; }

  /* Search */
  #courseSearch { padding: 14px 14px 14px 38px; font-size: 16px; }

  /* Course cards → single column */
  .course-grid { grid-template-columns: 1fr; gap: 14px; }
  .course-card { padding: 16px; border-radius: 16px; }
  .course-name { font-size: 16px; }
  .course-fee { font-size: 20px; }

  /* Buttons → full width */
  .course-footer { flex-direction: column; }
  .btn-primary, .btn-secondary { width: 100%; padding: 12px; }

  /* Comparison table → better scroll */
  .table-wrap { -webkit-overflow-scrolling: touch; }
  .comparison-table th, .comparison-table td { padding: 10px 10px; font-size: 13px; }

  /* Recommendation */
  .reco-card { padding: 14px; }
  .reco-icon { font-size: 26px; }

  /* Change exam button */
  .change-exam-btn { width: 100%; text-align: center; padding: 12px; }

  /* Show bottom bar on mobile */
  .bottom-bar{display:block}
  body{padding-bottom:84px} /* prevent content hidden behind bar */

  .course-card{box-shadow:0 12px 34px rgba(0,0,0,.08)}
}

@media (max-width: 380px) {
  .exam-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 22px; }
  .topbar-brand { font-size: 14px; }
  .course-fee { font-size: 18px; }

  .bottom-bar button{padding:12px}
}