/*
 * Candidate Portal Login Stylesheet
 */

@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");

/* Force hide page-level scrollbars and margins on Candidate Login Route */
body.path-candidate-login,
body.page-route-cf-cet-mgmt-login {
  display: block !important; /* Reset theme flex layout */
  overflow: hidden !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #f8fafc;
}

body.path-candidate-login main,
body.page-route-cf-cet-mgmt-login main {
  display: block !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Hide Drupal page chrome for candidate login */
body.path-candidate-login .layout-container,
body.page-route-cf-cet-mgmt-login .layout-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

body.path-candidate-login #header,
body.path-candidate-login .site-header,
body.path-candidate-login nav.navbar,
body.path-candidate-login .region-header,
body.path-candidate-login .region-sidebar-first,
body.path-candidate-login .region-sidebar-second,
body.page-route-cf-cet-mgmt-login #header,
body.page-route-cf-cet-mgmt-login .site-header,
body.page-route-cf-cet-mgmt-login nav.navbar,
body.page-route-cf-cet-mgmt-login .region-header,
body.page-route-cf-cet-mgmt-login .region-sidebar-first,
body.page-route-cf-cet-mgmt-login .region-sidebar-second {
  display: none !important;
}

/* Page Loader override for Candidate Login page to hide it completely */
body.path-candidate-login #page-loader,
body.page-route-cf-cet-mgmt-login #page-loader {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Page Title override for Candidate Login page to hide it completely */
body.path-candidate-login .section-page-title,
body.page-route-cf-cet-mgmt-login .section-page-title,
body.path-candidate-login h3.page-title,
body.page-route-cf-cet-mgmt-login h3.page-title,
body.path-candidate-login .block-page-title-block,
body.page-route-cf-cet-mgmt-login .block-page-title-block {
  display: none !important;
}

.candidate-portal-wrapper {
  display: flex;
  height: 100vh;
  width: 100%;
  font-family: "Plus Jakarta Sans", "Segoe UI", Roboto, sans-serif;
  background-color: transparent;
  margin: 0;
  padding: 12px;
  gap: 12px;
  box-sizing: border-box;
  overflow: hidden;
}

.candidate-portal-wrapper * {
  box-sizing: border-box;
}

/* LEFT PANE - college poster card */
.portal-split-left {
  flex: 1;
  background-color: #0a2a6e;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
}

.portal-left-img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
  border-radius: 16px;
}

/* RIGHT PANE - 38% */
.portal-split-right {
  flex: 0 0 410px;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  position: relative;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

.portal-support-bar {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  width: 100%;
  font-size: 12px;
  color: #64748b;
  margin-bottom: 20px;
}

.portal-support-bar span {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Wrapper to control width and layout of login form + separate note */
.login-portal-form-wrapper {
  width: 100%;
  max-width: 390px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: auto 0;
  animation: cardFadeIn 0.5s ease-out;
}

/* Login Card Container - white floating card matching mockup */
.login-card-container {
  width: 100%;
  background-color: #ffffff;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  box-shadow:
    0 10px 25px -5px rgba(0, 0, 0, 0.04),
    0 8px 10px -6px rgba(0, 0, 0, 0.04);
  padding: 20px;
}

/* Separate Important Note Container */
.important-note-container {
  width: 100%;
  background-color: #eff6ff; /* Light blue background matching mockup */
  border: 1px solid #bfdbfe; /* Light blue border */
  border-radius: 12px;
  padding: 18px 24px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.02);
}

.note-icon-box {
  color: #1d63ed; /* Vibrant blue info icon */
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  width: 24px;
  flex-shrink: 0;
}

.note-text-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

.note-text-box h4 {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: #1d63ed; /* Heading color matching mockup icon */
  font-family: "Outfit", sans-serif;
}

.note-text-box p {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #475569; /* Soft dark slate text */
  font-weight: 500;
}

@keyframes cardFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Centered Header matching mockup */
.login-card-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
  text-align: center;
  gap: 12px;
}

/* Circular user silhouette icon box - matching mockup */
.avatar-icon-box {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #1d63ed;
  color: #1d63ed;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  flex-shrink: 0;
  box-shadow: none;
  position: relative;
  margin-bottom: 8px;
}

/* Clear hexagon border ring */
.avatar-icon-box::before {
  display: none !important;
}

