/* ===== Watbiz Auth Redesign — wb-auth.css =====
   Modern split-screen auth (login/register).
   Overrides existing classes from assets/auth/css/style.css.
*/
:root {
  --wba-bg:        #0f172a;
  --wba-surface:   #ffffff;
  --wba-surface-2: #f8fafc;
  --wba-border:    #e2e8f0;
  --wba-text:      #0f172a;
  --wba-text-2:    #475569;
  --wba-text-3:    #94a3b8;
  --wba-primary:   #0d9488;
  --wba-primary-2: #0f766e;
  --wba-primary-l: rgba(13,148,136,.10);
  --wba-danger:    #ef4444;
  --wba-radius:    14px;
  --wba-radius-sm: 9px;
}

html, body { height: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif !important;
  background: var(--wba-surface-2) !important;
  color: var(--wba-text);
  margin: 0;
}

/* === Page container === */
.login-page-container {
  min-height: 100vh !important;
  height: auto !important;
  background: linear-gradient(135deg, #f1f5f9 0%, #e0f2f1 100%) !important;
  display: flex !important; align-items: center !important;
  overflow: visible !important;
  padding: 24px 0;
}
.login-page-container > .container-fluid {
  max-width: 1240px; margin: 0 auto;
  padding: 0 24px !important;
}
.login-page-container .row {
  background: var(--wba-surface);
  border-radius: 22px;
  box-shadow: 0 25px 50px -12px rgba(15,23,42,.18), 0 8px 16px -4px rgba(15,23,42,.06);
  overflow: hidden !important;
  min-height: 640px;
  border: 1px solid rgba(255,255,255,.6);
}

/* Rebalance columns: form gets a touch more room than default col-xl-5 */
@media (min-width: 1200px) {
  .login-page-container .row > .col-xl-5 { flex: 0 0 auto; width: 50% !important; max-width: 50% !important; }
  .login-page-container .row > .col-xl-7 { flex: 0 0 auto; width: 50% !important; max-width: 50% !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .login-page-container .row > .col-lg-6 { flex: 0 0 auto; width: 50% !important; max-width: 50% !important; }
}

/* === Left: form panel === */
.login-left-section {
  background: var(--wba-surface) !important;
  padding: 56px 64px !important;
  min-height: 640px;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: stretch !important;
}
.login-left-section::before { display: none !important; content: none !important; }
.responsive-padding { padding: 56px 64px !important; }
.login-left-section > .form-container,
.form-container {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
}
.form-container .site-logo {
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #0d9488 0%, #134e4a 100%);
  padding: 10px 16px;
  border-radius: 12px;
  box-shadow: 0 6px 14px -4px rgba(13,148,136,.45);
  margin-bottom: 4px;
}
.form-container .site-logo img {
  max-height: 36px; width: auto;
  display: block;
  filter: brightness(0) invert(1);
  margin: 0 !important;
}
.form-container .mb-5 { margin-bottom: 24px !important; }
.login-page-container .form-container h4,
.form-container h4 {
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: var(--wba-text) !important;
  margin: 12px 0 4px !important;
  letter-spacing: -0.01em;
}
.login-page-container .form-container p { color: var(--wba-text-2) !important; }
.login-page-container .form-container .form-label { color: var(--wba-text-2) !important; }
.form-container h4 + .sub,
.form-container h4 ~ p { color: var(--wba-text-3); font-size: .92rem; margin: 0; }
.form-container .site--title { color: var(--wba-primary); }

.form-container .form-label {
  font-size: .82rem; font-weight: 600;
  color: var(--wba-text-2);
  margin-bottom: 6px !important;
}

/* Input field with icon */
.form-container .input-field {
  position: relative;
  display: flex; align-items: stretch;
  border: 1.5px solid var(--wba-border);
  border-radius: var(--wba-radius-sm);
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
  overflow: hidden;
}
.form-container .input-field:focus-within {
  border-color: var(--wba-primary);
  box-shadow: 0 0 0 3px var(--wba-primary-l);
}
.form-container .input-field span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px;
  background: transparent !important;
  border: 0 !important;
  color: var(--wba-text-3);
  font-size: 1.2rem;
}
.form-container .input-field:focus-within span { color: var(--wba-primary); }
.form-container .input-field input {
  flex: 1; min-width: 0;
  height: 54px;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  padding: 12px 16px 12px 0 !important;
  font-size: 1rem !important;
  color: var(--wba-text) !important;
}
.form-container .input-field input::placeholder { color: var(--wba-text-3); opacity: .9; }
.form-container .my-3 { margin-top: 14px !important; margin-bottom: 14px !important; }
.form-container .mb-4 { margin-bottom: 14px !important; }

/* Register: two-column row for Email + Phone on wider screens */
@media screen and (max-width: 1190px) and (min-width: 768px) {
  .form-container { width: 100% !important; }
}
@media screen and (max-width: 991px) {
  .form-container { width: 100% !important; }
}

/* Register: two-column row for Email + Phone on wider screens */
@media (min-width: 576px) {
  .form-container form .wba-row-2 {
    display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  }
  .form-container form .wba-row-2 > .mb-4 { margin-bottom: 0 !important; }
}

/* Forgot password link */
.form-container a {
  color: var(--wba-primary);
  font-size: .85rem; font-weight: 600;
  text-decoration: none;
}
.form-container a:hover { color: var(--wba-primary-2); text-decoration: underline; }

/* Buttons */
.form-container .btn {
  border: 0 !important;
  border-radius: var(--wba-radius-sm) !important;
  padding: 14px 18px !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  height: 54px;
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px;
  transition: all .15s ease;
  cursor: pointer;
}
.form-container .btn--primary {
  background: var(--wba-primary) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px -2px rgba(13,148,136,.35);
}
.form-container .btn--primary:hover {
  background: var(--wba-primary-2) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px -2px rgba(13,148,136,.45);
}
.form-container .btn--danger {
  background: #fff !important;
  color: var(--wba-text-2) !important;
  border: 1.5px solid var(--wba-border) !important;
  box-shadow: none;
}
.form-container .btn--danger:hover {
  background: var(--wba-surface-2) !important;
  border-color: var(--wba-text-3) !important;
  color: var(--wba-text) !important;
}
.form-container .google--login span i { color: #ea4335; }
.form-container .btn-md { padding: 14px 18px !important; font-size: 1rem !important; }

/* "or" divider */
.form-container .or {
  position: relative;
  margin: 24px 0 16px !important;
  text-align: center;
}
.form-container .or::before {
  content: ""; position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px; background: var(--wba-border);
}
.form-container .or p {
  position: relative; display: inline-block;
  background: var(--wba-surface);
  padding: 0 14px;
  color: var(--wba-text-3); font-size: .8rem;
  text-transform: uppercase; letter-spacing: .08em;
  font-weight: 600;
}

/* Footer link */
.form-container > p.text-center { color: var(--wba-text-2); font-size: .9rem; margin-top: 22px !important; }
.form-container > p.text-center a { font-weight: 700; }

/* === Right: hero panel === */
.login-page-container .row > [class*="col-"] { display: flex; }
.login-page-container .row > [class*="col-"] > .login-left-section,
.login-page-container .row > [class*="col-"] > .login-right-section {
  flex: 1 1 100% !important;
  width: 100% !important;
}
.login-right-section {
  position: relative;
  background: linear-gradient(135deg, var(--wba-primary) 0%, #134e4a 60%, #0f172a 100%) !important;
  color: #fff !important;
  padding: 56px 48px !important;
  min-height: 640px;
  height: 100% !important;
  width: 100%;
  overflow: hidden;
}
.login-right-section.bg-purple { background: linear-gradient(135deg, var(--wba-primary) 0%, #134e4a 60%, #0f172a 100%) !important; }

.login-right-section::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.12) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(13,148,136,.4) 0%, transparent 50%);
  pointer-events: none;
}
.login-right-section::after {
  content: ""; position: absolute;
  top: -120px; right: -120px;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.08) 0%, transparent 70%);
  pointer-events: none;
}
.login-right-section > div {
  position: relative; z-index: 2;
  max-width: 460px;
}
.login-right-section h1 {
  font-size: 2rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 0 18px !important;
  letter-spacing: -0.02em;
}
.login-right-section p {
  font-size: .98rem;
  line-height: 1.65;
  color: rgba(255,255,255,.85) !important;
  margin-bottom: 18px;
}
.login-right-section span {
  display: inline-block;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: .82rem;
  color: rgba(255,255,255,.95) !important;
  backdrop-filter: blur(6px);
}
.login-right-section .back-to-home {
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: var(--wba-radius-sm) !important;
  padding: 10px 16px !important;
  font-size: .85rem !important; font-weight: 600;
  height: auto !important;
  width: auto !important;
  display: inline-flex !important;
  backdrop-filter: blur(6px);
  transition: all .15s ease;
}
.login-right-section .back-to-home:hover {
  background: rgba(255,255,255,.22) !important;
  transform: translateX(-2px);
}
.login-right-section .user-login-bg { display: none !important; }

