.error {
  color: red !important;
  margin-top: 5px;
  font-weight: 600;
}

/* ═══════════ LOGIN SPLIT LAYOUT ═══════════ */
.login-wrap { min-height:calc(100vh - 140px); padding:5rem 0 4rem; }
.login-left { position:relative; border-radius:24px 0 0 24px; overflow:hidden; min-height:560px;
  background:linear-gradient(rgba(74,0,18,.82),rgba(74,0,18,.7)), url("https://www.ticketzpro.com/public/assets/images/about/login-image.webp") center/cover; color:#fff;
  display:flex; flex-direction:column; justify-content:space-between; padding:3rem 2.6rem; }
.login-left::before { content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 80%, rgba(212,175,55,.25), transparent 50%); pointer-events:none; }
.login-left > * { position:relative; z-index:2; }
.login-left .om-large { font-size:3rem; color:var(--gold-light); text-shadow:0 2px 20px rgba(0,0,0,.5); }
.login-left h2 { font-family:var(--font-display); color:#fff; font-size:clamp(1.8rem,3vw,2.4rem); line-height:1.2; }
.login-left h2 span { color:var(--gold-light); font-style:italic; }
.login-left p { color:rgba(255,248,231,.88); max-width:360px; }
.login-contact-mini { display:flex; flex-direction:column; gap:.75rem; }
.login-contact-mini a { display:flex; gap:.85rem; align-items:center; color:#fff;
  text-decoration:none; font-size:18px; transition:.3s; }
.login-contact-mini a:hover { color:var(--gold-light); transform:translateX(4px); }
.login-contact-mini .lc-icon { width:40px; height:40px; border-radius:50%;
  background:rgba(255,248,231,.12); border:1px solid rgba(212,175,55,.6);
  display:grid; place-items:center; color:var(--gold-light); flex-shrink:0; }

/* ═══════════ ROYAL FORM CARD ═══════════ */
.login-card { background:#fff; border:1px solid rgba(212,175,55,.35);
  border-left:0; border-radius:0 24px 24px 0; padding:2.8rem 2.8rem;
  height:100%; box-shadow:0 24px 60px -28px rgba(100,110,140,.35);
  display:flex; flex-direction:column; justify-content:center; position:relative; }
.login-card.popup-mode { border:1px solid rgba(212,175,55,.45);
  border-radius:24px; max-width:560px; margin:0 auto;
  outline:1px solid rgba(212,175,55,.22); outline-offset:7px; }
.auth-head h3 { font-family:var(--font-display); color:var(--maroon);
  font-size:clamp(1.6rem,2.6vw,2.1rem); margin-bottom:.4rem; }
.auth-head h3 span { color:var(--saffron); }
.auth-head p { color:rgba(128,0,32,.7); font-size:18px; }

/* Inputs */
.th-form-control { background:#fffdf6 !important; border:1px solid rgba(212,175,55,.45) !important;
  border-radius:12px !important; padding:.72rem 1rem !important; color:var(--maroon) !important;
  font-size:18px !important; transition:.3s !important;margin-bottom:10px }
.th-form-control:focus { border-color:var(--saffron) !important;
  box-shadow:0 0 0 4px rgba(255,153,51,.14) !important; background:#fff !important; }
.th-form-wrap label { font-size:16px; font-weight:600; color:var(--maroon);
  letter-spacing:.03em; margin-bottom:.35rem; }
.required { color:var(--saffron) !important; }

/* Email + Go button */
#loginSection .input-group { border-radius:14px; overflow:hidden;
  border:1px solid rgba(212,175,55,.45); background:#fffdf6; }
#loginSection .input-group input { border:0 !important; background:transparent !important;
  border-radius:0 !important; }
#loginSection .input-group input:focus { box-shadow:none !important; }
.go-btn { background:linear-gradient(90deg,var(--saffron),var(--gold)) !important;
  color:#fff !important; border:0 !important; border-radius:0 12px 12px 0 !important;
  padding:0 1.4rem !important; font-weight:700; letter-spacing:.1em; font-size:.78rem;
  text-transform:uppercase; transition:.3s; line-height:0 !important; height:auto !important; }
.go-btn:hover { filter:brightness(1.1); }

/* Password eye icon */
.th-password-icon { position:absolute; right:18px; top:70%; transform:translateY(-50%);
  color:var(--saffron); cursor:pointer; font-size:1rem; z-index:3; }
.th-password-icon:hover { color:var(--gold); }

/* Password strength */
#popover-password { background:#fffdf6; border:1px solid rgba(212,175,55,.4);
  border-radius:12px; padding:1rem 1.2rem; font-size:.8rem; color:rgba(128,0,32,.8); }
