/* =========================================================
   Maxvision CMS – additions to the Insur theme
   (careers, job pages, form messages, pager)
   ========================================================= */

/* ---------- messages ---------- */
.mv-alert { display: flex; gap: 12px; align-items: flex-start; padding: 16px 20px; border-radius: var(--insur-bdr-radius); margin-bottom: 24px; font-size: 16px; line-height: 1.6; }
.mv-alert i { margin-top: 4px; }
.mv-alert--ok { background: #e8f8ef; color: #146c3a; border: 1px solid #a9e2c0; }
.mv-alert--err { background: #fdeeee; color: #9b1c1c; border: 1px solid #f3b9b9; }
.mv-alert--warn { background: #fff7e6; color: #8a5a00; border: 1px solid #f5d999; }
.mv-alert a { color: inherit; text-decoration: underline; }
.mv-nl-msg { margin: 10px 0 0; font-size: 14px; color: #ffb4b4; }
.mv-nl-msg--ok { color: #8ef0b2; }
.mv-empty { text-align: center; padding: 40px 20px; color: var(--insur-gray); background: var(--insur-extra); border-radius: var(--insur-bdr-radius); }
.mv-empty i { font-size: 40px; color: var(--insur-base); margin-bottom: 14px; display: block; }

/* ---------- forms ---------- */
.mv-form select {
  height: 60px; width: 100%; border: none; outline: none; background-color: var(--insur-extra); padding: 0 30px;
  font-size: 14px; color: var(--insur-gray); border-radius: var(--insur-bdr-radius); appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--insur-gray) 50%), linear-gradient(135deg, var(--insur-gray) 50%, transparent 50%);
  background-position: calc(100% - 26px) 27px, calc(100% - 21px) 27px; background-size: 5px 5px; background-repeat: no-repeat;
}
.mv-file { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 20px; padding: 14px 18px; border: 2px dashed var(--insur-bdr-color);
  border-radius: var(--insur-bdr-radius); background: #fff; cursor: pointer; transition: border-color .2s; }
.mv-file:hover { border-color: var(--insur-base); }
.mv-file input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mv-file__btn { display: inline-flex; gap: 8px; align-items: center; padding: 10px 18px; border-radius: 6px; background: var(--insur-base); color: #fff; font-weight: 700; font-size: 14px; }
.mv-file__name { color: var(--insur-gray); font-size: 14px; word-break: break-all; }
.mv-file.has-file { border-color: var(--insur-base); border-style: solid; }
.mv-file.has-file .mv-file__name { color: var(--insur-black); font-weight: 500; }
.mv-file:focus-within { outline: 2px solid var(--insur-primary); outline-offset: 2px; }
.mv-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--insur-gray); margin: 4px 0 22px; cursor: pointer; }
.mv-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--insur-base); flex: 0 0 auto; }

/* ---------- careers list ---------- */
.careers-openings { padding: 120px 0 40px; position: relative; }
.careers-openings .section-title { margin-bottom: 40px; }
.mv-job-filter { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; padding: 20px; background: var(--insur-extra); border-radius: var(--insur-bdr-radius); }
.mv-job-filter input, .mv-job-filter select { flex: 1 1 180px; height: 52px; border: 0; border-radius: 8px; padding: 0 18px; background: #fff; color: var(--insur-black); font-size: 15px; outline: none; }
.mv-job-filter .thm-btn { padding: 12px 30px; }
.mv-job-filter__reset { align-self: center; color: var(--insur-gray); text-decoration: underline; }
.mv-jobs { display: flex; flex-direction: column; gap: 20px; }
.mv-job {
  display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; align-items: center; padding: 30px 34px; background: #fff;
  border: 1px solid var(--insur-bdr-color); border-left: 4px solid var(--insur-base); border-radius: var(--insur-bdr-radius);
  box-shadow: 0 10px 30px rgba(var(--insur-black-rgb), .05); transition: transform .3s, box-shadow .3s;
}
.mv-job:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(var(--insur-black-rgb), .1); }
.mv-job__main { flex: 1 1 420px; min-width: 0; }
.mv-job__dept { color: var(--insur-base); text-transform: uppercase; letter-spacing: .1em; font-size: 12px; font-weight: 700; margin: 0 0 6px; }
.mv-job__title { font-size: 24px; line-height: 1.3; font-weight: 700; margin: 0 0 12px; letter-spacing: var(--insur-letter-spacing); }
.mv-job__title a { color: var(--insur-black); transition: color .2s; }
.mv-job__title a:hover { color: var(--insur-base); }
.mv-badge { display: inline-block; vertical-align: middle; padding: 3px 10px; border-radius: 30px; background: var(--insur-primary); color: var(--insur-black); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.mv-job__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 10px; }
.mv-job__meta li { color: var(--insur-gray); font-size: 15px; display: flex; gap: 8px; align-items: center; }
.mv-job__meta i { color: var(--insur-base); }
.mv-job__summary { margin: 0; color: var(--insur-gray); font-size: 15px; line-height: 1.7; }
.mv-job__side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
.mv-job__count { font-weight: 700; color: var(--insur-black); }
.mv-job__closing { color: var(--insur-gray); font-size: 14px; }
.mv-job__btn { margin-top: 6px; }
@media (max-width: 767px) {
  .careers-openings { padding-top: 80px; }
  .mv-job { padding: 24px 22px; }
  .mv-job__side { align-items: flex-start; text-align: left; }
}

/* ---------- job detail ---------- */
.mv-job-detail { padding: 120px 0 110px; }
.mv-job-detail__title { font-size: 40px; line-height: 1.2; font-weight: 700; color: var(--insur-black); letter-spacing: var(--insur-letter-spacing); margin: 0 0 20px; }
.mv-job-detail__summary { font-size: 18px; line-height: 1.7; color: var(--insur-black); margin-bottom: 24px; }
.mv-article { color: var(--insur-gray); font-size: 16px; line-height: 1.85; }
.mv-article h2, .mv-article h3, .mv-article h4 { color: var(--insur-black); font-weight: 700; margin: 28px 0 12px; letter-spacing: var(--insur-letter-spacing); }
.mv-article h4 { font-size: 22px; }
.mv-article ul, .mv-article ol { padding-left: 0; list-style: none; margin: 0 0 20px; }
.mv-article ul li { position: relative; padding-left: 30px; margin-bottom: 8px; }
.mv-article ul li::before { content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; left: 0; top: 1px; color: var(--insur-base); font-size: 13px; }
.mv-article ol { counter-reset: n; }
.mv-article ol li { counter-increment: n; position: relative; padding-left: 32px; margin-bottom: 8px; }
.mv-article ol li::before { content: counter(n); position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--insur-base); color: #fff; font-size: 12px; text-align: center; line-height: 22px; }
.mv-article p { margin-bottom: 18px; text-align: justify; }
.mv-article img { max-width: 100%; height: auto; border-radius: var(--insur-bdr-radius); }
.mv-article a { color: var(--insur-base); text-decoration: underline; }
.mv-apply { margin-top: 50px; padding: 40px; background: var(--insur-extra); border-radius: var(--insur-bdr-radius); }
.mv-apply .comment-form__input-box input, .mv-apply .comment-form__input-box textarea, .mv-apply .mv-form select { background-color: #fff; }
.mv-apply__title { font-size: 30px; font-weight: 700; color: var(--insur-black); margin: 0 0 6px; }
.mv-apply__lead { color: var(--insur-gray); margin-bottom: 26px; }
.mv-job-facts { position: sticky; top: 120px; padding: 34px 32px; border-radius: var(--insur-bdr-radius); background: var(--insur-black); color: #fff; }
.mv-job-facts h3 { color: #fff; font-size: 22px; font-weight: 700; margin: 0 0 20px; }
.mv-job-facts ul { margin: 0 0 24px; }
.mv-job-facts li { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.mv-job-facts li:last-child { border-bottom: 0; }
.mv-job-facts li i { width: 20px; color: var(--insur-primary); margin-top: 4px; text-align: center; }
.mv-job-facts li span { display: block; font-size: 13px; color: rgba(255,255,255,.6); }
.mv-job-facts li strong { color: #fff; font-weight: 500; font-size: 16px; }
.mv-job-facts__btn { width: 100%; text-align: center; }
.mv-back { display: inline-flex; gap: 8px; align-items: center; margin-top: 20px; color: var(--insur-base); font-weight: 700; }
@media (max-width: 991px) {
  .mv-job-facts { position: static; margin-top: 40px; }
  .mv-job-detail { padding: 80px 0; }
  .mv-job-detail__title { font-size: 32px; }
  .mv-apply { padding: 26px 20px; }
}

/* ---------- share ---------- */
.mv-share { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--insur-bdr-color); }
.mv-share span { font-weight: 700; color: var(--insur-black); margin-right: 6px; }
.mv-share a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--insur-extra); color: var(--insur-black); transition: all .2s; }
.mv-share a:hover { background: var(--insur-base); color: #fff; }
.mv-share--compact { margin-top: 24px; border-top-color: rgba(255,255,255,.1); }
.mv-share--compact span { color: #fff; font-size: 14px; }
.mv-share--compact a { background: rgba(255,255,255,.08); color: #fff; }

/* ---------- news extras ---------- */
h1.news-details__title { font-size: 34px; line-height: 1.25; }
.news-details__meta { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.news-details__meta li { color: var(--insur-gray); }
.mv-sidebar-cta { background: var(--insur-base); color: #fff; }
.mv-sidebar-cta .sidebar__title { color: #fff; }
.mv-sidebar-cta p { color: rgba(255,255,255,.85); margin-bottom: 20px; }
.mv-sidebar-cta .thm-btn { background: #fff; color: var(--insur-black); }
.mv-pager { display: flex; justify-content: center; gap: 10px; margin: 10px 0 0; }
.mv-pager a { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--insur-extra); color: var(--insur-black); font-weight: 700; }
.mv-pager a.is-active, .mv-pager a:hover { background: var(--insur-base); color: #fff; }

/* ---------- misc ---------- */
.mv-footer-links { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.mv-footer-links a { color: #97a2b7; font-size: 15px; }
.mv-footer-links a:hover { color: #fff; }
.mv-404 { padding: 120px 0; }
.mv-404 p { color: var(--insur-gray); margin: 10px 0 30px; }
.mv-404__links { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* inputs the theme does not style (tel, url, number, date, search) */
.comment-form__input-box input[type="tel"],
.comment-form__input-box input[type="url"],
.comment-form__input-box input[type="number"],
.comment-form__input-box input[type="date"],
.comment-form__input-box input[type="search"] {
  height: 60px; width: 100%; border: none; background-color: var(--insur-extra); padding-left: 30px; padding-right: 30px;
  outline: none; font-size: 14px; color: var(--insur-gray); display: block; border-radius: var(--insur-bdr-radius);
  font-weight: 500; letter-spacing: var(--insur-letter-spacing);
}
.comment-form__input-box input:focus, .comment-form__input-box textarea:focus, .mv-form select:focus { box-shadow: 0 0 0 2px rgba(var(--insur-base-rgb), .35); }
.mv-form select { font-weight: 500; }
.mv-form .comment-form__input-box { margin-bottom: 20px; }