/* Feature list */
.wba-features { list-style: none; padding: 0; margin: 22px 0 28px; display: grid; gap: 12px; }
.wba-features li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: .9rem; color: rgba(255,255,255,.92);
}
.wba-features li i {
  flex: 0 0 22px; height: 22px; border-radius: 50%;
  background: rgba(255,255,255,.18);
  color: #5eead4;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .9rem; margin-top: 1px;
}

/* === Responsive === */
@media (max-width: 991.98px) {
  .login-page-container .row { min-height: auto; border-radius: 18px; }
  .login-right-section { display: none !important; }
  .login-left-section { padding: 28px 20px !important; min-height: auto; }
}

/* WhatsApp floating button polish */
.floating {
  width: 54px !important; height: 54px !important;
  border-radius: 16px !important;
  bottom: 24px !important; right: 24px !important;
  box-shadow: 0 10px 25px -5px rgba(37,211,102,.5) !important;
  transition: transform .15s ease;
}
.floating:hover { transform: translateY(-2px); }
.floating .fab-icon { margin-top: 12px !important; font-size: 26px !important; }

/* Validation error tweak */
.form-container .invalid-feedback,
.form-container .error,
.form-container small.text--danger {
  color: var(--wba-danger) !important;
  font-size: .78rem; margin-top: 5px; display: block;
}

