.mpp-wrap {
  --navy: #1c4b8c;
  --navy-dark: #143a6e;
  --maroon: #a31f2a;
  --gold: #8b5a2b;
  --green: #3f7d3a;
  --cream: #fdfbf6;
  --border: #c0392b;

  /* Subject button palette — deep indigo/violet gradient, more professional & dynamic than flat teal */
  --subj-1: #3b4fa8;
  --subj-2: #5a3fa0;
  --subj-hover-1: #2f3f8c;
  --subj-hover-2: #482f83;
  --subj-selected: var(--navy-dark);
  --cta-text: #ffffff;

  font-family: 'Poppins','Segoe UI',Arial,sans-serif;
  max-width: 520px;
  margin: 0 auto;
  padding: 24px 16px 48px;
  box-sizing: border-box;
}
.mpp-wrap *, .mpp-wrap *::before, .mpp-wrap *::after { box-sizing: border-box; }

.mpp-columns {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.mpp-col-left, .mpp-col-right { width: 100%; }

/* Desktop / tablet-landscape: card and subject-picker sit side by side */
@media (min-width: 700px) {
  .mpp-wrap { max-width: 980px; }
  .mpp-columns {
    flex-direction: row;
    align-items: flex-start;
    gap: 28px;
  }
  .mpp-col-left, .mpp-col-right { flex: 1 1 0; min-width: 0; }
  .mpp-col-right { padding-top: 2px; }
}

.mpp-step-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy-dark);
  letter-spacing: 0.6px;
  margin: 0 0 10px 4px;
  text-transform: uppercase;
}

/* Duration Toggle */
.mpp-toggle {
  display: flex;
  background: #eef1f5;
  border-radius: 999px;
  padding: 5px;
  margin-bottom: 24px;
  position: relative;
}
.mpp-toggle-btn {
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-dark);
  background: transparent;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  position: relative;
  z-index: 2;
  transition: color 0.25s ease;
  font-family: inherit;
}
.mpp-toggle-btn.mpp-active { color: #fff; }
.mpp-toggle-highlight {
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 5px;
  background: var(--navy);
  border-radius: 999px;
  transition: transform 0.3s cubic-bezier(0.65,0,0.35,1);
  z-index: 1;
}
.mpp-badge {
  position: absolute;
  top: -10px;
  right: 4px;
  background: var(--gold);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  letter-spacing: 0.4px;
  z-index: 3;
}

/* Price Card */
.mpp-card {
  background: var(--cream);
  border: 2px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  margin-bottom: 28px;
}
.mpp-head {
  background: var(--navy);
  color: #fff;
  text-align: center;
  padding: 24px 20px 18px;
}
.mpp-plan-name { font-size: 26px; font-weight: 800; margin: 0 0 4px; }
.mpp-plan-duration { font-size: 14px; font-weight: 400; opacity: 0.9; }

.mpp-body { padding: 22px 24px 24px; }

.mpp-price-row { text-align: center; margin-bottom: 4px; }
.mpp-strike {
  color: var(--maroon); text-decoration: line-through;
  font-size: 18px; font-weight: 600; margin-right: 10px; opacity: 0.75;
}
.mpp-price { color: var(--maroon); font-size: 42px; font-weight: 800; }
.mpp-days { text-align: center; color: var(--gold); font-weight: 700; font-size: 14px; margin-bottom: 4px; }
.mpp-perday { text-align: center; color: #6d6d6d; font-size: 13px; margin-bottom: 14px; min-height: 18px; }
.mpp-savings { text-align: center; color: var(--green); font-weight: 700; font-size: 13px; margin-bottom: 4px; min-height: 16px; }

.mpp-features {
  list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid #dcead9;
}
.mpp-features li {
  display: flex; align-items: flex-start; gap: 10px;
  color: var(--gold); font-weight: 600; font-size: 14px;
  padding: 9px 0; border-bottom: 1px solid #dcead9;
}
.mpp-features li:last-child { border-bottom: none; }
.mpp-features li .mpp-icon { flex-shrink: 0; width: 20px; text-align: center; }

/* Subject Grid — professional indigo/violet gradient buttons */
.mpp-subject-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 24px;
}
.mpp-subject-btn {
  background: linear-gradient(135deg, var(--subj-1), var(--subj-2));
  color: #fff;
  border: 2px solid transparent;
  border-radius: 10px;
  padding: 14px 10px;
  font-family: inherit;
  font-weight: 700;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(59,79,168,0.25);
  transition: background 0.2s ease, transform 0.15s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.mpp-subject-btn:hover {
  background: linear-gradient(135deg, var(--subj-hover-1), var(--subj-hover-2));
  filter: brightness(0.96);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(59,79,168,0.35);
}
.mpp-subject-btn.mpp-selected {
  background: var(--subj-selected);
  border-color: var(--gold);
  box-shadow: 0 2px 6px rgba(20,58,110,0.3);
}
.mpp-subject-btn.mpp-selected::after {
  content: " ✓";
}

.mpp-selected-summary {
  text-align: center;
  font-size: 14px;
  color: #5b5b5b;
  margin: -12px 0 18px;
  min-height: 18px;
}
.mpp-selected-summary strong { color: var(--navy-dark); }

.mpp-cta {
  display: block;
  text-align: center;
  background: linear-gradient(135deg, var(--subj-1), var(--subj-2));
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  padding: 15px 20px;
  border-radius: 8px;
  letter-spacing: 0.5px;
  transition: background 0.2s ease, transform 0.15s ease, opacity 0.2s ease;
}
.mpp-cta:hover {
  background: linear-gradient(135deg, var(--subj-hover-1), var(--subj-hover-2));
  filter: brightness(0.96);
  transform: translateY(-2px);
}
.mpp-cta.mpp-disabled {
  background: #b8b8b8;
  cursor: not-allowed;
  pointer-events: none;
}

.mpp-fade { animation: mppFadeIn 0.25s ease; }
@keyframes mppFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .mpp-toggle-highlight, .mpp-cta, .mpp-fade, .mpp-subject-btn { transition: none; animation: none; }
}
