/* ===== PAGE WRAPPER ===== */
.stp-wrapper {
  max-width: 1200px;
  margin: auto;
  padding: 60px 20px;
}

/* ===== HEADER ===== */
.stp-header {
  text-align: center;
  margin-bottom: 50px;
}

.stp-header h1 {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 12px;
}

.stp-header p {
  color: #475569;
  max-width: 720px;
  margin: auto;
  line-height: 1.6;
}

/* ===== GRID ===== */
.stp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
}

/* ===== CARD ===== */
.stp-card {
  background: #fff;
  border-radius: 16px;
  padding:40px 20px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  transition: transform .3s ease, box-shadow .3s ease;
}

.stp-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.stp-card img {
  width: 70%;
  border-radius: 12px;
  margin-bottom: 15px;
}

.stp-card h3 {
  font-size: 18px;
  margin-bottom: 6px;
}

.stp-desc {
  font-size: 14px;
  color: #64748b;
  margin-bottom: 12px;
}

/* ===== LEVEL TAG ===== */
.stp-level {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 50px;
  font-size: 12px;
  margin-bottom: 14px;
}

.beginner { background:#dcfce7; color:#166534; }
.intermediate { background:#e0f2fe; color:#075985; }
.advanced { background:#fef3c7; color:#92400e; }
.expert { background:#fee2e2; color:#991b1b; }

/* ===== BUTTON ===== */
.stp-btn {
  display: inline-block;
  background: #2563eb;
  color: #fff;
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 14px;
  text-decoration: none;
}

.stp-btn:hover {
  background: #1d4ed8;
}

/* ===== LOCKED STATE ===== */
.stp-card.locked {
  opacity: 0.55;
  filter: grayscale(90%);
  pointer-events: none;
}

.stp-lock {
  font-size: 13px;
  color: #991b1b;
  font-weight: 600;
}
