/* ===== Auth modals — Login / Signup / OTP / Forgot / Reset (scoped to .tpl-auth-modal) ===== */
.tpl-auth-modal .modal-dialog { max-width: 432px; }
.tpl-auth-modal .modal-content { position: relative; border: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 70px rgba(7,30,87,0.30); }

/* Close button */
.tpl-auth-modal .tpl-auth-close { position: absolute; top: 14px; right: 14px; z-index: 6; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,0.18); color: #fff; font-size: 18px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.tpl-auth-modal .tpl-auth-close:hover { background: rgba(255,255,255,0.32); transform: rotate(90deg); }

/* Gradient header */
.tpl-auth-head { background: linear-gradient(135deg, #071e57 0%, #1356b8 60%, #20a8ff 100%); padding: 32px 28px 30px; text-align: center; color: #fff; position: relative; }
.tpl-auth-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 22px; background: #fff; border-radius: 22px 22px 0 0; }
.tpl-auth-ico { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 16px; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.25); font-size: 28px; color: #fff; margin-bottom: 12px; box-shadow: 0 8px 20px rgba(0,0,0,0.18); }
.tpl-auth-title { font-size: 21px; font-weight: 800; margin: 0 0 5px; color: #fff; letter-spacing: -0.2px; }
.tpl-auth-sub { font-size: 13px; margin: 0; color: rgba(255,255,255,0.82); }

/* Body */
.tpl-auth-modal .modal-body { padding: 22px 28px 26px; position: relative; z-index: 2; }
.tpl-auth-modal .login-inner-form .form-group { margin-bottom: 16px; }

/* Inputs */
.tpl-auth-modal .form-control { height: 48px; border: 1.5px solid #e4e9f2; border-radius: 11px; padding: 0 15px; font-size: 14px; color: #1f2d3d; background: #fff; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease; }
.tpl-auth-modal .form-control::placeholder { color: #9aa6bb; }
.tpl-auth-modal .form-control:focus { border-color: #20a8ff; box-shadow: 0 0 0 3px rgba(32,168,255,0.15); outline: none; }

/* Phone input group (+91) */
.tpl-auth-modal .input-group { border: 1.5px solid #e4e9f2; border-radius: 11px; overflow: hidden; flex-wrap: nowrap; transition: border-color .2s ease, box-shadow .2s ease; }
.tpl-auth-modal .input-group:focus-within { border-color: #20a8ff; box-shadow: 0 0 0 3px rgba(32,168,255,0.15); }
.tpl-auth-modal .input-group .input-group-text { background: #f1f5fb; border: 0; color: #071e57; font-weight: 700; font-size: 14px; padding: 0 14px; display: flex; align-items: center; }
.tpl-auth-modal .input-group .input-group-prepend { display: flex; }
.tpl-auth-modal .input-group .form-control { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; flex: 1; }

/* Primary button — theme gold (matches site CTAs like "Login/SignUp" & "Buy Now") */
.tpl-auth-modal .btn1 { width: 100%; height: 48px; border: 0 !important; border-radius: 11px !important; background: linear-gradient(135deg, #ffc233, #ffb307) !important; color: #071e57 !important; font-weight: 700; font-size: 15px; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; box-shadow: 0 8px 20px rgba(255,179,7,0.35); display: inline-flex; align-items: center; justify-content: center; }
.tpl-auth-modal .btn1:hover { transform: translateY(-2px); background: linear-gradient(135deg, #ffb307, #e89e00) !important; box-shadow: 0 12px 26px rgba(255,179,7,0.45); color: #071e57 !important; }
.tpl-auth-modal .btn1:active { transform: translateY(0); }
.tpl-auth-modal .btn1:disabled { opacity: .7; cursor: not-allowed; }

/* Links / helper text */
.tpl-auth-modal .blue-color,
.tpl-auth-modal .signUpBtn,
.tpl-auth-modal .loginbtn { color: #20a8ff; font-weight: 700; cursor: pointer; text-decoration: none; }
.tpl-auth-modal .blue-color:hover,
.tpl-auth-modal .signUpBtn:hover,
.tpl-auth-modal .loginbtn:hover { color: #071e57; text-decoration: none; }
.tpl-auth-modal .test-muted,
.tpl-auth-modal .font-14 { color: #7a89a3; font-size: 13.5px; }

/* Checkbox rows */
.tpl-auth-modal .form-check { padding-left: 1.7em; }
.tpl-auth-modal .form-check-input { width: 1.05em; height: 1.05em; margin-left: -1.7em; margin-top: 0.18em; border: 1.5px solid #c7d2e3; cursor: pointer; }
.tpl-auth-modal .form-check-input:checked { background-color: #20a8ff; border-color: #20a8ff; }
.tpl-auth-modal .form-check-label { font-size: 13px; color: #5b6880; }
.tpl-auth-modal .form-check-label a { color: #20a8ff; }

/* OTP modal specifics */
#otp_div.tpl-auth-modal #otp { text-align: center; letter-spacing: 10px; font-size: 22px; font-weight: 700; padding-left: 25px; }
#otp_div.tpl-auth-modal #otp::placeholder { letter-spacing: normal; font-weight: 400; }
#otp_div.tpl-auth-modal .modal-footer { border: 0; justify-content: center; padding: 4px 0 0; }
#otp_div.tpl-auth-modal #countdown { font-size: 13px; color: #20a8ff !important; font-weight: 600; }

/* Mobile */
@media (max-width: 480px) {
    .tpl-auth-modal .modal-dialog { margin: 0.6rem; }
    .tpl-auth-head { padding: 26px 22px 26px; }
    .tpl-auth-ico { width: 52px; height: 52px; font-size: 24px; }
    .tpl-auth-title { font-size: 19px; }
    .tpl-auth-modal .modal-body { padding: 20px 20px 22px; }
}
