/* রক্তদিন - লগইন / রেজিস্ট্রেশন ডিজাইন */
:root { --ro-red:#d71920; --ro-red-dark:#a50f14; --ro-text:#1f2430; --ro-muted:#6b7280; --ro-line:#d9dde3; }

.ro-auth-page { position:relative; overflow:hidden; padding:42px 0 56px; background:#fff; font-family:'Hind Siliguri',sans-serif; }
.ro-auth-page::before { content:""; position:absolute; left:-16%; top:-14%; width:52%; height:125%; background:linear-gradient(160deg,var(--ro-red) 0%,var(--ro-red-dark) 100%); border-radius:0 62% 48% 0 / 0 38% 72% 0; z-index:0; }
.ro-auth-page::after { content:""; position:absolute; right:-70px; top:34%; width:230px; height:230px; background:rgba(215,25,32,.06); border-radius:0 50% 50% 50%; transform:rotate(-45deg); z-index:0; }
.ro-auth-page .container { position:relative; z-index:1; }

.ro-card { max-width:560px; margin:0 auto; background:#fff; border-radius:26px; padding:34px 40px 30px; box-shadow:0 22px 60px rgba(120,10,14,.18); }
.ro-card.wide { max-width:860px; }
.ro-logo { text-align:center; margin-bottom:6px; }
.ro-logo img { height:78px; width:auto; }
.ro-title { text-align:center; font-weight:800; font-size:34px; color:var(--ro-text); margin:8px 0 2px; }
.ro-sub { text-align:center; color:#4b5563; font-size:17px; margin:0; }
.ro-divider { display:flex; align-items:center; justify-content:center; gap:10px; margin:14px auto 22px; max-width:270px; color:var(--ro-red); }
.ro-divider::before, .ro-divider::after { content:""; height:1.5px; background:var(--ro-red); flex:1; opacity:.8; }

.ro-label { display:block; font-weight:600; color:var(--ro-text); margin-bottom:6px; font-size:15px; }
.ro-label .opt { font-weight:500; font-size:12px; color:#9a6b00; margin-left:4px; }
.ro-label .req { color:var(--ro-red); }
.ro-input-wrap { position:relative; }
.ro-input-wrap > i.lead { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--ro-red); font-size:17px; pointer-events:none; }
.ro-input-wrap > .toggle-password { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:#6b7280; cursor:pointer; }
.ro-card .form-control, .ro-card .form-select { height:50px; border:1px solid var(--ro-line); border-radius:10px; font-size:15px; box-shadow:none; background-color:#fff; }
.ro-card textarea.form-control { height:auto; }
.ro-input-wrap .form-control { padding-left:46px; }
.ro-card .form-control:focus, .ro-card .form-select:focus { border-color:var(--ro-red); box-shadow:0 0 0 3px rgba(215,25,32,.12); }

.ro-btn { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; height:54px; border:0; border-radius:10px; color:#fff !important; font-weight:700; font-size:18px; background:linear-gradient(180deg,#e0262c,var(--ro-red-dark)); box-shadow:0 8px 18px rgba(165,15,20,.28); cursor:pointer; text-decoration:none; }
.ro-btn:hover { filter:brightness(1.05); }
.ro-btn:disabled { opacity:.7; cursor:not-allowed; }
.ro-link { color:var(--ro-red); text-decoration:none; font-weight:600; }
.ro-link:hover { text-decoration:underline; color:var(--ro-red-dark); }
.ro-foot-text { text-align:center; color:var(--ro-text); font-size:16px; margin:20px 0 0; }

.ro-trust { max-width:560px; margin:26px auto 0; text-align:center; }
.ro-trust .t1 { display:flex; align-items:center; justify-content:center; gap:12px; color:var(--ro-text); }
.ro-trust .t1 i { font-size:30px; color:var(--ro-red); }
.ro-trust small { color:#6b7280; display:block; }
.ro-features { max-width:760px; margin:22px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; border-top:1px solid #eee; padding-top:18px; }
.ro-features div { display:flex; align-items:center; gap:10px; justify-content:center; }
.ro-features i { font-size:28px; color:var(--ro-red); }
.ro-features b { display:block; font-size:15px; color:var(--ro-text); }
.ro-features span { font-size:12.5px; color:#6b7280; }

/* রেজিস্ট্রেশন */
.ro-reg-head { text-align:center; margin-bottom:6px; }
.ro-reg-head h1 { font-size:36px; font-weight:800; color:var(--ro-red); margin:0; }
.ro-reg-head .en { letter-spacing:2px; font-size:14px; color:#4b5563; font-weight:600; margin-top:2px; display:flex; align-items:center; justify-content:center; gap:12px; }
.ro-reg-head .en::before, .ro-reg-head .en::after { content:""; height:1.5px; width:56px; background:var(--ro-red); }
.ro-intro { text-align:center; margin:12px 0 18px; font-size:17px; color:var(--ro-text); }
.ro-intro b { color:var(--ro-red); font-weight:600; display:block; }

.ro-avatar-box { border:1.5px dashed #e5b9bb; border-radius:14px; padding:18px 10px 14px; text-align:center; margin-bottom:22px; background:#fffafa; }
.ro-avatar { position:relative; width:130px; height:130px; margin:0 auto 8px; cursor:pointer; }
.ro-avatar .circle { width:130px; height:130px; border-radius:50%; background:#e9ecf1 center/cover no-repeat; display:flex; align-items:center; justify-content:center; color:#98a2b3; font-size:46px; border:4px solid #fff; box-shadow:0 6px 18px rgba(0,0,0,.15); }
.ro-avatar .cam { position:absolute; right:4px; top:4px; width:32px; height:32px; border-radius:50%; background:var(--ro-red); color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; border:2px solid #fff; }
.ro-avatar-box small { color:#555; font-size:13.5px; }

.ro-sec { display:flex; align-items:flex-end; border-bottom:1.5px solid #f0a5a8; margin:26px 0 16px; }
.ro-sec span { background:var(--ro-red); color:#fff; font-weight:700; padding:7px 22px 7px 16px; border-radius:10px 10px 0 0; font-size:16px; }

.ro-dob { display:grid; grid-template-columns:1fr 1.3fr 1.1fr; gap:8px; }
.ro-consent { display:flex; align-items:center; gap:16px; padding:14px 6px; }
.ro-consent .ico { font-size:42px; color:var(--ro-red); }
.ro-consent label { margin:0; font-size:16px; line-height:1.6; color:var(--ro-text); cursor:pointer; flex:1; }
.ro-consent input[type=checkbox] { width:26px; height:26px; accent-color:var(--ro-red); flex:0 0 auto; cursor:pointer; }
.ro-note { margin-top:22px; border:1.5px solid #f0a5a8; border-radius:14px; display:flex; align-items:center; gap:16px; padding:12px 18px; background:#fff; }
.ro-note .bell { width:54px; height:54px; border-radius:50%; background:var(--ro-red); color:#fff; display:flex; align-items:center; justify-content:center; font-size:22px; flex:0 0 auto; }
.ro-note ul { margin:0; padding-left:18px; font-size:14.5px; color:#374151; flex:1; }
.ro-note .tag { font-weight:800; color:var(--ro-text); line-height:1.3; text-align:right; }
.ro-note .tag i { color:var(--ro-red); font-size:26px; display:block; }

#responseMsg .alert { border-radius:10px; }

@media (max-width: 767px) {
  .ro-auth-page::before { width:90%; height:34%; left:-30%; top:-8%; }
  .ro-card { padding:26px 18px 24px; border-radius:20px; }
  .ro-title { font-size:28px; }
  .ro-reg-head h1 { font-size:28px; }
  .ro-features { grid-template-columns:1fr; }
  .ro-features div { justify-content:flex-start; padding-left:18%; }
  .ro-note { flex-direction:column; text-align:center; }
  .ro-note .tag { text-align:center; }
}