#popover-password .progress { background:rgba(212,175,55,.18); border-radius:50px; height:7px; }
#password-strength { background:linear-gradient(90deg,var(--saffron),var(--gold)) !important; }
#popover-password li i.text-success, #popover-password li .text-success { color:var(--saffron) !important; }

/* Submit button */
.checkUserLoginRegisterBtn { background:var(--color-2);
  color:#fff !important; border:0 !important; border-radius:50px !important;
  padding:.85rem 2.8rem !important; font-weight:700 !important; letter-spacing:.14em !important;
  text-transform:uppercase !important; font-size:.8rem !important; line-height:1.4 !important;
  box-shadow:0 14px 30px -12px rgba(212,175,55,.6); transition:.35s !important; }
.checkUserLoginRegisterBtn:hover { transform:translateY(-2px); filter:brightness(1.08); }

/* Forgot link */
.forgot-password-link a { color:var(--saffron) !important; font-size:.88rem;
  font-weight:600; text-decoration:none; border-bottom:1px solid rgba(255,153,51,.4);
  padding-bottom:1px; }
.forgot-password-link a:hover { color:var(--gold); }

/* Required fields hint */
#loginSection + .col-12 .th-form-wrap label,
.th-form-wrap.text-center label { color:rgba(128,0,32,.65); font-size:18px;
  font-weight:500; letter-spacing:.04em; }

/* Checkbox */
#informed { accent-color:var(--saffron); }

/* reCaptcha label */
.login-recaptcha.error, label.error { color:#b3261e; font-size:.78rem; display:block; margin-top:.35rem; }

/* ═══════════ FORGOT PASSWORD MODAL ═══════════ */
#forgotPasswordModalPopup .modal-dialog { max-width:460px; }
.th-auth-popup { background:#fff; border:1px solid rgba(212,175,55,.55);
  outline:1px solid rgba(212,175,55,.28); outline-offset:7px; border-radius:22px;
  overflow:visible; position:relative; padding:2.4rem 2rem;
  box-shadow:0 30px 80px -25px rgba(74,0,18,.5); }
.th-auth-head h4 { font-family:var(--font-display); color:var(--maroon); font-size:1.6rem; }
.th-auth-head p { color:rgba(128,0,32,.7); font-size:.88rem; }
#forgotPasswordModalPopup .close-btn { position:absolute; top:-18px; right:-18px;
  width:42px; height:42px; border-radius:50%; background:var(--maroon); color:#fff;
  border:3px solid #fff; box-shadow:0 8px 20px -6px rgba(74,0,18,.5);
  display:grid; place-items:center; font-size:1rem; transition:.3s; }
#forgotPasswordModalPopup .close-btn:hover { background:var(--saffron); transform:rotate(90deg); }
#forgotPasswordModalPopup .hr-btn.btn-main {
  background:linear-gradient(90deg,var(--saffron),var(--gold)) !important;
  color:#fff !important; border:0 !important; border-radius:50px !important;
  padding:.7rem 2rem !important; font-weight:700 !important; letter-spacing:.1em;
  text-transform:uppercase; font-size:.78rem; }
#forgotPasswordModalPopup a[data-bs-dismiss] { color:var(--saffron); font-weight:600;
  font-size:.88rem; text-decoration:none; }

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width:991px){
  .login-wrap { padding:4rem 0 3rem; }
  .login-left { border-radius:24px 24px 0 0; min-height:260px; padding:2rem 1.6rem; }
  .login-card { border-radius:0 0 24px 24px; border-left:1px solid rgba(212,175,55,.35);
    padding:2rem 1.5rem; }
  .login-left h2 { font-size:1.5rem; }
  .login-left p { display:none; }
  .login-contact-mini { flex-direction:row; flex-wrap:wrap; gap:1rem; }
}
@media (max-width:575px){
  .login-wrap { padding:2rem 0; }
  .login-left { min-height:180px; padding:1.4rem 1.2rem; }
  .login-left .om-large { font-size:2.2rem; }
  .login-card { padding:1.6rem 1.2rem; }
  .auth-head h3 { font-size:1.4rem; }
  .checkUserLoginRegisterBtn { width:100%; padding:.85rem 1rem !important; }
}