/* ============================================================
   NELSON SECURITY ACADEMY — Design Fix
   Scope: LOGIN, REGISTER, RESOURCES pages only
   Global: only header nav fix
   ============================================================ */

:root {
  --nsa-navy:       #1B3A6B;
  --nsa-navy-dark:  #0F1F3D;
  --nsa-navy-mid:   #254E8F;
  --nsa-navy-light: #3B6CB5;
  --nsa-gold:       #ED273E;
  --nsa-blue-light: #DBEAFE;
  --nsa-bg:         #F8FAFC;
  --nsa-bg-alt:     #EEF2F7;
  --nsa-white:      #FFFFFF;
  --nsa-text:       #1E293B;
  --nsa-text-mid:   #475569;
  --nsa-text-light: #94A3B8;
  --nsa-border:     #E2E8F0;
  --nsa-border-mid: #CBD5E1;
  --nsa-success:    #059669;
  --nsa-error:      #DC2626;
  --nsa-shadow:     0 4px 16px rgba(15,31,61,.10), 0 2px 6px rgba(15,31,61,.07);
  --nsa-shadow-lg:  0 16px 48px rgba(15,31,61,.14), 0 6px 20px rgba(15,31,61,.10);
  --nsa-radius:     10px;
  --nsa-radius-sm:  6px;
  --nsa-radius-lg:  16px;
  --nsa-transition: 0.22s ease;
  /* Override Tutor primary red */
  --tutor-color-primary:       #1B3A6B;
  --tutor-color-primary-rgb:   27, 58, 107;
  --tutor-color-primary-hover: #254E8F;
}

/* ============================================================
   HEADER — nav hover/active: swap Tutor red → NSA navy
   (Normal link color left as-is: Elementor sets #2A364A on white bg)
   ============================================================ */
.elementor-4021 .elementor-element-424f6c2 .elementor-nav-menu--main .elementor-item:hover,
.elementor-4021 .elementor-element-424f6c2 .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-4021 .elementor-element-314a8dd .elementor-nav-menu--main .elementor-item:hover,
.elementor-4021 .elementor-element-314a8dd .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--nsa-navy) !important;
  fill: var(--nsa-navy) !important;
}

/* ============================================================
   TUTOR LMS — replace red accent with navy (safe, non-global)
   ============================================================ */
:root {
  --tutor-color-primary:       #1B3A6B;
  --tutor-color-primary-rgb:   27, 58, 107;
  --tutor-color-primary-hover: #254E8F;
}
.tutor-btn-primary,
.tutor-course-enroll-btn,
.tutor-btn.tutor-btn-primary { background-color: var(--nsa-navy) !important; border-color: var(--nsa-navy) !important; }
.tutor-rating-stars .tutor-icon-star-full { color: var(--nsa-gold) !important; }

/* ============================================================
   PAGE: STUDENT LOGIN (ID 4673)
   ============================================================ */