.login-card-header-text {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.login-card-header h2 {
  font-family: "Outfit", sans-serif;
  margin: 0;
  font-size: 28px;
  font-weight: 800;
  color: #1a3a8f;
  letter-spacing: -0.3px;
}

/* Blue underline below title */
.login-card-header-text::after {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background-color: #1d63ed;
  margin-top: 8px;
  border-radius: 2px;
}

.login-card-header p {
  display: none !important; /* Hide secondary headers */
}

/* Drupal Forms Custom Styling inside card */
.login-card-body form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.login-card-body form .js-form-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

.login-card-body form label {
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
}

.login-card-body label.form-required::after {
  display: none !important;
}

/* Form Inputs with SVG Icons */
.login-card-body form input[type="text"],
.login-card-body form input[type="email"],
.login-card-body form select {
  width: 100%;
  padding: 12px 14px 12px 42px; /* Left padding for icons */
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  font-size: 14px;
  background-color: #ffffff;
  color: #0f172a;
  transition: all 0.2s ease;
  font-family: inherit;
  background-repeat: no-repeat;
  background-position: 14px center;
  background-size: 16px;
}

/* Specific SVG backgrounds for inputs - themed with royal blue icons */
.login-card-body form select.login-type-select {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="%231d63ed"><path d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z"/></svg>');
}

/* ID Badge icon for CET Roll Number */
.login-card-body form input[name="cet_app_no"] {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" fill="%231d63ed"><path d="M0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 72c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168zm112 16c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48zm-96 96c-17.7 0-32 14.3-32 32v16c0 8.8 7.2 16 16 16H208c8.8 0 16-7.2 16-16V312c0-17.7-14.3-32-32-32H144zm208-80c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H352zm0 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H352z"/></svg>');
}

/* Phone icon for Mobile Number */
.login-card-body form input[name="mobile_email"] {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="%231d63ed"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"/></svg>');
}

/* Lock/Captcha/Shield check backgrounds */
.login-card-body form input[name="captcha_input"] {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="%231d63ed"><path d="M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192v-48C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"/></svg>');
}

.login-card-body form input[name="otp_input"] {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="%231d63ed"><path d="M256 0c4.6 0 9.2 1 13.4 2.9L452.9 80.1c22 9.6 35.1 31.6 35.1 55.4c0 196.2-167.2 334.9-218.4 371.8c-8.1 5.8-19.1 5.8-27.2 0C190.8 470.4 23.6 331.7 23.6 135.4c0-23.8 13.1-45.8 35.1-55.4L242.6 2.9C246.8 1 251.4 0 256 0zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z"/></svg>');
}

.login-card-body form input[type="text"]:focus,
.login-card-body form input[type="email"]:focus,
.login-card-body form select:focus {
  outline: none;
  border-color: #1d63ed;
  box-shadow: 0 0 0 3px rgba(29, 99, 237, 0.12);
}

/* Contrib CAPTCHA Module Styling Override */
.login-card-body form .captcha {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 18px;
  background-color: #f8fafc;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Hide descriptions, titles and instructions that clutter the clean design */
.login-card-body form .captcha .description,
.login-card-body form .captcha .captcha__title,
.login-card-body form .captcha legend,
.login-card-body form .captcha h4 {
  display: none !important;
}

/* Center and style the captcha image and reload links */
.login-card-body form .captcha .captcha__image {
  border-radius: 6px;
  border: 1px solid #cbd5e1;
  background-color: #ffffff;
  max-width: 100%;
  height: auto;
  margin-bottom: 4px;
}

/* Style the captcha input label and text field to match our design system */
.login-card-body form .captcha .form-item-captcha-response {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}

.login-card-body form .captcha .form-item-captcha-response label {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}

.login-card-body form .captcha .form-item-captcha-response input[type="text"] {
  width: 100%;
  padding: 12px 14px 12px 42px; /* icon padding */
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  font-size: 14px;
  background-color: #ffffff;
  color: #0f172a;
  transition: all 0.2s ease;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="%231d63ed"><path d="M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192v-48C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H80z"/></svg>');
  background-repeat: no-repeat;
  background-position: 14px center;
  background-size: 16px;
}

.login-card-body
  form
  .captcha
  .form-item-captcha-response
  input[type="text"]:focus {
  outline: none;
  border-color: #1d63ed;
  box-shadow: 0 0 0 3px rgba(29, 99, 237, 0.12);
}

.login-card-body form .captcha .captcha-refresh-link,
.login-card-body form .captcha .reload-link {
  color: #1d63ed;
  font-size: 12px;
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}

.login-card-body form .captcha .captcha-refresh-link:hover,
.login-card-body form .captcha .reload-link:hover {
  text-decoration: underline;
  color: #1755d9;
}

/* Submit Buttons styling with paper plane icon */
.login-card-body input.login-submit-btn,
.login-card-body input.otp-submit-btn,
.login-card-body input[type="submit"] {
  width: 100%;
  padding: 14px 42px 14px 14px !important;
  border-radius: 8px !important;
  border: none !important;
  background-color: #0b3c8f !important; /* Premium deep blue */
  color: #ffffff !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  margin-top: 10px !important;
  box-shadow: 0 4px 12px rgba(11, 60, 143, 0.15) !important;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="%23ffffff"><path d="M498.1 5.6c-5.1-3.5-11.8-3.7-17.1-.6L12.9 283.7c-5.4 3.1-8.7 8.8-8.8 15.1s3.1 11.9 8.4 15.1L183.3 400v80c0 9 5.3 17.1 13.5 20.8s17.9 2.1 24.3-4.2L277 441l157 98c5.4 3.4 12.1 3.2 17.3-.4s8-9.8 7.3-16.1L454.4 37.1c-.8-6.9-5.4-12.7-12.2-14.7L498.1 5.6zM192 363.3L387.9 193 234.6 388.9 192 363.3z"/></svg>') !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 18px) center !important;
  background-size: 16px !important;
}

.login-card-body input.login-submit-btn:hover,
.login-card-body input.otp-submit-btn:hover,
.login-card-body input[type="submit"]:hover {
  background-color: #092c6b !important;
  box-shadow: 0 8px 20px rgba(11, 60, 143, 0.3) !important;
}

.login-card-body input[type="submit"]:active {
  transform: translateY(1px);
}

/* STEP 2 - OTP Instructions */
.otp-instruction-text {
  display: none !important; /* Hide redundant OTP instruction text */
}

/* Style for disabled fields in Step 2 */
.login-card-body form input.form-disabled {
  background-color: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #64748b !important;
  cursor: not-allowed !important;
  opacity: 0.8 !important;
}

.otp-actions-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.otp-back-btn {
  background-color: transparent !important;
  background: transparent !important;
  color: #64748b !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: none !important;
  text-align: center !important;
  display: inline-block !important;
  padding: 12px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  margin-top: 5px !important;
  background-image: none !important; /* Remove paper plane icon for back button */
}

.otp-back-btn:hover {
  background-color: #f1f5f9 !important;
  color: #334155 !important;
}

/* ── Need Help with Digital Admission Container ───────────────────────── */
.admission-help-container {
  width: 100%;
  background-color: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  box-shadow: none;
  margin-top: 0;
}

.login-card-divider {
  height: 1px;
  background-color: #e2e8f0;
  margin: 16px 0;
  width: 100%;
}

.help-icon-box {
  color: #1d63ed;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  width: 28px;
  flex-shrink: 0;
}

.help-text-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}

.help-text-box h4 {
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
  color: #0f172a;
  font-family: "Outfit", sans-serif;
}

.help-text-box h5 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: #1d63ed;
  font-family: "Outfit", sans-serif;
}

