/**
 * UI typography/spacing compress — VISUAL ONLY (MILD ~10%)
 * Safe for security audit: no JS, PHP, forms, CSRF, auth, or API changes.
 * Easy rollback: remove this file include from the layout.
 *
 * Intentionally does NOT change absolute error positioning / flex row
 * structure on profile forms (that caused overlap before).
 */

body,
html {
  font-size: 14px;
  line-height: 1.45;
}

/* ----- Large titles (~10% down) ----- */
.login-hedding {
  font-size: 50px !important;
  line-height: 1.2;
}

.primary-title {
  font-size: 44px !important;
}

.registration-title {
  font-size: 28px !important;
  padding-top: 16px !important;
  margin-bottom: 0 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.register-title {
  font-size: 30px !important;
}

.login-text {
  font-size: 18px !important;
  margin: 0 !important;
}

.sec-title {
  font-size: 20px !important;
}

.tab-title {
  font-size: 16px !important;
}

/* ----- Body / descriptive text ----- */
.login-text-desc,
.dontAc,
.forgot-text,
.para,
.notice-tag,
.register-list,
.breadcrumb-item,
.breadcrumb-item a,
.breadcrumb-item.active,
.footer-text,
.footerPolicy {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

.para {
  line-height: 1.55 !important;
  padding-top: 14px !important;
}

/* ----- Forms / labels / inputs ----- */
.form-label,
.register-label,
label,
.red-color,
.upload-photo-head,
.upload-recent {
  font-size: 16px !important;
}

.form-control,
.form-select,
.register-select,
.field-input,
.date-sec,
input.form-control,
select.form-control,
textarea.form-control,
input.field-input,
select.register-select {
  font-size: 14px !important;
}

.field-input,
.register-select,
.date-sec {
  height: 46px !important;
}

.basic-error-text,
.error-text,
.choose-file-text-red {
  font-size: 12px !important;
}

/* Validation error messages (jQuery validate / profile / auth) */
.error-div,
p.error-div,
.error-message,
label.error,
label.error-div,
.invalid-feedback,
.text-danger,
.alert-danger,
.alert-danger p,
.alert-danger li,
#form-message .alert-danger,
#email-otp-status,
#mobile-otp-status,
#aadhar-otp-status {
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}

.alert-danger {
  padding: 8px 12px !important;
}

/* Keep original absolute error placement working:
   do NOT reduce .register-form vertical margin below original */
.register-form {
  margin-bottom: 35px;
}

/* ----- Buttons ----- */
.btn,
.fill-btn,
.outline-btn,
.fill-btn-register,
.outline-btn-register,
.fill-btn a,
.outline-btn a,
.fill-btn-register a,
.outline-btn-register a,
.about-btn a,
button.fill-btn-register,
.otp-btn {
  font-size: 16px !important;
}

.about-btn {
  padding: 8px 56px !important;
}

.fill-btn,
.outline-btn {
  padding: 8px 42px !important;
}

/* ----- Mild spacing ----- */
.header {
  padding: 20px 0 !important;
}

.container-fluid {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.gray-sec {
  padding: 10px 0 !important;
}

/* Profile/registration page: reduce empty space above/below title only */
.registration-section .register-div {
  margin-top: 12px !important;
  margin-bottom: 40px !important;
}

.registration-section .breadcrumbNav {
  margin-top: 0 !important;
}

.about-becil {
  padding: 48px 0 56px !important;
}

.registration-sec {
  padding: 40px 0 !important;
}

.button-grp {
  margin-top: 48px !important;
}

/* =========================================================
   Profile Preview (/profile/preview) — full visual rework
   Scoped to .preview-page only (won't affect other forms).
   No logic / validation / submit behavior changes.
   ========================================================= */

.preview-page .gray-sec {
  padding: 10px 0 !important;
}

.preview-page .login-text {
  font-size: 18px !important;
  margin: 0 !important;
}

.preview-page-body {
  max-width: 1100px;
  margin: 0 auto 32px;
}

.preview-page .preview-card {
  margin-top: 14px !important;
  margin-bottom: 24px !important;
}

.preview-page .register-form-box {
  background: #fff !important;
  border: 1px solid #e6e6ef;
  border-radius: 12px !important;
  box-shadow: 0 4px 18px rgba(50, 32, 106, 0.06);
  padding: 18px 20px 22px !important;
}

.preview-page .register-form-box > table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.preview-page .register-form-box > table > tbody > tr > td {
  padding: 0 !important;
  border: 0 !important;
}

.preview-page .register-form-box table table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 0 !important;
  border: 1px solid #d9d9e6 !important;
  border-radius: 8px;
  overflow: hidden;
}

.preview-page .register-form-box table table td,
.preview-page .register-form-box table table th {
  font-size: 13px !important;
  line-height: 1.45 !important;
  padding: 8px 10px !important;
  vertical-align: middle !important;
  border: 1px solid #e0e0ea !important;
  color: #393939 !important;
  background: #fff;
}

/* Label cells (left column feel) */
.preview-page .register-form-box table table td:first-child {
  width: 32% !important;
  font-weight: 600 !important;
  color: #32206a !important;
  background: #f7f5fc !important;
}

.preview-page .register-form-box table table th {
  background: #faf9fe !important;
  text-align: center !important;
  font-weight: 600 !important;
  color: #32206a !important;
}

.preview-page .register-form-box table table img {
  max-width: 100px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  border-radius: 4px;
  border: 1px solid #ececf3;
  background: #fff;
  padding: 2px;
  margin: 4px 0;
}

.preview-page .register-form-box a {
  color: #32206a;
  font-weight: 500;
  text-decoration: underline;
  font-size: 13px;
}

.preview-page .button-grp {
  margin-top: 18px !important;
  margin-bottom: 4px !important;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.preview-page .outline-btn-register,
.preview-page .fill-btn-register {
  min-width: 120px !important;
  border-radius: 24px !important;
}

.preview-page .outline-btn-register a,
.preview-page .fill-btn-register,
.preview-page .fill-btn-register a {
  font-size: 14px !important;
  padding: 7px 18px !important;
  display: inline-block;
}

.preview-page .fill-btn-register {
  color: #fff !important;
}

/* Keep reCAPTCHA usable */
.g-recaptcha,
.recaptcha-container {
  transform: none;
}

@media (max-width: 768px) {
  .login-hedding {
    font-size: 34px !important;
  }

  .registration-title {
    font-size: 24px !important;
    padding-top: 12px !important;
  }

  .primary-title {
    font-size: 30px !important;
  }

  .container-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .preview-page-body {
    max-width: 100%;
  }

  .preview-page .register-form-box {
    padding: 12px !important;
  }

  .preview-page .register-form-box table table td,
  .preview-page .register-form-box table table th {
    font-size: 12px !important;
    padding: 6px 7px !important;
  }

  .preview-page .register-form-box table table td:first-child {
    width: 40% !important;
  }

  .preview-page .register-form-box table table img {
    max-width: 80px !important;
  }

  .preview-page .button-grp {
    justify-content: center;
    flex-wrap: wrap;
  }
}