/* === Center the auth form vertically + horizontally (v10) === */
.login-left-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 48px 56px !important;
}
.responsive-padding {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 48px 56px !important;
}
.login-left-section > .form-container,
.form-container {
  width: 100% !important;
  max-width: 420px !important;
  flex: 0 0 auto !important;
  margin: auto 0 !important;
}
.login-right-section > div {
  width: 100%;
  max-width: 480px;
}
@media (max-width: 575.98px) {
  .login-left-section, .responsive-padding { padding: 32px 20px !important; }
}

/* === v11: refine form width — let the column control width, not a 420px clamp === */
.login-left-section > .form-container,
.responsive-padding > .form-container,
.form-container {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  margin: 0 !important;
}
/* Inner stack: keep readable line length but not too narrow */
.login-left-section,
.responsive-padding {
  padding: 40px 56px !important;
}
@media (min-width: 1400px) {
  .login-left-section, .responsive-padding { padding: 48px 72px !important; }
}
@media (max-width: 575.98px) {
  .login-left-section, .responsive-padding { padding: 28px 18px !important; }
}
/* Two-column row equal width and gap */
.form-container form .wba-row-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}
.form-container form .wba-row-2 > .mb-4 { margin-bottom: 0 !important; }
@media (max-width: 480px) {
  .form-container form .wba-row-2 { grid-template-columns: 1fr !important; }
}

/* === v12: spacing between row-2 and next field === */
.form-container form .wba-row-2 { margin-bottom: 1rem !important; }