.help-text-box p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #64748b;
  font-weight: 500;
}

/* Notes Footer */
.login-card-footer {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #e2e8f0;
}

.notes-info-text {
  font-size: 11px;
  color: #64748b;
  line-height: 1.4;
  margin: 0;
  display: flex;
  gap: 8px;
}

.notes-info-text i {
  color: #0284c7;
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* RIGHT PANE FOOTER */
.portal-right-footer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #94a3b8;
  margin-top: 20px;
}

.footer-links {
  display: flex;
  gap: 15px;
}

.footer-links a {
  color: #94a3b8;
  text-decoration: none;
}

.footer-links a:hover {
  color: #64748b;
}

/* RESPONSIVE DESIGN */
@media (max-width: 960px) {
  body.path-candidate-login,
  body.page-route-cf-cet-mgmt-login {
    display: block !important;
    overflow: auto !important;
    height: auto !important;
    max-height: none !important;
  }

  body.path-candidate-login main,
  body.page-route-cf-cet-mgmt-login main {
    display: block !important;
    overflow: auto !important;
    height: auto !important;
    max-height: none !important;
  }

  .candidate-portal-wrapper {
    flex-direction: column !important;
    overflow: visible !important;
    height: auto !important;
  }

  .portal-split-left {
    display: flex !important;
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    margin-bottom: 16px !important;
    border-radius: 12px !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  .portal-left-img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 12px !important;
  }

  .portal-split-right {
    padding: 0 !important;
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    min-height: 0 !important;
  }

  .login-portal-form-wrapper {
    max-width: 100%;
    margin: 0 auto;
    width: 100%;
    gap: 16px;
  }

  .login-card-container {
    padding: 20px !important;
    width: 100%;
  }

  .important-note-container {
    padding: 14px 18px;
  }

  .portal-right-footer {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 40px;
  }
}

