/* Career Calling Jobs: polish layer over the WP Recruitment theme (Nov 2026).
   Keeps the brand (logo purple and navy, Montserrat, the page layouts) and fixes what read as dated or broken:
   overflow, the stuck page loader, cramped type, the expired-job wall on the home page, the silhouette cards,
   the packages table, the footer. Remove the <link> to this file to go back to the theme exactly as it was. */

:root {
  --cc-purple: #01216e;
  --cc-purple-deep: #001f6f;
  --cc-purple-soft: #eef1fa;
  --cc-purple-line: #d6def1;
  --cc-navy: #1d2a6b;
  --cc-ink: #1f1b2d;
  --cc-ink-2: #514b63;
  --cc-paper: #ffffff;
  --cc-mist: #f5f6fa;
  --cc-radius: 14px;
  --cc-shadow: 0 1px 2px rgba(31, 27, 45, .06), 0 8px 24px rgba(1, 26, 87, .08);
  --cc-shadow-hover: 0 2px 4px rgba(31, 27, 45, .08), 0 16px 40px rgba(1, 26, 87, .16);
  --cc-ease: cubic-bezier(.16, 1, .3, 1);
}

/* ---------- browser surfaces ---------- */
html, body { overflow-x: clip; }
::selection { background: var(--cc-purple); color: #fff; }
html { scrollbar-color: #a2afcf var(--cc-mist); accent-color: var(--cc-purple); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .btn:focus-visible {
  outline: 3px solid #8aa2e0; outline-offset: 2px; border-radius: 4px;
}
body { color: var(--cc-ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* the theme's loader never hid on inner pages once its image loaded: it is gone */
#cms-loadding { display: none !important; }

/* the hidden header account panel sat off screen and widened the page */
#cshero-header .widget-profile .widget-content { right: 0; left: auto; max-width: min(360px, 92vw); }

/* ---------- header ---------- */
#cshero-header-top { font-size: 13px; letter-spacing: .02em; }
#cshero-header-top a { color: var(--cc-ink-2); transition: color .2s; }
#cshero-header-top a:hover { color: var(--cc-purple); }
#cshero-header-wrapper { box-shadow: 0 1px 0 rgba(31, 27, 45, .06); }
#cshero-header-logo img { max-height: 84px; width: auto; }
#site-navigation .menu-main-menu > li > a { font-size: 14px; letter-spacing: .06em; font-weight: 600; color: var(--cc-ink); transition: color .2s; }
#site-navigation .menu-main-menu > li > a:hover,
#site-navigation .menu-main-menu > li.current-menu-item > a,
#site-navigation .menu-main-menu > li.current-menu-ancestor > a { color: var(--cc-purple); }
@media (min-width: 1200px) and (max-width: 1399px) {
  #site-navigation .menu-main-menu > li { margin: 0 11px; }
  #site-navigation .menu-main-menu > li > a { font-size: 13px; letter-spacing: .04em; }
}
#site-navigation .sub-menu { border-radius: 0 0 10px 10px; box-shadow: var(--cc-shadow-hover); border-top: 2px solid var(--cc-purple); }
#site-navigation .sub-menu a { font-size: 14px; }

/* ---------- buttons ---------- */
.btn, .button, input[type=submit], .wpcf7-submit, .wpforms-submit {
  border-radius: 8px !important; letter-spacing: .06em; font-weight: 600;
  transition: background-color .25s var(--cc-ease), color .25s var(--cc-ease), box-shadow .25s var(--cc-ease), transform .25s var(--cc-ease);
}
.btn:hover, .button:hover, input[type=submit]:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(1, 33, 110, .25); }
.btn:active, .button:active, input[type=submit]:active { transform: none; box-shadow: none; }

/* ---------- hero search ---------- */
.jb-s-form .search-content { border-radius: 14px; box-shadow: 0 18px 50px rgba(0, 20, 63, .28); }
.jb-s-form input[type=text], .jb-s-form select, .jb-s-form .select2-selection { border-radius: 8px !important; }

/* ---------- "This is how it works!" ---------- */
.cms-process-content { font-size: 15px !important; line-height: 1.55 !important; color: #fff !important; letter-spacing: .01em; }
.cms-process-item:hover .cms-process-icon { transform: translateY(-4px); }
.cms-process-icon { transition: transform .4s var(--cc-ease); }

/* ---------- job cards ---------- */
.jb-jobs-body article.jobboard-post-jobs {
  border-radius: var(--cc-radius); box-shadow: var(--cc-shadow); border: 1px solid #eaedf5;
  transition: box-shadow .35s var(--cc-ease), transform .35s var(--cc-ease);
}
.jb-jobs-body article.jobboard-post-jobs:hover { box-shadow: var(--cc-shadow-hover); transform: translateY(-2px); }
.jb-jobs-body article .entry-title, .jb-jobs-body article .entry-title a { color: var(--cc-navy); letter-spacing: .01em; }
.jb-jobs-body article .entry-title a:hover { color: var(--cc-purple); }
.jb-jobs-body article .job-price { color: var(--cc-ink-2); }
/* closed jobs read as history, not as an error */
.loop-deadline.disabled, .loop-deadline .deadline-clock[data-expired] { color: #6d6780 !important; }
.loop-deadline.disabled { border-color: #d9d4e2 !important; background: var(--cc-mist) !important; border-radius: 999px !important; }
.loop-deadline.disabled .fa { color: #8f88a3 !important; }

/* ---------- section headings: one face ---------- */
.vc_custom_heading.big-white-texts, .vc_custom_heading.big-white-texts-partners, .entry-content h2.vc_custom_heading {
  font-family: Montserrat, sans-serif !important; letter-spacing: -.01em; text-wrap: balance;
}
.big-white-texts, .big-white-texts-partners { font-weight: 600 !important; }

/* ---------- packages table ---------- */
#Packages-Fees .wpb_raw_html { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--cc-radius); box-shadow: var(--cc-shadow); background: #fff; }
#Packages-Fees table { min-width: 720px; border-collapse: separate; border-spacing: 0; }
#Packages-Fees table td, #Packages-Fees table td a { color: var(--cc-ink); font-size: 14px; }
/* the dotted line marks the rows that explain more on hover */
#Packages-Fees table td .tooltip { text-decoration: underline dotted #a2afcf !important; text-underline-offset: 4px; cursor: help; }
#Packages-Fees table tr:nth-child(even) td { background: var(--cc-mist); }
#Packages-Fees table tr:hover td { background: var(--cc-purple-soft); }
#Packages-Fees table td { border-color: #e7eaf2 !important; padding-top: 10px !important; padding-bottom: 10px !important; }

/* ---------- positions we recruit for ---------- */
.positions > .vc_column-inner {
  background-image: none !important; box-shadow: var(--cc-shadow) !important; border: 1px solid #eaedf5;
  transition: box-shadow .35s var(--cc-ease), transform .35s var(--cc-ease), border-color .35s;
  position: relative;
}
.positions > .vc_column-inner::after {
  content: "\f105"; font-family: FontAwesome; position: absolute; right: 22px; top: 50%; transform: translateY(-50%);
  width: 34px; height: 34px; line-height: 34px; text-align: center; border-radius: 50%;
  background: var(--cc-purple-soft); color: var(--cc-purple); font-size: 18px;
  transition: background-color .3s, color .3s;
}
.positions > .vc_column-inner:hover { box-shadow: var(--cc-shadow-hover) !important; transform: translateY(-3px); border-color: var(--cc-purple-line); }
.positions > .vc_column-inner:hover::after { background: var(--cc-purple); color: #fff; }
.positions h3, .positions h3 span { font-family: Montserrat, sans-serif !important; font-weight: 600 !important; color: var(--cc-navy); padding-right: 48px; letter-spacing: 0 !important; }

/* ---------- partners ---------- */
.wpb_images_carousel img { filter: saturate(.85); opacity: .9; transition: filter .3s, opacity .3s; }
.wpb_images_carousel img:hover { filter: none; opacity: 1; }

/* ---------- forms ---------- */
.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpcf7-form select, .wpcf7-form textarea,
.wpforms-form input[type=email] { border-radius: 8px !important; transition: border-color .2s, box-shadow .2s; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus, .wpforms-form input:focus { box-shadow: 0 0 0 3px rgba(138, 162, 224, .35); }
.wpcf7-form input[type=file] { font-size: 14px; }

/* ---------- inner page titles ---------- */
#cms-page-title::after {
  background: linear-gradient(110deg, rgba(0, 20, 63, .9) 0%, rgba(1, 33, 110, .72) 50%, rgba(29, 42, 107, .5) 100%) !important;
  opacity: 1 !important;
}
.job-skills.cc-empty { display: none !important; }
#cms-page-title h1 { text-wrap: balance; letter-spacing: -.01em; }

/* ---------- single job ---------- */
.single-jobboard-post-jobs .job-content .entry-content { font-size: 16px; line-height: 1.7; color: var(--cc-ink); max-width: 72ch; }
.single-jobboard-post-jobs .job-content .entry-content ul { padding-left: 1.2em; }
.single-jobboard-post-jobs .job-content .entry-content li { margin-bottom: .3em; }
.single-jobboard-post-jobs .job-content .entry-content p > strong:only-child {
  background: var(--cc-purple-soft) !important; color: var(--cc-purple-deep) !important; border-radius: 8px;
  letter-spacing: .06em; font-size: 13px; margin-top: 12px;
}
.single-jobboard-post-jobs .job-content .entry-content a { color: var(--cc-purple); text-underline-offset: 3px; }
.single-jobboard-post-jobs .widget, .jobboard-sidebar .widget { border-radius: var(--cc-radius); }

/* ---------- footer ---------- */
#cms-footer-top { background: var(--cc-mist); border-top: 1px solid #e7eaf2; padding-top: 64px !important; padding-bottom: 40px !important; }
#cms-footer-top .wg-title { font-weight: 700 !important; color: var(--cc-navy) !important; letter-spacing: .04em; margin-bottom: 18px !important; font-size: 15px !important; }
#cms-footer-top ul.menu { padding-left: 0 !important; margin-left: 0 !important; }
#cms-footer-top ul.menu li { padding-left: 0 !important; margin-left: 0 !important; }
#cms-footer-top ul.menu li::before { display: none !important; }
#cms-footer-top a, #cms-footer-top li, #cms-footer-top p { color: var(--cc-ink-2) !important; font-size: 14px !important; line-height: 2 !important; }
#cms-footer-top a:hover { color: var(--cc-purple) !important; }
#cms-footer-top .wpforms-form input[type=email] { background: #fff; border: 1px solid #d5dae8 !important; padding: 10px 14px !important; }
#cms-footer-top .wpforms-form button, #cms-footer-top .wpforms-form .wpforms-submit {
  background: var(--cc-purple) !important; color: #fff !important; border: 0 !important; padding: 10px 22px !important; margin-top: 6px;
}
#cms-footer-top .wpforms-form button:hover { background: var(--cc-purple-deep) !important; }
#cms-footer-bottom { background: var(--cc-navy) !important; }
#cms-footer-bottom, #cms-footer-bottom .cms-copyright, #cms-footer-bottom a, #cms-footer-bottom .go_up { color: rgba(255, 255, 255, .86) !important; }
#cms-footer-bottom a:hover { color: #fff !important; }
.cms-footer-backtop .go_up, .cms-footer-backtop .back_to_top, .cms-footer-backtop i { color: var(--cc-ink-2) !important; }
.cms-footer-backtop .back_to_top:hover .go_up { color: var(--cc-purple) !important; }

@media (max-width: 991px) {
  /* the home hero row is set to full screen height; on phones and tablets that left white bands round the slider */
  .home .entry-content > .vc_row-o-full-height:first-child { min-height: 0 !important; height: auto !important; }
}

@media (max-width: 767px) {
  .positions > .vc_column-inner::after { right: 16px; }
  #cms-footer-top { padding-top: 44px !important; }
  .cms-process-content { font-size: 15px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.jobs-carousel article[hidden] { display: none !important; }

/* event sign-up needed WordPress accounts; the old buttons did nothing */
.register-event #register-event, button#register-event { display: none !important; }
