/* ══════════════════════════════════════════════
   COURSES PAGE — REDESIGNED PRICING
══════════════════════════════════════════════ */

/* Billing toggle */
.billing-toggle {
  display:inline-flex; align-items:center; gap:14px;
  background:rgba(255,255,255,0.05); border:1px solid rgba(201,168,76,0.18);
  border-radius:40px; padding:6px 20px; margin-bottom:40px;
  font-size:0.78rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase;
}
.billing-toggle span { color:var(--gray); transition:color var(--tr); cursor:pointer; }
.billing-toggle span.active { color:var(--gold); }
.toggle-pill {
  width:42px; height:22px; background:var(--gold-dark);
  border-radius:20px; position:relative; cursor:pointer;
  transition:background var(--tr);
}
.toggle-pill.monthly { background:var(--gold); }
.toggle-pill::after {
  content:''; position:absolute;
  top:3px; left:3px;
  width:16px; height:16px; border-radius:50%;
  background:#fff; transition:transform var(--tr);
}
.toggle-pill.monthly::after { transform:translateX(20px); }
.save-badge {
  background:rgba(82,196,120,0.18); color:#52c478;
  font-size:0.62rem; padding:3px 9px; border-radius:20px;
  font-weight:700; letter-spacing:0.08em;
}

/* pricing grid */
.pricing-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:18px; align-items:stretch;
}
.pricing-card {
  background:var(--dark2); border:1px solid rgba(201,168,76,0.14);
  border-radius:14px; overflow:hidden;
  transition:transform var(--tr),border-color var(--tr),box-shadow var(--tr);
  position:relative;
}
.pricing-card:hover {
  transform:translateY(-7px);
  border-color:rgba(201,168,76,0.44);
  box-shadow:0 22px 52px rgba(0,0,0,0.45);
}
.pricing-card.featured {
  border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold), 0 24px 56px rgba(201,168,76,0.18);
}
.pricing-card.featured:hover { transform:translateY(-14px); }

.popular-ribbon {
  position:absolute; top:0; right:0;
  background:var(--gold); color:var(--dark);
  font-size:0.6rem; font-weight:700; letter-spacing:0.14em;
  text-transform:uppercase; padding:5px 14px 5px 20px;
  border-radius:0 14px 0 40px;
}

/* card header */
.pc-header {
  padding:24px 24px 20px;
  border-bottom:1px solid rgba(201,168,76,0.1);
  position:relative;
}
.pc-icon {
  width:50px; height:50px;
  background:linear-gradient(135deg,var(--dark3),#3a2e20);
  border:1px solid rgba(201,168,76,0.22); border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:26px; margin-bottom:14px;
}
.featured .pc-icon {
  background:linear-gradient(135deg,rgba(201,168,76,0.2),rgba(201,168,76,0.08));
  border-color:rgba(201,168,76,0.4);
}
.pc-level {
  font-size:0.62rem; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold); margin-bottom:5px;
}
.pc-name {
  font-family:'Cinzel',serif; font-size:1.15rem;
  color:var(--white); margin-bottom:10px; font-weight:700;
}
.pc-price {
  display:flex; align-items:baseline; gap:4px; margin-bottom:6px;
}
.pc-currency {
  font-family:'Cinzel',serif; font-size:1.1rem;
  font-weight:700; color:var(--gold); line-height:1;
}
.pc-amount {
  font-family:'Cinzel',serif; font-size:2.6rem;
  font-weight:700; color:var(--white); line-height:1;
}
.pc-period {
  font-size:0.76rem; color:rgba(245,239,224,0.75); font-weight:300;
}
.pc-original {
  font-size:0.82rem; color:rgba(245,239,224,0.78);
  text-decoration:line-through; margin-bottom:4px;
}
.pc-saving {
  font-size:0.72rem; color:#52c478; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase;
}
.pc-starting {
  font-size:0.85rem; color:rgba(245,239,224,0.88);
  font-weight:400; letter-spacing:0.04em;
  margin-bottom:6px; padding:10px 14px;
  background:rgba(201,168,76,0.07);
  border:1px solid rgba(201,168,76,0.18);
  border-radius:var(--radius);
  display:inline-block;
}
.pc-starting span {
  font-family:'Cinzel',serif; font-size:1.15rem;
  font-weight:700; color:var(--gold); margin-left:3px;
}
.pc-desc {
  font-size:0.85rem; color:rgba(245,239,224,0.88);
  line-height:1.6; font-weight:300; margin-top:10px;
}

/* card meta row */
.pc-meta {
  display:flex; gap:0; border-bottom:1px solid rgba(201,168,76,0.1);
}
.pc-meta-item {
  flex:1; padding:11px 8px; text-align:center;
  border-right:1px solid rgba(201,168,76,0.08);
}
.pc-meta-item:last-child { border-right:none; }
.pc-meta-val {
  font-family:'Cinzel',serif; font-size:0.88rem;
  font-weight:700; color:var(--gold); display:block; margin-bottom:2px;
}
.pc-meta-key {
  font-size:0.63rem; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gray);
}

/* features list */
.pc-features { padding:18px 24px; }
.pc-feature {
  display:flex; align-items:flex-start; gap:10px;
  font-size:0.85rem; color:rgba(245,239,224,0.92);
  padding:6px 0; border-bottom:1px solid rgba(201,168,76,0.06);
  line-height:1.45; font-weight:300;
}
.pc-feature:last-child { border-bottom:none; }
.pc-feature .chk { color:var(--gold); flex-shrink:0; font-size:0.88rem; margin-top:1px; }
.pc-feature .chk.no { color:rgba(255,255,255,0.18); }
.pc-feature.dim { color:rgba(245,239,224,0.5); }

