/* ==========================================
   JOIN PAGE
   /assets/pages/join.css
   ========================================== */

.join-wrap{
  padding:36px 20px 80px;
}

.setup-note,
.guarantee-box,
.warning-box,
.ongoing,
.saving{
  margin:16px 0;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,0.08);
}

.setup-note{
  background:#f8faff;
}

.guarantee-box{
  background:#ecfdf5;
  color:#065f46;
}

.warning-box{
  background:#fff7ed;
  color:#7c2d12;
  border-color:rgba(234,88,12,0.25);
}

.ongoing{
  background:#f1f5f9;
}

.saving{
  background:#ecfdf5;
  color:#166534;
  font-weight:900;
  font-size:18px;
  text-align:center;
  border:2px solid rgba(16,185,129,0.25);
}

.join-pricing-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin:24px 0;
}

.join-plan{
  position:relative;
  background:#fff;
  border:1px solid rgba(15,23,42,0.08);
  border-radius:16px;
  padding:24px;
  box-shadow:0 10px 30px rgba(15,23,42,0.05);
  overflow:hidden;
}

.join-plan.featured{
  border:2px solid #2563eb;
  background:#f8faff;
  transform:scale(1.02);
}

.ribbon{
  position:absolute;
  top:18px;
  right:-42px;
  background:#16a34a;
  color:#fff;
  font-size:12px;
  font-weight:900;
  padding:7px 48px;
  transform:rotate(35deg);
  box-shadow:0 8px 18px rgba(0,0,0,0.12);
}

.price-badge{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  padding:5px 11px;
  border-radius:999px;
  background:#e5e7eb;
  color:#0f172a;
  margin-bottom:8px;
}

.price-badge.best{
  background:#2563eb;
  color:#fff;
}

.join-price{
  font-size:32px;
  font-weight:900;
  color:#0f172a;
  margin:8px 0;
}

.join-btn{
  display:block;
  width:100%;
  text-align:center;
  margin-top:18px;
}

.steps-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:18px 0;
}

.steps-grid div{
  background:#f8faff;
  border:1px solid rgba(37,99,235,0.12);
  border-radius:14px;
  padding:16px;
}

.steps-grid strong{
  display:block;
  color:#0f172a;
  margin-bottom:5px;
}

.steps-grid span{
  display:block;
  color:#475569;
  font-size:0.95rem;
  line-height:1.45;
}

.script{
  background:#fff7ed;
  border:1px solid rgba(234,88,12,0.25);
  padding:14px 16px;
  border-radius:12px;
  font-style:italic;
  margin:12px 0 14px;
}

@media(max-width:900px){
  .join-pricing-grid,
  .steps-grid{
    grid-template-columns:1fr;
  }

  .join-plan.featured{
    transform:none;
  }
}