body.page-id-4673 {
  background: linear-gradient(160deg, #0A1628 0%, #0F1F3D 40%, #1B3A6B 100%) !important;
  min-height: 100vh !important;
  font-family: "Poppins", sans-serif !important;
}
/* Remove duplicate page title widget on login page */
body.page-id-4673 .elementor-element-5a12693 { display: none !important; }
/* Hide the outer boxed container background */
body.page-id-4673 .elementor-element-5358285 { background: transparent !important; }
body.page-id-4673 .elementor-element-4a9d639 {
  background: transparent !important;
  box-shadow: none !important;
  max-width: 100% !important;
  padding: 40px 20px !important;
}
body.page-id-4673 .elementor-element-3d924c8 {
  padding: 0 !important;
}

/* Wrap ALL content inside a centered card */
body.page-id-4673 .elementor-element-5358285 > .e-con-inner,
body.page-id-4673 .elementor[data-elementor-id="4295"] .e-con-inner {
  max-width: 560px !important;
  margin: 0 auto !important;
}

/* Main content container — TRANSPARENT so dark body bg shows */
body.page-id-4673 .elementor-element-4a9d639 {
  background: transparent !important;
  box-shadow: none !important;
  padding: 20px !important;
  overflow: visible !important;
  margin: 0 !important;
  max-width: 100% !important;
  border-radius: 0 !important;
}

/* Card body — remove padding, the .nsa-login-box handles it */
body.page-id-4673 .elementor-element-3d924c8 {
  padding: 0 !important;
}
/* Let the login box handle ALL heading/text colors — remove dark override */
body.page-id-4673 .elementor-element-3d924c8 h1,
body.page-id-4673 .elementor-element-3d924c8 h2,
body.page-id-4673 .elementor-element-3d924c8 p {
  color: inherit !important;
  font-size: inherit !important;
}

/* Sign-In button link (Tutor modal trigger) */
body.page-id-4673 .tutor-open-login-modal {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: linear-gradient(135deg, #1B3A6B, #254E8F) !important;
  color: #fff !important;
  padding: 16px 24px !important;
  border-radius: var(--nsa-radius-sm) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.4px !important;
  text-decoration: none !important;
  margin: 8px 0 20px !important;
  box-shadow: 0 4px 16px rgba(27,58,107,.3) !important;
  transition: all var(--nsa-transition) !important;
  border: none !important;
}
body.page-id-4673 .tutor-open-login-modal:hover {
  background: linear-gradient(135deg, #254E8F, #3B6CB5) !important;
  box-shadow: 0 8px 24px rgba(27,58,107,.4) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* "Please Sign-In" wrapper text */
body.page-id-4673 .tutor-alert,
body.page-id-4673 [class*="tutor-alert"] {
  background: var(--nsa-bg-alt) !important;
  border-left: 4px solid var(--nsa-navy) !important;
  border-radius: var(--nsa-radius-sm) !important;
  padding: 14px 18px !important;
  color: var(--nsa-text) !important;
  font-size: 14px !important;
}

/* Buttons in content */
body.page-id-4673 .wp-block-button__link {
  background: var(--nsa-navy) !important;
  color: #fff !important;
  border-radius: var(--nsa-radius-sm) !important;
  padding: 12px 24px !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all var(--nsa-transition) !important;
  border: none !important;
}
body.page-id-4673 .wp-block-button__link:hover {
  background: var(--nsa-navy-mid) !important;
  transform: translateY(-1px) !important;
}

/* hr separators */
body.page-id-4673 hr { border-color: var(--nsa-border) !important; margin: 24px 0 !important; }

/* Tutor Login Form (when it renders inline) */
body.page-id-4673 #tutor-login-form,
body.page-id-4673 .tutor-login-form-wrap {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
body.page-id-4673 #tutor-login-form::before,
body.page-id-4673 .tutor-login-form-wrap::before { display: none !important; }
body.page-id-4673 #tutor-login-form label,
body.page-id-4673 .tutor-login-form-wrap label {
  font-weight: 600 !important; color: var(--nsa-text) !important; font-size: 14px !important;
}
body.page-id-4673 #tutor-login-form input[type="text"],
body.page-id-4673 #tutor-login-form input[type="email"],
body.page-id-4673 #tutor-login-form input[type="password"],
body.page-id-4673 .tutor-login-form-wrap input[type="text"],
body.page-id-4673 .tutor-login-form-wrap input[type="email"],
body.page-id-4673 .tutor-login-form-wrap input[type="password"] {
  width: 100% !important; padding: 13px 16px !important;
  border: 1.5px solid var(--nsa-border-mid) !important;
  border-radius: var(--nsa-radius-sm) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important; color: var(--nsa-text) !important;
  background: var(--nsa-bg) !important; box-sizing: border-box !important;
  transition: border-color var(--nsa-transition) !important;
}
body.page-id-4673 #tutor-login-form input:focus,
body.page-id-4673 .tutor-login-form-wrap input:focus {
  border-color: var(--nsa-navy) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(27,58,107,.12) !important; background: #fff !important;
}
body.page-id-4673 #tutor-login-form input[type="submit"],
body.page-id-4673 .tutor-login-form-wrap input[type="submit"] {
  width: 100% !important;
  background: linear-gradient(135deg, var(--nsa-navy), var(--nsa-navy-mid)) !important;
  color: #fff !important; padding: 15px !important;
  font-size: 16px !important; font-weight: 700 !important;
  border-radius: var(--nsa-radius-sm) !important;
  border: none !important; cursor: pointer !important;
  font-family: "Poppins", sans-serif !important;
}

/* Tutor Modal Login Form */
.tutor-login-modal .tutor-modal-body,
.tutor-login-modal-wrap {
  border-radius: var(--nsa-radius-lg) !important;
  overflow: hidden !important;
}
.tutor-login-modal .tutor-modal-header {
  background: linear-gradient(135deg, #0F1F3D, #1B3A6B) !important;
  border-bottom: 3px solid var(--nsa-gold) !important;
}
.tutor-login-modal .tutor-modal-title { color: #fff !important; }
.tutor-login-modal input[type="text"],
.tutor-login-modal input[type="email"],
.tutor-login-modal input[type="password"] {
  border: 1.5px solid var(--nsa-border-mid) !important;
  border-radius: var(--nsa-radius-sm) !important;
  padding: 12px 14px !important;
  font-family: "Poppins", sans-serif !important;
  width: 100% !important; box-sizing: border-box !important;
}
.tutor-login-modal input[type="submit"],
.tutor-login-modal .tutor-btn-primary {
  background: linear-gradient(135deg, #1B3A6B, #254E8F) !important;
  color: #fff !important; border: none !important;
  border-radius: var(--nsa-radius-sm) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important; width: 100% !important;
  padding: 14px !important;
}

/* ============================================================
   PAGE: STUDENT REGISTRATION (ID 20) — Gravity Forms
   ============================================================ */
body.page-id-20 .gform_wrapper,
body.page-id-20 .nelson-registration-form_wrapper {
  max-width: 760px !important;
  margin: 40px auto !important;
  background: #fff !important;
  border-radius: var(--nsa-radius-lg) !important;
  box-shadow: var(--nsa-shadow) !important;
  overflow: hidden !important;
  border: 1px solid var(--nsa-border) !important;
  padding: 0 !important;
}
body.page-id-20 .gform_heading {
  background: linear-gradient(135deg, #0F1F3D, #1B3A6B) !important;
  padding: 32px 36px !important;
  border-bottom: 3px solid var(--nsa-gold) !important;
}
body.page-id-20 .gform_title { color: #fff !important; font-size: 22px !important; margin: 0 0 6px !important; }
body.page-id-20 .gform_description { color: rgba(255,255,255,.8) !important; font-size: 14px !important; margin: 0 !important; }
body.page-id-20 .gform_body { padding: 32px 36px !important; }
body.page-id-20 .gform_footer { padding: 8px 36px 36px !important; }

/* Section headers */
body.page-id-20 .gsection_title {
  color: #0F1F3D !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 9px 14px !important;
  background: var(--nsa-bg-alt) !important;
  border-left: 4px solid var(--nsa-gold) !important;
  border-radius: 0 var(--nsa-radius-sm) var(--nsa-radius-sm) 0 !important;
  margin-bottom: 18px !important;
}
body.page-id-20 .gsection_description {
  color: var(--nsa-text-mid) !important; font-size: 13px !important;
  margin-top: -10px !important; margin-bottom: 16px !important;
}

/* Labels */
body.page-id-20 .gfield_label, body.page-id-20 .gform-field-label {
  font-weight: 600 !important; color: #1E293B !important;
  font-size: 13.5px !important; margin-bottom: 5px !important;
}
body.page-id-20 .gfield_required { color: var(--nsa-error) !important; }
body.page-id-20 .gfield_description { color: var(--nsa-text-light) !important; font-size: 12px !important; }

/* All inputs */
body.page-id-20 .gfield input[type="text"],
body.page-id-20 .gfield input[type="email"],
body.page-id-20 .gfield input[type="tel"],
body.page-id-20 .gfield input[type="number"],
body.page-id-20 .gfield select,
body.page-id-20 .gfield textarea {
  border: 1.5px solid var(--nsa-border-mid) !important;
  border-radius: var(--nsa-radius-sm) !important;
  padding: 11px 14px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  color: #1E293B !important;
  background: var(--nsa-bg) !important;
  transition: all var(--nsa-transition) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.page-id-20 .gfield input:focus,
body.page-id-20 .gfield select:focus,
body.page-id-20 .gfield textarea:focus {
  border-color: var(--nsa-navy) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(27,58,107,.1) !important;
  background: #fff !important;
}

/* Select dropdown custom arrow */
body.page-id-20 .gfield select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231B3A6B' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-color: var(--nsa-bg) !important;
  padding-right: 42px !important;
  cursor: pointer !important;
}

/* Date input */
body.page-id-20 .ginput_container_date input {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%231B3A6B' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-color: var(--nsa-bg) !important;
  padding-right: 40px !important;
}
body.page-id-20 .gforms_calendar_icon,
body.page-id-20 .datepicker_icon_button { display: none !important; }

/* File upload — modern drop zone */
body.page-id-20 .gfield--type-fileupload .ginput_container_fileupload {
  border: 2px dashed var(--nsa-border-mid) !important;
  border-radius: var(--nsa-radius) !important;
  background: var(--nsa-bg) !important;
  padding: 40px 24px 28px !important;
  text-align: center !important;
  transition: all var(--nsa-transition) !important;
  position: relative !important;
  cursor: pointer !important;
}
body.page-id-20 .gfield--type-fileupload .ginput_container_fileupload:hover {
  border-color: var(--nsa-navy) !important;
  background: var(--nsa-blue-light) !important;
}
body.page-id-20 .gfield--type-fileupload .ginput_container_fileupload input[type="file"] {
  position: absolute !important; inset: 0 !important;
  opacity: 0 !important; cursor: pointer !important;
  width: 100% !important; height: 100% !important; z-index: 2 !important;
}
body.page-id-20 .gfield--type-fileupload .ginput_container_fileupload::before {
  content: "" !important;
  display: block !important;
  width: 52px !important; height: 52px !important;
  margin: 0 auto 14px !important;
  background: var(--nsa-navy) !important;
  border-radius: 50% !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='16 16 12 12 8 16'/%3E%3Cline x1='12' y1='12' x2='12' y2='21'/%3E%3Cpath d='M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
body.page-id-20 .gfield--type-fileupload .ginput_container_fileupload::after {
  content: "Click to browse or drag your file here" !important;
  display: block !important;
  font-size: 13.5px !important;
  color: var(--nsa-text-mid) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 500 !important;
}
body.page-id-20 .gfield_upload_rules {
  margin-top: 10px !important; font-size: 12px !important;
  color: var(--nsa-text-light) !important; display: block !important;
  position: relative !important; z-index: 1 !important;
}

/* Checkboxes — card style */
body.page-id-20 .gfield--type-checkbox .ginput_container_checkbox {
  display: flex !important; flex-direction: column !important; gap: 10px !important;
}
body.page-id-20 .gfield--type-checkbox .gchoice {
  display: flex !important; align-items: flex-start !important; gap: 12px !important;
  background: var(--nsa-bg) !important;
  border: 1.5px solid var(--nsa-border) !important;
  border-radius: var(--nsa-radius-sm) !important;
  padding: 14px 16px !important;
  transition: all var(--nsa-transition) !important; cursor: pointer !important;
}
body.page-id-20 .gfield--type-checkbox .gchoice:hover {
  border-color: var(--nsa-navy) !important;
  background: var(--nsa-blue-light) !important;
}
body.page-id-20 .gfield--type-checkbox .gchoice input[type="checkbox"] {
  width: 20px !important; height: 20px !important; min-width: 20px !important;
  margin-top: 2px !important; accent-color: var(--nsa-navy) !important;
  cursor: pointer !important; flex-shrink: 0 !important;
}
body.page-id-20 .gfield--type-checkbox .gchoice label {
  font-size: 13.5px !important; color: #1E293B !important;
  line-height: 1.55 !important; cursor: pointer !important;
  font-weight: 400 !important; flex: 1 !important;
}

/* Radio buttons — card style */
body.page-id-20 .gfield--type-radio .gfield_radio {
  display: flex !important; flex-direction: column !important; gap: 8px !important;
}
body.page-id-20 .gfield--type-radio .gchoice {
  display: flex !important; align-items: center !important; gap: 12px !important;
  padding: 12px 16px !important; background: var(--nsa-bg) !important;
  border: 1.5px solid var(--nsa-border) !important;
  border-radius: var(--nsa-radius-sm) !important;
  cursor: pointer !important; transition: all var(--nsa-transition) !important;
}
body.page-id-20 .gfield--type-radio .gchoice:hover { border-color: var(--nsa-navy) !important; }
body.page-id-20 .gfield--type-radio .gchoice input[type="radio"] {
  accent-color: var(--nsa-navy) !important; width: 18px !important; height: 18px !important; flex-shrink: 0 !important;
}
body.page-id-20 .gfield--type-radio .gchoice label {
  font-size: 14px !important; color: #1E293B !important; cursor: pointer !important; font-weight: 500 !important;
}

/* GF Submit */
body.page-id-20 .gform_footer .gform_button,
body.page-id-20 .gform_footer input[type="submit"] {
  background: linear-gradient(135deg, var(--nsa-navy), var(--nsa-navy-mid)) !important;
  color: #fff !important; padding: 16px 40px !important;
  font-size: 16px !important; font-weight: 700 !important;
  border-radius: var(--nsa-radius-sm) !important;
  width: 100% !important; cursor: pointer !important;
  border: none !important; letter-spacing: 0.4px !important;
  font-family: "Poppins", sans-serif !important;
  transition: all var(--nsa-transition) !important;
}
body.page-id-20 .gform_footer .gform_button:hover {
  background: linear-gradient(135deg, var(--nsa-navy-mid), var(--nsa-navy-light)) !important;
  box-shadow: 0 8px 24px rgba(27,58,107,.3) !important;
  transform: translateY(-1px) !important;
}
body.page-id-20 .validation_error {
  background: #FEF2F2 !important; border-left: 4px solid var(--nsa-error) !important;
  color: var(--nsa-error) !important; border-radius: var(--nsa-radius-sm) !important;
  padding: 12px 16px !important; border: none !important; font-size: 13px !important;
}

/* ============================================================
   LOGIN BOX CARD COMPONENT
   ============================================================ */
.nsa-login-box {
  max-width: 460px;
  margin: 0 auto;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.2);
  overflow: hidden;
  font-family: "Poppins", sans-serif;
}
.nsa-login-header {
  background: linear-gradient(135deg, #0F1F3D 0%, #1B3A6B 100%);
  padding: 36px 32px 28px;
  text-align: center;
  border-bottom: 3px solid #ED273E;
}
.nsa-login-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 60px !important;
  height: 60px !important;
  background: #ED273E !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  border-radius: 50% !important;
  margin-bottom: 14px !important;
  letter-spacing: 1px !important;
}
.nsa-login-header h2,
body.page-id-4673 .nsa-login-header h2 {
  color: #fff !important;
  font-size: 20px !important;
  margin: 0 0 6px !important;
  font-weight: 700 !important;
  text-align: center !important;
}
.nsa-login-header p,
body.page-id-4673 .nsa-login-header p {
  color: rgba(255,255,255,.75) !important;
  font-size: 13px !important;
  margin: 0 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  text-align: center !important;
}
.nsa-login-body {
  padding: 32px;
}
.nsa-login-welcome {
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  text-align: center !important;
  margin-bottom: 24px !important;
}
/* Big Sign-In button */
.nsa-signin-btn,
body.page-id-4673 .tutor-open-login-modal {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: linear-gradient(135deg, #1B3A6B, #254E8F) !important;
  color: #fff !important;
  padding: 16px 24px !important;
  border-radius: 8px !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.3px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(27,58,107,.35) !important;
  transition: all 0.22s ease !important;
  border: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
}
.nsa-signin-btn:hover,
body.page-id-4673 .tutor-open-login-modal:hover {
  background: linear-gradient(135deg, #254E8F, #3B6CB5) !important;
  box-shadow: 0 8px 28px rgba(27,58,107,.45) !important;
  transform: translateY(-2px) !important;
  color: #fff !important;
}
/* Divider */
.nsa-login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 24px 0 20px;
  color: #94A3B8;
  font-size: 12px;
}
.nsa-login-divider::before,
.nsa-login-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #E2E8F0;
}
/* Action buttons row */
.nsa-login-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 24px;
}
.nsa-btn-outline {
  display: block;
  text-align: center;
  padding: 11px 16px;
  border: 2px solid #1B3A6B;
  color: #1B3A6B !important;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none !important;
  transition: all 0.22s ease;
  background: transparent;
}
.nsa-btn-outline:hover {
  background: #1B3A6B !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.nsa-btn-ghost {
  display: block;
  text-align: center;
  padding: 11px 16px;
  border: 2px solid #E2E8F0;
  color: #475569 !important;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none !important;
  transition: all 0.22s ease;
  background: #F8FAFC;
}
.nsa-btn-ghost:hover {
  border-color: #ED273E !important;
  color: #ED273E !important;
  background: rgba(237,39,62,.06) !important;
}
/* Help accordion */
.nsa-login-help {
  border-top: 1px solid #E2E8F0;
  padding-top: 16px;
}
.nsa-login-help details summary {
  font-size: 13px;
  color: #475569;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
}
.nsa-login-help details summary::-webkit-details-marker { display: none; }
.nsa-login-help details summary::before {
  content: "+";
  width: 20px;
  height: 20px;
  background: #EEF2F7;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #1B3A6B;
  font-weight: 700;
  flex-shrink: 0;
}
.nsa-login-help details[open] summary::before { content: "−"; }
.nsa-login-help details ul {
  margin: 12px 0 0 28px;
  padding: 0;
  font-size: 13px;
  color: #475569;
  line-height: 1.8;
}
.nsa-login-help details ul a { color: #1B3A6B !important; font-weight: 600; }

/* Tutor login modal styles */
.tutor-login-modal .tutor-modal-body { border-radius: 16px !important; overflow: hidden !important; }
.tutor-login-modal .tutor-modal-header {
  background: linear-gradient(135deg, #0F1F3D, #1B3A6B) !important;
  border-bottom: 3px solid #ED273E !important;
}
.tutor-login-modal .tutor-modal-title { color: #fff !important; }
.tutor-login-modal input[type="text"],
.tutor-login-modal input[type="email"],
.tutor-login-modal input[type="password"] {
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  font-family: "Poppins", sans-serif !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.tutor-login-modal input[type="text"]:focus,
.tutor-login-modal input[type="email"]:focus,
.tutor-login-modal input[type="password"]:focus {
  border-color: #1B3A6B !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(27,58,107,.1) !important;
}
.tutor-login-modal .tutor-btn-primary,
.tutor-login-modal input[type="submit"] {
  background: linear-gradient(135deg, #1B3A6B, #254E8F) !important;
  color: #fff !important; border: none !important;
  border-radius: 6px !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important; width: 100% !important;
  padding: 14px !important; font-size: 15px !important;
}


/* ============================================================
   FORGOT PASSWORD & RESET PASSWORD PAGES (IDs 4708, 4709)
   ============================================================ */
body.page-id-4708,
body.page-id-4709 {
  background: linear-gradient(160deg, #0A1628 0%, #0F1F3D 40%, #1B3A6B 100%) !important;
  min-height: 100vh !important;
}

/* Make Elementor container transparent so dark gradient shows */
body.page-id-4708 .elementor-section,
body.page-id-4708 .elementor-container,
body.page-id-4708 [class*="elementor-element"] > .elementor-widget-container,
body.page-id-4709 .elementor-section,
body.page-id-4709 .elementor-container,
body.page-id-4709 [class*="elementor-element"] > .elementor-widget-container {
  background: transparent !important;
  box-shadow: none !important;
}

/* Lost password form inside the card */
.nsa-lostpass-form { display: flex; flex-direction: column; gap: 16px; }
.nsa-form-group { display: flex; flex-direction: column; gap: 6px; }
.nsa-label {
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.nsa-input {
  width: 100%;
  padding: 13px 14px;
  border: 1.5px solid #CBD5E1;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  color: #0F1F3D;
  background: #FAFBFC;
  box-sizing: border-box;
  transition: border-color .2s, box-shadow .2s;
}
.nsa-input:focus {
  border-color: #1B3A6B;
  outline: none;
  box-shadow: 0 0 0 3px rgba(27,58,107,.12);
  background: #fff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
  body.page-id-4673 .elementor-element-4a9d639 { padding: 20px 12px !important; }
  .nsa-login-box { border-radius: 12px; }
  .nsa-login-header { padding: 28px 24px 22px; }
  .nsa-login-body { padding: 24px 20px; }
  .nsa-login-actions { grid-template-columns: 1fr; }

  body.page-id-20 .gform_wrapper { margin: 16px !important; }
  body.page-id-20 .gform_body { padding: 24px 16px !important; }
  body.page-id-20 .gform_heading { padding: 24px 16px !important; }
  body.page-id-20 .gform_footer { padding: 0 16px 24px !important; }
  body.page-id-20 .gform_title { font-size: 18px !important; }
}