/* ── Dynamic College Branding Login Styles ───────────────────────────────── */
.college-login-logo-box {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  flex-shrink: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.college-login-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.login-card-header-text .college-logo-desc {
  font-size: 11px;
  color: #64748b;
  margin: 2px 0 6px 0;
  font-weight: 500;
  line-height: 1.3;
}

.login-card-header-text .login-sub-text {
  font-size: 12px;
  font-weight: 700;
  color: #1d63ed;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 4px;
}

/* ── Page Outer Container — full viewport overlay ────────────────────── */
.candidate-portal-page-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  z-index: 9999;
  background: #f3f7fc;
}

/* Override portal wrapper height to fit flexbox layout */
.candidate-portal-page-container .candidate-portal-wrapper {
  flex: 1;
  height: auto !important;
  min-height: 0;
  overflow: hidden;
}

/* ── Bottom Premium Footer ────────────────────────────────────────────── */
.portal-branding-footer {
  background: #0b3c8f;
  width: 100%;
  height: 80px;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
  z-index: 10;
  box-sizing: border-box;
}

.footer-inner-container {
  width: 100%;
  max-width: 1400px;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}

.footer-col-item {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  height: 40px;
  box-sizing: border-box;
}

.footer-col-item.last-item {
  border-right: none;
}

/* Powered by and Logo styling */
.footer-col-item.logo-item {
  flex: 1.3;
  justify-content: flex-start;
  gap: 16px;
}

.powered-text {
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  font-weight: 500;
}

.footer-logo-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo-square-icon {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.25);
  width: 38px;
  height: 38px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 18px;
}

.logo-text-holder {
  display: flex;
  flex-direction: column;
}

.logo-main-text {
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  font-family: "Outfit", sans-serif;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

.logo-sub-text {
  color: rgba(255, 255, 255, 0.65);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
}

/* Feature Item styling */
.feature-icon-box {
  color: rgba(255, 255, 255, 0.85);
  font-size: 20px;
  width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-text-box {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.feature-title {
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
}

.feature-desc {
  color: rgba(255, 255, 255, 0.6);
  font-size: 10.5px;
  font-weight: 500;
  margin-top: 2px;
  line-height: 1.2;
}

/* Responsive adjustment for footer grid */
@media (max-width: 1024px) {
  .footer-inner-container {
    padding: 0 20px;
  }
}

@media (max-width: 960px) {
  body.path-candidate-login,
  body.page-route-cf-cet-mgmt-login {
    overflow: auto !important;
    height: auto !important;
    max-height: none !important;
  }
  body.path-candidate-login main,
  body.page-route-cf-cet-mgmt-login main {
    overflow: auto !important;
    height: auto !important;
    max-height: none !important;
  }
  .candidate-portal-page-container {
    position: relative !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .candidate-portal-page-container .candidate-portal-wrapper {
    flex: none !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: visible !important;
    padding: 12px;
    gap: 16px !important;
  }
  .portal-branding-footer {
    height: auto;
    padding: 24px 20px;
  }
  .footer-inner-container {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }
  .footer-col-item {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    width: 100%;
    justify-content: flex-start;
    height: auto;
    padding-bottom: 12px;
  }
  .footer-col-item.logo-item {
    padding-bottom: 16px;
    flex-direction: column;
    align-items: start;
  }
  .login-card-body input[type="submit"] {
    margin-left: 0;
  }
  .login-card-container {
    padding: 20px;
    width: 100%;
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  }
}

@media (max-width: 768px) {
  .login-card-container {
    max-width: 100% !important;
    margin: auto !important;
  }

  .page-route-cf-cet-mgmt-login .region-content {
    padding: unset !important;
  }
}
