/* ---------- Beautiful Bonus UI ---------- */

/* import a clean font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap');

:root{
  --bg-page: #f4f7fb;
  --container-bg: #ffffff;
  --accent: #f5b800;
  --muted-text: #6b7384;
  --card-radius: 14px;
  --shadow-1: 0 6px 18px rgba(16,24,40,0.08);
  --shadow-2: 0 20px 40px rgba(16,24,40,0.12);
}

/* wrapper for the section — centers it and gives breathing room */
.bonus-area {
  /* background: linear-gradient(180deg, rgba(245,248,254,1) 0%, rgba(243,246,254,1) 100%); */
  display: flex;
  justify-content: center;
  padding: 10px; /* smaller top padding (20px instead of 48px) */
  width: 100%;
    background: linear-gradient(180deg, rgb(217, 223, 235) 0%, rgba(243,246,254,1) 100%);

}



/* white card that sits inside the wrapper */
.bonus-inner {
  width: 100%;
  max-width: 1200px;
  background: var(--container-bg);
  border-radius: 18px;
  padding: 10px;
  box-shadow: var(--shadow-2);
  
}

/* header */
.bonus-header {

    margin-top: 0;       /* kill default margin */
    margin-bottom: 14px; /* keep space below title */

  text-align: center;
    margin-top: 5px;
  margin-bottom: 14px;
  position: relative;
}
.bonus-header .badge {
  font-size: 26px;
  display: inline-block;
  transform: rotate(-10deg);
  margin-bottom: 6px;
}
.bonus-title {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  font-size: 28px;
  font-weight: 800;
  color: #0e1624;
  letter-spacing: -0.02em;
  margin: 0;
}
.accent-line{
  width: 110px;
  height: 6px;
  background: linear-gradient(90deg, transparent, var(--accent) 30%, var(--accent) 70%, transparent);
  margin: 12px auto 0;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(245,184,0,0.12);
}

/* grid for cards */
.bonus-grid {
  display: block;
  /* display: grid; */
  /*grid-template-columns: repeat(2, 1fr); */
  gap: 28px;
}

/* card base */
.bonus-card {
  border-radius: var(--card-radius);
  padding: 26px;
  color: #fff;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform .28s cubic-bezier(.2,.9,.3,1), box-shadow .28s;
  position: relative;
  overflow: hidden;
}

/* card hover */
.bonus-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(16,24,40,0.18);
}

/* frontend / backend color themes (soft gradient + glossy highlight) */
.bonus-card.frontend{
  background: linear-gradient(135deg, #ff9a6b 0%, #ff6a88 100%);
  color: #fff;
}
.bonus-card.backend{
  background: linear-gradient(135deg, #56d8c0 0%, #60a3f0 100%);
  color: #fff;
}

/* subtle top glossy stripe */
.bonus-card::before{
  content:'';
  position:absolute;
  left:0; right:0; top:0;
  height:80px;
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
  pointer-events:none;
}

/* titles */
.card-title{
  font-size: 20px;
  font-weight: 700;
  margin: 2px 0 14px;
  color: rgba(255,255,255,0.98);
  text-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* list */
.topic-list {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1 1 auto;
}
.topic-list li{
  display:flex;
  align-items:center;
  gap: 12px;
  background: rgba(255,255,255,0.06);
  padding: 12px 14px;
  margin: 10px 0;
  border-radius: 8px;
  font-weight: 600;
  color: rgba(255,255,255,0.95);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,0.03);
  transition: background .18s, transform .18s;
}
.topic-list li:hover{
  background: rgba(255,255,255,0.12);
  transform: translateX(6px);
}

/* left icon: small pill with white vertical bar (can replace with image) */
.topic-list .icon{
  width: 12px;
  height: 22px;
  border-radius: 3px;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 2px 8px rgba(0,0,0,0.16);
  flex-shrink: 0;
}

/* footer */
.card-footer{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top: 16px;
}
.pill{
  background: rgba(255,255,255,0.12);
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 700;
  color: #fff;
  font-size: 13px;
}
.cta{
  margin-left:auto;
  background: #fff;
  color: #111;
  padding: 10px 14px;
  border-radius: 10px;
  font-weight: 800;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.02em;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
  transition: transform .18s;
}
.cta:hover{ transform: translateY(-3px); }

/* responsive */
@media (max-width: 980px){
  .bonus-grid{ grid-template-columns: 1fr; }
  .bonus-card{ min-height: auto; }
}