/* card footer */
.pc-footer { padding:0 24px 24px; }
.pc-trial {
  text-align:center; font-size:0.76rem; color:var(--gold);
  font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  padding:10px 0; display:flex; align-items:center;
  justify-content:center; gap:6px;
}

/* pricing comparison note */
.pricing-note {
  text-align:center; padding:16px 20px 0;
  font-size:0.83rem; color:rgba(245,239,224,0.75);
  line-height:1.7; font-weight:300;
}
.pricing-note strong { color:var(--gold); font-weight:700; }

/* single unified starting price */
.pricing-from {
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin:32px auto 0; padding:18px 40px;
  background:linear-gradient(135deg,rgba(201,168,76,0.1),rgba(201,168,76,0.04));
  border:1px solid rgba(201,168,76,0.3);
  border-radius:12px; max-width:420px;
  white-space:nowrap;
}
.pf-price {
  font-family:'Cinzel',serif; font-size:1.7rem;
  font-weight:700; color:var(--gold); line-height:1;
}
.pf-sub {
  font-size:0.82rem; color:rgba(245,239,224,0.78); letter-spacing:0.1em;
  text-transform:uppercase; align-self:flex-end; padding-bottom:3px;
}

/* schedule table — unchanged classes below */
.schedule-wrap { overflow-x:auto; }
.schedule-table {
  width:100%; border-collapse:separate; border-spacing:0 7px; min-width:560px;
}
.schedule-table thead th {
  font-family:'Cinzel',serif; font-size:0.74rem; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--gold);
  padding:8px 14px; text-align:left;
  border-bottom:1px solid rgba(201,168,76,0.2);
}
.schedule-table tbody tr { background:var(--dark2); transition:background var(--tr); }
.schedule-table tbody tr:hover { background:rgba(201,168,76,0.07); }
.schedule-table td {
  padding:13px 14px; font-size:0.86rem; color:var(--cream2);
  border-top:1px solid rgba(201,168,76,0.08);
  border-bottom:1px solid rgba(201,168,76,0.08);
}
.schedule-table td:first-child {
  border-left:1px solid rgba(201,168,76,0.08);
  border-radius:var(--radius) 0 0 var(--radius);
}
.schedule-table td:last-child {
  border-right:1px solid rgba(201,168,76,0.08);
  border-radius:0 var(--radius) var(--radius) 0;
}
.badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:0.7rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; }
.badge-b { background:rgba(82,196,120,0.15); color:#52c478; }
.badge-i { background:rgba(201,168,76,0.15); color:var(--gold); }
.badge-a { background:rgba(200,80,80,0.15); color:#e07070; }
.badge-t { background:rgba(120,80,200,0.15); color:#a580e0; }

/* old course card classes — kept for legacy, now unused */
.courses-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:16px; }
.course-card { background:var(--dark2); border:1px solid rgba(201,168,76,0.14); border-radius:10px; overflow:hidden; transition:transform var(--tr),border-color var(--tr),box-shadow var(--tr); cursor:pointer; }
.course-card:hover { transform:translateY(-6px); border-color:rgba(201,168,76,0.45); box-shadow:0 18px 44px rgba(0,0,0,0.42); }
.course-thumb { height:170px; background:linear-gradient(135deg,var(--dark3),#3a2e20); display:flex; align-items:center; justify-content:center; font-size:54px; position:relative; overflow:hidden; }
.course-thumb::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(26,20,16,0.75) 100%); }
.course-level { position:absolute; top:12px; right:12px; background:var(--gold); color:var(--dark); font-size:0.62rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:4px 10px; border-radius:20px; z-index:1; }
.course-body { padding:16px 18px 20px; }
.course-body h3 { font-family:'Cinzel',serif; font-size:1.02rem; color:var(--white); margin-bottom:6px; }
.course-body p { font-size:0.83rem; color:rgba(245,239,224,0.58); line-height:1.6; margin-bottom:10px; font-weight:300; }
.course-meta { display:flex; gap:12px; font-size:0.76rem; color:var(--gray); margin-bottom:12px; }
.course-meta span { display:flex; align-items:center; gap:4px; }
.free-trial { font-family:'Cinzel',serif; font-size:1.1rem; font-weight:700; color:var(--gold); margin-bottom:12px; }

/* schedule */
.schedule-wrap { overflow-x:auto; }
.schedule-table {
  width:100%; border-collapse:separate; border-spacing:0 7px; min-width:560px;
}
.schedule-table thead th {
  font-family:'Cinzel',serif; font-size:0.74rem; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--gold);
  padding:8px 14px; text-align:left;
  border-bottom:1px solid rgba(201,168,76,0.2);
}
.schedule-table tbody tr { background:var(--dark2); transition:background var(--tr); }
.schedule-table tbody tr:hover { background:rgba(201,168,76,0.07); }
.schedule-table td {
  padding:13px 14px; font-size:0.86rem; color:var(--cream2);
  border-top:1px solid rgba(201,168,76,0.08);
  border-bottom:1px solid rgba(201,168,76,0.08);
}
.schedule-table td:first-child {
  border-left:1px solid rgba(201,168,76,0.08);
  border-radius:var(--radius) 0 0 var(--radius);
}
.schedule-table td:last-child {
  border-right:1px solid rgba(201,168,76,0.08);
  border-radius:0 var(--radius) var(--radius) 0;
}
.badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:0.7rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; }
.badge-b { background:rgba(82,196,120,0.15); color:#52c478; }
.badge-i { background:rgba(201,168,76,0.15); color:var(--gold); }
.badge-a { background:rgba(200,80,80,0.15); color:#e07070; }
.badge-t { background:rgba(120,80,200,0.15); color:#a580e0; }
