/* ============== অথ/বিলিং ফর্ম স্টাইল (base.css এর সাথে একসাথে চলে) ============== */

.brand-row{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px;
}
.topnav{display:flex; gap:16px;}
.topnav a{
  color:var(--ink); font-weight:700; font-size:13px; text-decoration:none;
  background:#fff; padding:8px 14px; border-radius:999px; box-shadow:var(--shadow);
}

.msg-list{width:100%; max-width:420px; margin:0 auto 16px; display:flex; flex-direction:column; gap:8px;}
.msg{padding:10px 14px; border-radius:12px; font-size:13.5px; font-weight:600;}
.msg-success{background:#e3fbf1; color:#0a7d5c;}
.msg-error{background:#ffe7e7; color:#c23636;}
.msg-warning{background:#fff6df; color:#8a6300;}
.msg-info{background:#e8f2ff; color:#1e5fa8;}

.form-card{
  background:#fff; border-radius:26px; padding:30px 26px; width:100%; max-width:420px;
  margin:2vh auto; box-shadow:var(--shadow);
}
.form-card h1{font-family:var(--font-display); font-size:24px; margin:0 0 6px; text-align:center;}
.form-card .sub{text-align:center; color:#5c6b8a; font-size:14px; margin-bottom:22px;}

.field{margin-bottom:16px;}
.field label{display:block; font-weight:700; font-size:13px; color:#4c5b7a; margin-bottom:6px;}
.field input[type=text], .field input[type=email], .field input[type=password],
.field input[type=file], .field input[type=tel]{
  width:100%; padding:12px 14px; border-radius:12px; border:2px solid #e3ecfb;
  background:#f8fafd; font-family:var(--font-body); font-size:14.5px; color:var(--ink);
}
.field input:focus{outline:none; border-color:var(--buddy);}
.field .errorlist{list-style:none; padding:0; margin:6px 0 0; color:var(--coral); font-size:12.5px; font-weight:700;}

.radio-row{display:flex; gap:10px; flex-wrap:wrap;}
.radio-row label{
  flex:1; display:flex; align-items:center; gap:8px; border:2px solid #e3ecfb;
  border-radius:12px; padding:10px 12px; font-weight:700; font-size:13.5px; cursor:pointer;
}
.radio-row input{accent-color:var(--coral);}

.form-actions{margin-top:22px; display:flex; flex-direction:column; align-items:center; gap:10px;}
.form-links{text-align:center; margin-top:16px; font-size:13.5px; color:#5c6b8a;}
.form-links a{color:var(--coral); font-weight:700; text-decoration:none;}

/* ---------- pricing cards ---------- */
.pricing-grid{display:flex; gap:14px; width:100%; max-width:520px; margin:0 auto 22px;}
.price-card{
  flex:1; background:#fff; border-radius:20px; padding:20px 16px; text-align:center;
  box-shadow:var(--shadow); border:3px solid transparent;
}
.price-card.featured{border-color:var(--sun);}
.price-card h3{font-family:var(--font-display); margin:0 0 4px; font-size:16px;}
.price-card .amount{font-family:var(--font-display); font-size:30px; color:var(--coral); margin:6px 0;}
.price-card .amount small{font-size:13px; color:#5c6b8a;}
.price-card .badge{
  display:inline-block; background:var(--sun); color:var(--ink); font-size:11px; font-weight:800;
  padding:3px 10px; border-radius:999px; margin-bottom:8px;
}

.pay-instructions{
  width:100%; max-width:420px; background:#fff8ec; border:2px dashed var(--sun); border-radius:18px;
  padding:16px 18px; margin:0 auto 20px; font-size:13.5px; line-height:1.7; color:#5c4a12;
}
.pay-instructions b{color:var(--ink);}

.status-card{
  background:#fff; border-radius:20px; padding:18px 20px; width:100%; max-width:460px;
  margin:0 auto 14px; box-shadow:var(--shadow); display:flex; justify-content:space-between; align-items:center;
}
.status-badge{padding:5px 12px; border-radius:999px; font-size:12px; font-weight:800;}
.status-active{background:#e3fbf1; color:#0a7d5c;}
.status-pending{background:#fff6df; color:#8a6300;}
.status-rejected{background:#ffe7e7; color:#c23636;}
.status-expired{background:#eef1f7; color:#5c6b8a;}

.center-note{text-align:center; color:#5c6b8a; font-size:14px; max-width:380px; margin:8px auto 20px; line-height:1.6;}
