/* AmaziGrace recruitment brand layer. Loaded after the legacy RecruitFlow theme. */
:root {
  --rf-navy: #102f50;
  --rf-navy-2: #0a2744;
  --rf-amber: #0768c5;
  --rf-amber-ink: #fff;
  --rf-ink: #202a35;
  --rf-muted: #5d6874;
  --rf-line: #dfe5eb;
  --rf-bg: #f4f6f8;
  --rf-chip: #eaf2fa;
  --rf-radius: 10px;
  --rf-shadow: 0 12px 32px rgba(16, 47, 80, .12);
  --rf-focus: 0 0 0 3px rgba(7, 104, 197, .2);
}

html { scroll-behavior: smooth; }
body {
  background: #fff;
  color: var(--rf-ink);
  font-family: "Roboto", "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
}

.topbar.topbar-inverse {
  position: relative;
  z-index: 20;
  padding: 10px 0;
  background: #f3f3f3 !important;
  box-shadow: 0 1px 0 rgba(20, 34, 49, .1);
}
.topbar.topbar-inverse.topbar-expand-md { display: block; height: auto !important; min-height: 0 !important; }
.topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 56px;
}
.topbar-left { display: flex; align-items: center; flex: 0 0 auto; }
.topbar .topbar-brand img {
  display: block;
  width: auto;
  max-width: 190px;
  max-height: 54px;
  filter: none;
}
.topbar-right,
.topbar-right .d-inline-flex { display: flex; align-items: center; margin-left: 0 !important; }
.language-drop,
.language-drop .dropdown { margin-left: 0 !important; }
.rf-site-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  gap: clamp(10px, 1.7vw, 25px);
}
.rf-site-links a {
  color: #242a31;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}
.rf-site-links a:hover,
.rf-site-links a[aria-current="page"] { color: #0768c5; }
.topbar .btn-primary,
.topbar .btn-default,
.topbar .btn-danger {
  background: transparent !important;
  border: 1px solid #0768c5 !important;
  border-radius: 5px !important;
  color: #0768c5 !important;
  font-weight: 700;
}
.topbar .btn-primary:hover,
.topbar .btn-danger:hover { background: #0768c5 !important; color: #fff !important; }

header.bg-img-shape .header.inner-header,
.header.inner-header,
.header {
  min-height: 350px !important;
  padding: 78px 24px !important;
  background-color: #0a2949 !important;
  background-image: linear-gradient(105deg, rgba(3, 33, 58, .76), rgba(5, 60, 95, .48)), url("https://amazigracemanpower.com/wp-content/uploads/2024/03/1-1.png") !important;
  background-size: cover !important;
  background-position: center 42% !important;
}
.header > .container,
.header.inner-header > .container { max-width: 1180px; }
.header h1,
.header h2,
.header h3,
.header h4 { color: #fff !important; text-wrap: balance; }
.header h1 { font-size: clamp(2rem, 4vw, 3.4rem) !important; line-height: 1.12 !important; font-weight: 700 !important; }
.header p { max-width: 760px; margin-inline: auto; color: #e7f1fa !important; font-size: clamp(1rem, 1.7vw, 1.2rem); }
.header .text-white a:hover { color: #c9e4ff !important; }

.main-content { min-height: 48vh; }
.main-content .section { padding: clamp(36px, 5vw, 68px) 0 !important; }
.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4 { color: var(--rf-ink); font-weight: 700; letter-spacing: -.02em; }
.main-content h2:after { background: #0768c5 !important; }
.main-content .bg-white,
.main-content .card,
.main-content .sidebar {
  border-radius: var(--rf-radius);
  box-shadow: 0 4px 18px rgba(16, 47, 80, .06);
}
.main-content .bg-white.p-15 { padding: clamp(20px, 3vw, 34px) !important; }
.job-opening-card .card-bordered { border-left-color: #0768c5 !important; }
.job-opening-card:hover .card-bordered { border-color: #0768c5 !important; }
.job-opening-card .card-block:after { color: #0768c5; }
.rf-strip { border-block: 1px solid #e7ebef; background: #f3f5f7; }
.rf-trust-item { padding: 12px; }
.rf-trust i { color: #0768c5; }
.rf-steps-wrap { background: #102f50; }
.rf-steps .rf-step { padding: 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; }
.rf-steps .rf-step .n { color: #7dc0ff; }

.location-search {
  max-width: 980px;
  margin: 28px auto 0;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 7px !important;
  box-shadow: 0 10px 35px rgba(0,0,0,.16);
}
.location-search .location,
.location-search .designation { min-width: 0; }
.location-search #search,
.btn-primary,
.btn-success,
.theme-background.btn,
.btn.theme-background {
  border-color: #0768c5 !important;
  border-radius: 5px !important;
  background: #0768c5 !important;
  color: #fff !important;
  font-weight: 700;
}
.location-search #search:hover,
.btn-primary:hover,
.btn-success:hover,
.theme-background.btn:hover { background: #0558a7 !important; border-color: #0558a7 !important; }

.form-control,
select.form-control,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  min-height: 46px;
  border: 1px solid #cbd4dd !important;
  border-radius: 6px !important;
  background-color: #fff;
  color: #202a35;
  box-shadow: none;
}
textarea.form-control { min-height: 120px; }
.form-control:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: #0768c5 !important;
  outline: 0;
  box-shadow: var(--rf-focus) !important;
}
.form-control::placeholder { color: #59636d !important; opacity: 1; }
.select-file { max-width: 100%; padding: 10px; border: 1px dashed #aab5c0; border-radius: 6px; background: #f8fafc; }
label { color: #303a44; font-weight: 600; }
.rf-application-field-label { display: block; margin: 0 0 6px; }
.help-block,
.text-danger,
.invalid-feedback { color: #b42318 !important; }
.custom-control-input:focus ~ .custom-control-label::before,
input:focus-visible,
button:focus-visible,
a:focus-visible { outline: 3px solid rgba(8,124,232,.45); outline-offset: 2px; }
#createForm .btn-primary,
#createForm button[type="submit"],
#createForm .btn-success {
  min-height: 48px;
  padding: 12px 28px;
  background: #0768c5 !important;
  border-color: #0768c5 !important;
  color: #fff !important;
}
.modal-content { overflow: hidden; border: 1px solid var(--rf-line); border-radius: 12px; box-shadow: var(--rf-shadow); }
.modal-header { background: #f3f5f7; border-bottom: 1px solid var(--rf-line); }
.modal-title { color: var(--rf-ink); font-weight: 700; }
.modal-footer { border-top: 1px solid var(--rf-line); }
.site-footer { background: #102f50; color: #e6eef5; padding: 30px 0; }
.site-footer a,
.site-footer span,
.site-footer p { color: #e6eef5 !important; }
.site-footer a:hover { color: #fff !important; }

.rf-login-page {
  min-height: 100vh;
  padding: 32px 16px;
  background: linear-gradient(135deg, #eef3f7, #dce8f3) !important;
}
.rf-login-page .login-box { width: min(420px, 100%); }
.rf-login-page .login-logo { padding: 18px !important; border-radius: 12px 12px 0 0; background: #f3f3f3 !important; }
.rf-login-page .login-logo img { max-width: 190px; width: auto; height: auto; }
.rf-login-page .card { border: 1px solid var(--rf-line); border-radius: 0 0 12px 12px; box-shadow: var(--rf-shadow); }

@media (max-width: 991px) {
  .topbar.topbar-inverse.topbar-expand-md { position: relative !important; }
  .topbar .container { height: auto !important; min-height: 0 !important; flex-wrap: wrap !important; gap: 10px 16px; }
  .rf-site-links { position: relative; z-index: 2; background: #f3f3f3; justify-content: flex-start; order: 3; flex: 1 0 100%; width: 100%; overflow-x: auto; padding: 10px 0 12px; }
  .rf-site-links a { font-size: 13px; }
  .topbar .d-none.d-xl-block { display: flex !important; }
  .header .hidden-sm-down { display: none !important; }
  .header .hidden-sm-up { display: block !important; }
  .header.inner-header { min-height: 300px !important; padding: 56px 20px !important; }
}
@media (max-width: 767px) {
  .topbar .container { align-items: center; }
  .topbar .topbar-toggler { display: none !important; }
  .topbar .topbar-brand img { max-width: 150px; max-height: 46px; }
  .rf-site-links { gap: 16px; }
  .rf-site-links { flex-wrap: wrap; overflow: visible; }
  .header.inner-header { min-height: 270px !important; padding: 44px 16px !important; }
  .location-search { display: grid !important; grid-template-columns: 1fr; gap: 0; padding: 8px; }
  .location-search .location,
  .location-search .designation { width: 100%; border-right: 0 !important; border-bottom: 1px solid var(--rf-line); }
  .location-search #search { width: 100%; min-height: 46px; margin-top: 8px; }
  .main-content .section { padding: 34px 0 !important; }
  #createForm .mt-50 { margin-top: 16px !important; }
  #createForm .py-30 { padding-top: 18px !important; padding-bottom: 18px !important; }
  #createForm .form-control { font-size: 16px; }
  #createForm .form-group { margin-bottom: 18px; }
  .modal-dialog { margin: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
