/* =========================================================
   2026 STYLES
   Shared modernisation layer for VetSurgeon + VetNurse
   ========================================================= */

/* Registration */
.join-section-card {
    width: 100%;
    max-width: 820px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
    padding: 24px 24px 18px 24px;
    box-sizing: border-box;
    margin: 0 0 24px 0;
}

.join-section-card h3 {
    margin: 0 0 18px 0;
}

.content-fragment.login-and-create-user fieldset ul.field-list .field-item.required .field-item-header::after,
.content-fragment.edit-user fieldset ul.field-list .field-item.required .field-item-header::after {
    content: "" !important;
}
.join-manual .workplace-help {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: #555;
}

.join-manual .workplace-switch,
.join-manual .noPostcodeLookup .field-item-input {
    margin-top: 8px;
}

.join-manual .workplace-switch a,
.join-manual .noPostcodeLookup a {
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
}

.join-manual .workplace-switch a:hover,
.join-manual .noPostcodeLookup a:hover {
    text-decoration: underline;
}
/* new location entry box */
.place-search-input {
    width: 242px;
    height: 32px;
    box-sizing: border-box;
    padding: 6px 8px;
}

/* shared dropdown styling */
.place-search-results {
    margin-left: 272px;
    margin-top: -4px;
    width: 242px;
    border: 1px solid #ccc;
    background: #fff;
    max-height: 220px;
    overflow-y: auto;
    position: relative;
    z-index: 50;
    box-sizing: border-box;
}

.place-search-option {
    padding: 6px 10px;
    line-height: 1.25;
    font-size: 14px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
}

.place-search-option:last-child {
    border-bottom: none;
}

.place-search-option:hover {
    background: #f3f3f3;
}

/* workplace-name search dropdown */
.place-search-results.workplace-results {
    margin-top: -4px;
    margin-left: 233px;
    width: 242px;
}

/* postcode/town dropdown */
.place-search-results.postcode-results {
    margin-top: -3px;
    margin-left: 233px;
    width: 242px;
}

/* main red link under workplace search */
#noCompanyLocationWrapper {
    margin-left: 250px;
    font-size: 15px;
    line-height: 1.45;
}

#noCompanyLocationWrapper a,
a[id$="_noCompanyLocation"] {
    color: #b00000;
    text-decoration: none;
    font-weight: 600;
}

/* alternate/manual state */
.field-item.postcodeLookup.toggleable,
.field-item.company.toggleable {
    background: transparent !important;
    border: none !important;
    padding: 2px 0 !important;
    margin: 0 0 6px 0 !important;
}

.field-item.postcodeLookup.toggleable .icon,
.field-item.company.toggleable .icon {
    display: none !important;
}

.field-item.postcodeLookup.toggleable .field-item-description,
.field-item.company.toggleable .field-item-description {
    display: block;
    margin: 4px 0 0 253px;
    font-size: 13px;
    line-height: 1.35;
    color: #666;
}

.field-item.noPostcodeLookup.toggleable {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 -4px -30px !important;
}

.field-item.noPostcodeLookup.toggleable a {
    color: #b00000;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.35;
}
/* Show password: one clean row under password field */
.join-manual .field-item.password .field-item-input {
    display: block;
}

.join-manual .field-item.password .field-item-input > input[type="password"],
.join-manual .field-item.password .field-item-input > input[type="text"] {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.join-manual .field-item.password .field-item-input > label {
    display: block;
    margin: 3px 0 0 0 !important;
    font-size: 15px;
    line-height: 1.35;
    white-space: nowrap;
}
.join-manual .field-item.password .field-item-input {
    width: 251px;
}
/* Fix validation message alignment for password and workplace fields */

/* Align validation messages with input column */

.join-manual .field-item.password .field-item-validation,
.join-manual .field-item.companyLocation .field-item-validation {
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}

/* Password error: move it down a bit so it lines up with the password field */
.join-manual .field-item.password .field-item-validation {
    position: relative;
    top: -24px;
    margin-left: 0px;
    white-space: nowrap;
}

/* Workplace error: move it right into the input/error column and up under the field */
.join-manual .field-item.companyLocation .field-item-validation {
    display: block;
    position: relative;
    left: 475px;
    top: -53px;
    white-space: nowrap;
}
/* Manual/location view: align Practice, Employer or College error */
.join-manual .field-item.company .field-item-validation {
    display: block;
    position: relative;
    left: 481px;
    top: -53px;
    white-space: nowrap;
}
/* =========================================================
   1. Sitewide foundation
   ========================================================= */
   
   @font-face {
	 font-family: "Source Sans 3";
	 src: url("../fonts/source-sans-3-regular.woff2") format("woff2");
	 font-weight: 400;
	 font-style: normal;
	 font-display: swap;
   }
   @font-face {
	 font-family: "Source Sans 3";
	 src: url("../fonts/source-sans-3-italic.woff2") format("woff2");
	 font-weight: 400;
	 font-style: italic;
	 font-display: swap;
   }
   @font-face {
	 font-family: "Source Sans 3";
	 src: url("../fonts/source-sans-3-600.woff2") format("woff2");
	 font-weight: 600;
	 font-style: normal;
	 font-display: swap;
   }
   @font-face {
	 font-family: "Source Sans 3";
	 src: url("../fonts/source-sans-3-700.woff2") format("woff2");
	 font-weight: 700;
	 font-style: normal;
	 font-display: swap;
   }

html, body,
   .content-fragment,
   .content-fragment p,
   .content-fragment span,
   .content-fragment li,
   .content-fragment label,
   .content-fragment input,
   .content-fragment select,
   .content-fragment textarea,
   .content-fragment button,
   .content-fragment h1,
   .content-fragment h2,
   .content-fragment h3,
   .content-fragment h4,
   .content-fragment h5,
   .content-fragment h6 {
     font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
   }
   
   /* protect icon fonts */
   .fa,
   .fa:before,
   .fa:after {
     font-family: FontAwesome !important;
   }
   .user-defined-markup ul > li,
   .user-defined-markup ol > li {
       font-size: 16px;
       line-height: 1.6;
       margin-bottom: 4px;
   }

/* Force message page footers to bottom of page */
/* Message pages only */
.content-fragment-page.msgs-message {
    min-height: calc(100vh - 420px);
}

.content-fragment-page.msgs-message #_p_content > .layout-region-inner.content {
    min-height: calc(100vh - 580px);
    display: flex;
    flex-direction: column;
}

.content-fragment-page.msgs-message #fragment-7654 {
    margin-top: auto;
    margin-bottom: 30px;
}

.content-fragment-page.msgs-message #fragment-6773 {
    margin-top: auto;
}
.header-fragments {
    background-color: #4A874A;
}
/* --------------------------------------------------
   Page banner icon overrides (retina versions)
-------------------------------------------------- */

/* Shared icon styling for all page-banner icons */
.ib-page-title::after {
    background-color: #fff !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% !important;
}

/* Default / profiles */
.ib-page-title::after {
    background-image: url('/SharedAssets/img/iconProfiles.png?v=6') !important;
}

/* News (blog) */
.ib-page-title-blog::after {
    background-image: url('/SharedAssets/img/iconNews.png?v=6') !important;
}

/* Jobs */
.ib-page-title-jobs::after {
    background-image: url('/SharedAssets/img/iconJobsV2.png?v=6') !important;
}

/* Galleries (films) */
.ib-page-title-gallery::after {
    background-image: url('/SharedAssets/img/iconFilms.png?v=6') !important;
}

/* Discussions / forums */
.ib-page-title-thread::after {
    background-image: url('/SharedAssets/img/iconForums.png?v=6') !important;
}

/* LOGGED OUT TEASER BOX MAINLY FOR FORUMS */
/* this also applies gradient to logged in quickpost blue box */
.teaser-panel,
.content-fragment.quick-post.blue-box {
    background: linear-gradient(135deg,#3f6d8c 0%,#5a89a8 100%);
    color: #ffffff;
    padding: 28px 30px 24px 30px;
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.12);
    margin: 12px 0 20px 0;
}

/* this removes excess top padding from the rule above on the logged in quickpost box */
.content-fragment.quick-post.blue-box {
    padding: 12px 30px 24px 30px !important;
}
.teaser-title {
    margin: 0 0 16px 0;
    padding: 0;
    color: #ffffff;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.2px;
    font-family: inherit;
}
.teaser-intro {
    font-size:18px;
    line-height:1.5;
    margin-bottom:18px;
    color:rgba(255,255,255,0.94);
}

.teaser-benefits {
    list-style:none;
    margin:0 0 18px 0;
    padding:0;
}

.teaser-benefits li {
    position:relative;
    padding-left:18px;
    margin-bottom:10px;
    font-size:18px;
    line-height:1.45;
    color:rgba(255,255,255,0.94);
}

.teaser-benefits li:before {
    content:"";
    position:absolute;
    left:0;
    top:0.6em;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ffcc00;
}

.teaser-membership {
    font-size:18px;
    margin-bottom:20px;
    color:rgba(255,255,255,0.94);
}

.teaser-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.teaser-button {
    display:inline-block;
    background:#ffcc00;
    color:#000;
    font-weight:700;
    padding:12px 18px;
    border-radius:8px;
    text-decoration:none;
    font-size:16px;
    box-shadow:0 3px 8px rgba(0,0,0,0.15);
}

.teaser-button:hover {
    transform:translateY(-1px);
    box-shadow:0 5px 12px rgba(0,0,0,0.18);
}
.threaded-thread .content-fragment-content .thread-start:has(.teaser-panel) {
    background-color: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 0;
}
/* to hide content on forum thread page when logged out */
.thread-share-header h1.name {
    display:none;
}

.thread-share-header .addthis-wrapper {
    display:none;
}   
.thread-share-header {
    display:none;
}
/* =========================================================
   2. Header / navigation / Title bars
   ========================================================= */
/* TITLE BAR */
   .ib-page-title{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:8px 0!important;}
   .ib-page-title .title-wrapper{display:block!important;flex:0 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;}
   .ib-page-title .title-wrapper span,.ib-page-title .title-wrapper h1,.ib-page-title .title-wrapper h2,.ib-page-title .title-wrapper .section-title{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;font-size:24px!important;font-weight:700!important;letter-spacing:.25px!important;text-transform:uppercase!important;color:#222629!important;line-height:1.1!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;}
   .ib-page-title .title-wrapper .section-title .separator{display:inline!important;}
   .ib-page-title>.navigation-item.cpd-button .record-cpd{display:block!important;}
   .ib-page-title>.navigation-item.cpd-button,
   .ib-page-title .vs-mobile-banner .navigation-item.cpd-button{
   display:block!important;
   flex:0 0 auto!important;
   list-style:none!important;
   margin:0!important;
   padding:0!important;
   }
   
   .ib-page-title>.navigation-item.cpd-button .record-cpd a,
   .ib-page-title .vs-mobile-banner .navigation-item.cpd-button .record-cpd a{
   display:inline-block!important;
   width:auto!important;
   padding:6px 12px!important;
   font-size:14px!important;
   line-height:1.2!important;
   border-radius:4px!important;
   white-space:nowrap!important;
   vertical-align:middle!important;
   }
   .ib-page-title .group-banner-actions{display:block!important;flex:0 0 auto!important;margin-left:auto!important;}
   .ib-page-title .group-banner-actions .navigation-list>.navigation-item.cpd-button{padding:0!important;position:static!important;top:auto!important;}
   .claim-cpd-popup .claim-cpd-title{color:#fff;font-size:24px;font-weight:700;margin-top:0;margin-bottom:.25rem;line-height:1.2;}
   .claim-cpd-popup .claim-cpd-subtitle{color:#fff;font-size:17px;font-weight:400;margin-top:0;margin-bottom:1rem;line-height:1.2;}
   .section-subnav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 0;margin:0 0 16px 0;font-size:15px;font-weight:600;line-height:1.4;}
   .section-subnav a{position:relative;display:inline-block;margin:0 14px 0 0;padding:0 14px 0 0;text-decoration:none;color:#8c1b1b;line-height:1.4;}
   .section-subnav a::after{content:"|";position:absolute;right:0;top:50%;transform:translateY(-50%);color:#b5b5b5;}
   .section-subnav a:last-child::after{content:none;}
   .section-subnav a:hover{text-decoration:underline;}
   @media (max-width: 860px) {
     .vs-mobile-banner .vs-mobile-title h1,
     .vs-mobile-banner .vs-mobile-title h2 {
       display: block !important;
       width: auto !important;
       max-width: none !important;
       margin: 0 !important;
       padding: 0 !important;
       font-size: 24px !important;
       font-weight: 700 !important;
       letter-spacing: .25px !important;
       text-transform: uppercase !important;
       color: #222629 !important;
       line-height: 1.1 !important;
       white-space: normal !important;
       word-break: normal !important;
       overflow-wrap: normal !important;
     }
   }
   
/* =========================================================
   3. News / blog
   ========================================================= */
/* TWEAKS */
/* To put nav behind grey stripe on mobiule and look more cohesive */
@media (max-width: 767px) {

  /* Remove the gap under the page banner fragment */
  .content-fragment.group-banner {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Mobile topic stripe */
  .section-subnav {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    background: #efefef;
    padding: 10px 14px 8px 14px;
    border-bottom: 1px solid #e3e3e3;
  }

  /* Label */
  .section-subnav::before {
    content: "Browse by topic";
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #666;
    margin: 0 12px 6px 0;
    line-height: 1.4;
  }

  /* Links */
  .section-subnav a {
    display: inline-block;
    margin: 0 10px 6px 0;
    line-height: 1.4;
  }
}
/* add space under image on mobile phone */
@media (max-width: 767px) {
  .content-fragment-page.post .content-fragment.blog-post .full-post 
  .post-content.user-defined-markup .post-image {
    margin-bottom: 1.5rem;
  }
}
/* make image full width of left column on tablet landscape */
@media (max-width: 767px) {
  .single-column.content-fragment-page.post .blog-post .content-fragment-content .full-post .post-content h2 > a > img.post-image {
    margin: 0 0 1.5rem 0 !important;
  }
}
/* NEWS STORY DATE PULLED UP SLIGHTLY ON MOBILE */
   @media (max-width: 767px) {
   
     .single-column.content-fragment-page.post 
     .blog-post 
     .content-fragment-content 
     .full-post 
     .post-author + div {
       margin-top: -10px !important;
     }
   
   }   
   
/* Blog post standfirst (you’re using H2 as the first paragraph) */
   .content-fragment-page.post
   .content-fragment.blog-post
   .full-post
   .post-content.user-defined-markup h2 {
     font-size: 1.9rem !important;
     font-weight: 600 !important;
     line-height: 1.45 !important;
     margin: 0 0 0.9em 0 !important;
   }
   /* Blog post body */
   .content-fragment-page.post
   .content-fragment.blog-post
   .full-post
   .post-content.user-defined-markup p {
     font-size: 1.6rem !important;
     line-height: 1.6 !important;
   }
   
   /* Blog list readability (harmless, but keep it) */
   .simple-blog-post .content-fragment-content p {
     line-height: 1.55 !important;
   }
   
/* BLOG POST RELATED NEWS */ 
   .vs-related-news {
     margin: 28px 0 0;
   }
   
   .vs-related-news__title {
     margin: 0 0 8px;
     font-size: 1.9rem;
     line-height: 1.1;
     font-weight: 700;
     text-transform: uppercase;
   }
   
   .vs-related-news__grid {
     display: flex;
     flex-wrap: wrap;
     margin: 0 -14px;
   }
   
    .vs-related-news__item {
       box-sizing: border-box;
       display: block;
       width: 50%;
       padding: 0 14px 10px;
       line-height: 1.4;
       text-decoration: none;
       overflow: hidden;
       white-space: normal;
       text-overflow: ellipsis;
       font-weight: 600;
       font-size: 1.25em;
   }
   
   .vs-related-news__item:hover {
     text-decoration: underline;
   }
   
   @media (max-width: 767px) {
     .vs-related-news__item {
       width: 100%;
       padding-bottom: 10px;
     }
   }
   /*SHARE BUTTONS ON NEWS STORIES */
   .post-share {
     margin: 10px 0 12px;
   }
   .post-share .a2a_kit {
     display: flex;
     gap: 6px;
   }
   .content-fragment.blog-post .full-post .post-name {
     margin: 7px 0 -8px 0;
   }
   .content-fragment.blog-post .full-post .post-author .avatar {
     top: 8px;
   }
   /* NEWS STORY TAGS */
   .vs-post-tags {
       margin-top: 6px;
   }
   
   .vs-post-tags-title {
       font-weight: 600;
       font-size: 14px;
       margin-bottom: 6px;
       color: #444;
   }
   
   .vs-post-tags-list {
       display: flex;
       flex-wrap: wrap;
       gap: 6px;
   }
   
   .vs-post-tag {
       display: inline-block;
       padding: 4px 10px;
       font-size: 12px;
       background: #f2f2f2;
       border-radius: 3px;
       text-decoration: none;
       color: #555 !important;
   }
   
   .vs-post-tag:hover {
       background: #e6e6e6;
   }
   
   .news-topic-header{
       margin:20px 0 16px 0;
   }
   
   .news-topic-title{
       font-size:28px;
       font-weight:700;
       color:#001a26;
       margin-bottom:6px;
   }
   
   .news-topic-back a{
       font-size:14px;
       color:#a5160f;
       text-decoration:none;
   }
   
   .news-topic-back a:hover{
       text-decoration:underline;
   }
   
   .news-topic-intro {
       font-size: 17.6px;
       line-height: 1.3em;
       margin: 0.6rem 0 1.2rem 0;
       max-width: none;
   }
/* NEWS COMMENTS */
   
   .vs-discussion-title {
     margin: 32px 0 8px;
     padding-top: 22px;
     border-top: 1px solid #e5e5e5;
     font-size: 1.9rem;
     line-height: 1.1;
     font-weight: 700;
     text-transform: uppercase;
   }
   
   .vs-discussion-prompt {
     margin: 0 0 10px 0;
     font-size: 1.25em;
   }
   
   /* override theme inset coming from style.less */
   .content-fragment.threaded-comments .comment-form,
   .content-fragment.threaded-comments.no-wrapper-with-spacing .comment-form {
     padding-left: 0 !important;
   }
   
   /* avatar + author row */
   .content-fragment.threaded-comments .comment-form .author {
     position: relative !important;
     padding-left: 56px !important;
     min-height: 48px !important;
     margin: -34px 0 2px 0 !important;
   }
   
   .content-fragment.threaded-comments .comment-form .author .avatar {
     position: absolute !important;
     top: 50px !important;
     left: 0 !important;
   }
   
   .content-fragment.threaded-comments .comment-form .author .meta {
     margin: 0 !important;
     padding-top: 32px !important;
   }
   
   .content-fragment.threaded-comments .comment-form .author .meta .user-name {
     display: block;
     line-height: 1.2;
     margin: 0 !important;
   }
   
   /* comment box aligns under name */
   .content-fragment.threaded-comments .comment-form fieldset {
     margin: 0 0 0 56px !important;
     padding: 0 !important;
   }
   
   /* logged-out box */
   .vs-comment-locked {
     margin-left: 56px;
   }
   
   .vs-comment-locked-field {
     min-height: 60px;
     padding: 16px 14px;
     border: 1px solid #d9d9d9;
     background: #f7f7f7;
     color: #666;
     box-sizing: border-box;
   }
   
   /* COMMENTS FOR MOBILE */
  @media (max-width: 768px) {
  
    .vs-discussion-title {
      margin: 24px 0 6px;
      padding-top: 16px;
      font-size: 1.9rem;
    }
  
    .content-fragment.threaded-comments .comment-form .author {
      margin: -10px 0 2px 0 !important;
      padding-left: 48px !important;
      min-height: 20px !important;
      margin-top: -10px !important;
    }
  
    .content-fragment.threaded-comments .comment-form .author .avatar {
      top: 0 !important;
    }
  
    .content-fragment.threaded-comments .comment-form .author .meta {
      padding-top: 4px !important;
    }
  
    .content-fragment.threaded-comments .comment-form fieldset {
      margin: 6px 0 0 48px !important;
    }
    .content-fragment.threaded-comments .comment-form .author .avatar {
      position: absolute !important;
      top: 26px !important;
      left: 0 !important;
    }

  }
   
/* =========================================================
   4. Forums
   ========================================================= */
/* OVERRIDE REACTION ICONS 
.threaded-thread .content-fragment-content .thread-start .content.full .actions.footer .navigation-list-wrapper .navigation-list .navigation-list-item.reactions .reactions > li > a:before {
    background-image: none !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    margin-right: 0.5rem !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    font-size: 18px !important;
}

.threaded-thread .content-fragment-content .thread-start .content.full .actions.footer .navigation-list-wrapper .navigation-list .navigation-list-item.reactions .reactions > li > a[alt="Agree"]:before {
    content: "👍" !important;
}

.threaded-thread .content-fragment-content .thread-start .content.full .actions.footer .navigation-list-wrapper .navigation-list .navigation-list-item.reactions .reactions > li > a[alt="Disagree"]:before {
    content: "👎" !important;
}

.threaded-thread .content-fragment-content .thread-start .content.full .actions.footer .navigation-list-wrapper .navigation-list .navigation-list-item.reactions .reactions > li > a[alt="Thank You"]:before {
    content: "🙏" !important;
}

.threaded-thread .content-fragment-content .thread-start .content.full .actions.footer .navigation-list-wrapper .navigation-list .navigation-list-item.reactions .reactions > li > a[alt="Like"]:before {
    content: "❤️" !important;
} */
/* =========================================================
   5. Jobs
   ========================================================= */
/* Jobs homepage header panel – match sitewide blue panel */
   
   .ib-joblist .dJobsHeader,
   .ib-userjobs .dJobsHeader {
       background: linear-gradient(135deg,#3f6d8c 0%,#5a89a8 100%);
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   
   /* Left-side main heading */
   .ib-joblist .dJobsHeader .form-header,
   .ib-userjobs .dJobsHeader .form-header {
       padding: 0;
       margin: 0 0 6px 0;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
       font-weight: 400;
       font-size: 48px;
       line-height: 0.95;
   }
   .ib-joblist .dJobsHeader .form-header,
   .ib-userjobs .dJobsHeader .form-header {
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
       font-size:36px;
       font-weight:700;
       line-height:1.1;
       margin:0 0 8px 0;
   }
   /* anchor need a vet or nurse text bottom right */
   .ib-joblist .dJobsHeader .dJobsHeaderRight {
       display: flex;
       flex-direction: column;
       height:auto;
   }
   .ib-joblist .dJobsHeader .jobs-recruiter-nurse {
       margin-top: auto;
       position: relative;
        bottom: 18px;
   }
   /* now correct the left border on the dJobsHeaderRight so it has a fixed gap above and below */
.ib-joblist .dJobsHeader .dJobsHeaderRight {
       display: flex;
       flex-direction: column;
       height: auto;
   }
   
   .ib-joblist .dJobsHeader .dJobsHeaderRight {
       border-left: none !important;
       position: relative;
   }
   
   .ib-joblist .dJobsHeader .dJobsHeaderRight::before {
       content: "";
       position: absolute;
       left: 0;
       top: -2px;
       bottom: 8px;
       width: 1px;
       background: #fff;
   }
   /* Intro / instruction text */
   .ib-joblist .dJobsHeader .form-subheader,
   .ib-userjobs .dJobsHeader .form-subheader,
   .ib-joblist .dJobsHeader .form-subheader h2,
   .ib-userjobs .dJobsHeader .form-subheader h2,
   .ib-joblist .dJobsHeader .form-instructions,
   .ib-userjobs .dJobsHeader .form-instructions {
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   .ib-joblist .dJobsHeader li.icons.list-item,
   .ib-userjobs .dJobsHeader li.icons.list-item {
       margin-bottom: 4px;
   }
   
   .ib-joblist .dJobsHeader .form-subheader,
   .ib-userjobs .dJobsHeader .form-subheader {
       margin: 0 0 8px 0;
   }
   
   .ib-joblist .dJobsHeader .form-subheader h2,
   .ib-userjobs .dJobsHeader .form-subheader h2 {
       margin: 0;
       padding: 0;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
       font-weight: 400;
   }
   
   .ib-joblist .dJobsHeader .form-instructions,
   .ib-userjobs .dJobsHeader .form-instructions {
       margin: 0;
       padding-bottom: 3px;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
       font-weight: 700;
   }
   
   /* Make form controls inherit the same font */
   .ib-joblist .dJobsHeader select,
   .ib-userjobs .dJobsHeader select,
   .ib-joblist .dJobsHeader input,
   .ib-userjobs .dJobsHeader input,
   .ib-joblist .dJobsHeader textarea,
   .ib-userjobs .dJobsHeader textarea,
   .ib-joblist .dJobsHeader button,
   .ib-userjobs .dJobsHeader button,
   .ib-joblist .dJobsHeader a,
   .ib-userjobs .dJobsHeader a,
   .ib-joblist .dJobsHeader span,
   .ib-userjobs .dJobsHeader span,
   .ib-joblist .dJobsHeader div,
   .ib-userjobs .dJobsHeader div,
   .ib-joblist .dJobsHeader li,
   .ib-userjobs .dJobsHeader li {
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   
   /* reduce size of icons and spacing */
   .ib-joblist .dJobsHeader li.icons.list-item,
   .ib-userjobs .dJobsHeader li.icons.list-item {
       padding-top: 4px;
       padding-bottom: 4px;
   }
   
   .ib-joblist .dJobsHeader div.list-item-image-search,
   .ib-userjobs .dJobsHeader div.list-item-image-search {
       display: inline-block;
       text-align: center;
       padding: 0;
       transform: scale(0.8);
       transform-origin: center;
       margin: 0 6px;
   }
   
   /* recruiter panel */
   .jobs-recruiter-box {
       text-align: center;
       padding: 26px 24px 24px 24px;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   
   .jobs-recruiter-title {
       font-size: 34px;
       font-weight: 700;
       line-height: 1.1;
       margin: 0 0 10px 0;
       color: #ffffff;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   
   .jobs-recruiter-text {
       font-size: 18px;
       line-height: 1.45;
       margin: 0 0 18px 0;
       color: #ffffff;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   
   .jobs-recruiter-free {
       font-size: 28px;
       font-weight: 700;
       margin: 0 0 18px 0;
       color: #ffffff;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   
   .jobs-recruiter-button {
       display: inline-block;
       background: #f6c400;
       color: #000000 !important;
       font-size: 18px;
       font-weight: 700;
       padding: 12px 24px;
       border-radius: 8px;
       margin-top:11px;
       text-decoration: none;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
   }
   
   .jobs-recruiter-button:hover {
       background: #ffd84a;
   }
   
   .jobs-recruiter-nurse {
       font-size: 16px;
       color: #ffffff;
       font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
       border-top:1px solid rgba(255,255,255,0.35);
       margin-top:6px;
       padding-top:14px;
   }
   
   .jobs-recruiter-nurse a,
   .jobs-recruiter-nurse a:visited{
       color:#ffffff;
       text-decoration:none;
       font-family:"Source Sans 3", Arial, Helvetica, sans-serif;
   }
   .jobs-recruiter-nurse a:hover{
       text-decoration:underline;
   }
/*Jobs Recruiter pages */
.recruiter-hero-box {
    background: linear-gradient(135deg,#3f6d8c 0%,#5a89a8 100%);
    color:#ffffff;
    padding:28px 30px 26px 30px;
    border-radius:10px;
    box-shadow:0 8px 18px rgba(0,0,0,0.12);
    margin:0 0 26px 0;
}

.recruiter-hero-kicker {
    font-size:13px;
    font-weight:700;
    letter-spacing:1.2px;
    text-transform:uppercase;
    color:rgba(255,255,255,0.82);
    margin-bottom:8px;
}

.recruiter-hero-title {
    font-size:42px;
    line-height:1.05;
    font-weight:700;
    margin:0 0 14px 0;
    color:#FFFFFF;
}

.recruiter-hero-text {
    font-size:20px;
    line-height:1.5;
    margin:0 0 20px 0;
}

.recruiter-hero-points {
    margin-bottom:24px;
}

.recruiter-hero-point {
    position:relative;
    padding-left:22px;
    margin-bottom:10px;
    font-size:17px;
}

.recruiter-hero-point:before {
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ffd21f;
}

.recruiter-hero-actions {
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.recruiter-hero-button {
    background:#ffd21f;
    color:#222 !important;
    text-decoration:none !important;
    font-size:18px;
    font-weight:700;
    padding:15px 22px;
    border-radius:8px;
    display:inline-block;
}

.recruiter-hero-button:hover {
    background:#ffde4d;
}

.recruiter-hero-link {
    color:#ffffff !important;
    text-decoration:underline !important;
    font-weight:600;
}

@media (max-width:767px) {

    .recruiter-hero-title {
        font-size:32px;
    }

    .recruiter-hero-text {
        font-size:18px;
    }

    .recruiter-hero-button {
        width:100%;
        text-align:center;
    }

}
/* =========================================
   Recruitment advertising – process section
   ========================================= */

.recruiter-process-section {
    background:#ffffff;
    color:#222222;
    margin:18px 0 28px 0;
}

/* override theme LESS padding on H2 */

.recruiter-process-section h2.recruiter-process-title {
    padding-top:0;
    padding-bottom:0;
    margin:0;
    font-size:32px;
    line-height:1.15;
    font-weight:700;
    color:#222222;
}
.recruiter-process-section h3 {
    margin:0;
    padding-top:0;
}
/* steps container */

.recruiter-process-steps {
    margin:0;
    padding:0;
}

/* individual steps */

.recruiter-process-step {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:12px 0;
    border-top:1px solid #e2e2e2;
}

/* remove line above first step */

.recruiter-process-step:first-child {
    border-top:none;
}

.recruiter-process-step:last-child {
    border-bottom:1px solid #e2e2e2;
}

/* step numbers */

.recruiter-process-number {
    flex:0 0 26px;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#3f6d8c;
    color:#ffffff;
    font-size:14px;
    line-height:26px;
    font-weight:700;
    text-align:center;
}

/* step content wrapper */

.recruiter-process-content {
    flex:1 1 auto;
}

/* step title */

.recruiter-process-step-title {
    font-size:20px;
    line-height:1.25;
    font-weight:700;
    margin:0;
    padding-top:0;
    color:#222222;
}

.recruiter-process-step-title a {
    color:#222222;
    text-decoration:underline;
}

/* explanatory text */

.recruiter-process-step-text {
    font-size:17px;
    line-height:1.45;
    color:#444444;
    margin:0;
}

/* mobile adjustments */

@media (max-width:767px) {

    .recruiter-process-section h2.recruiter-process-title {
        font-size:26px;
        margin:0;
    }

    .recruiter-process-step {
        gap:10px;
        padding:11px 0;
    }

    .recruiter-process-number {
        flex:0 0 24px;
        width:24px;
        height:24px;
        font-size:13px;
        line-height:24px;
    }

    .recruiter-process-step-title {
        font-size:18px;
    }

    .recruiter-process-step-text {
        font-size:16px;
    }
}
/* Jobs: style the new H1 exactly like the old H2 block */
   .ib-job-title-header > h1 {
     margin: 0 !important;
     padding: 0 !important;
   }
   
   .ib-job-title-header > h1 > .ib-job-title {
     display: block !important;
     margin: 0 !important;
     padding: 0 !important;
     color: #e2e2e2 !important;
     font-size: 28px !important;
   }
   
   .ib-job-title-header > h1 > .ib-job-company {
     display: block !important;
     margin: 0 !important;
     padding: 0 !important;
     color: #e2e2e2 !important;
     font-size: 24px !important;
   }
   
   .ib-job-title-header > h1 > .ib-job-location {
     display: block !important;
     margin: 0 !important;
     padding: 0 !important;
     color: #e2e2e2 !important;
     font-size: 20px !important;
   }
.ib-job-title-header > h1 {
     line-height: 1 !important;
   }
   
   .ib-job-title-header > h1 > .ib-job-title {
     line-height: 1.3 !important;
   }
   
   .ib-job-title-header > h1 > .ib-job-company {
     line-height: 1.3 !important;
   }
   
   .ib-job-title-header > h1 > .ib-job-location {
     line-height: 1.3 !important;
   }
/* =========================================================
      5b. Recruiter section  / create job advert
   ========================================================= */   
   /* =========================================================
      JOB CREATE PAGE
      Mirrors published advert structure without changing form logic
      ========================================================= */
/* Hide old accordion header above create-job form */
      .ib-create-job-post .ib-job-form input.accordian-element[id$="_jobDetailsChk"]{
          display:none !important;
      }
      
      .ib-create-job-post .ib-job-form > div > .section-header,
      .ib-create-job-post .ib-job-form .section-header[for$="_jobDetailsChk"]{
          display:none !important;
      }
      
      .ib-create-job-post .ib-job-form > div > .section-header::after,
      .ib-create-job-post .ib-job-form .section-header[for$="_jobDetailsChk"]::after{
          display:none !important;
          content:none !important;
      }      
      
   /* Increase helper text size under headings */ 
   .job-create-card .field-item-description{font-size:15px;}
   /* Match dropdown arrow height to field */ 
   .job-create-card .select2-selection__arrow{height:48px!important;}
   /* Align salary fields vertically */ 
   .job-create-glance-salary .salary-fields-grid{align-items:start;}

   .job-create-header {
       margin: 0 0 20px 0;
   }
   
   .job-create-header h1 {
       margin: 0 0 8px 0;
       font-size: 34px;
       line-height: 1.15;
       color: #1f2a30;
   }
   
   .job-create-card {
       background: #fff;
       border: 1px solid #d9d9d9;
       border-radius: 10px;
       padding: 24px;
       margin: 0 0 24px 0;
       box-sizing: border-box;
   }
   
   .job-create-card h2 {
       margin: 0 0 8px 0;
       font-size: 24px;
       line-height: 1.2;
       color: #1f2a30;
   }
   
   .job-create-intro {
       margin: 0 0 20px 0;
       font-size: 15px;
       line-height: 1.5;
       color: #5d6a72;
   }
   
   .job-create-card--hero {
       border-top: 6px solid #407D40;
       background: #f8fbf8;
   }
   
   .job-create-card--glance {
       border-top: 6px solid #FFD400;
   }
   
   .job-create-card--description,
   .job-create-card--contact {
       border-top: 6px solid #407D40;
   }
   
   .job-create-card .field-item {
       margin: 0 0 20px 0;
   }
   
   .job-create-card .field-item:last-child {
       margin-bottom: 0;
   }
   
   .job-create-card .field-item-header {
       display: block;
       margin: 0 0 8px 0;
       font-size: 14px;
       line-height: 1.4;
       font-weight: 700;
       text-transform: uppercase;
       letter-spacing: 0.04em;
       color: #1f2a30;
   }
   
   .job-create-card .field-item-description {
       display: block;
       margin: -2px 0 10px 0;
       font-size: 14px;
       line-height: 1.5;
       color: #5d6a72;
   }
   
   .job-create-card input[type="text"],
   .job-create-card textarea,
   .job-create-card select {
       width: 100%;
       max-width: 100%;
       box-sizing: border-box;
   }
   
   .job-create-card input[type="text"],
   .job-create-card textarea {
       border: 1px solid #cfd7dc;
       border-radius: 8px;
       padding: 12px 14px;
       font-size: 16px;
       line-height: 1.4;
       color: #1f2a30;
       background: #fff;
   }
   
   .job-create-card select {
       min-height: 44px;
   }
   


/* First impressions card should feel closer to advert hero */
   .job-create-card--hero{background:#F7F8F9;border:1px solid #d7dbdd;border-radius:12px;padding:38px 38px 30px 38px;}
   .job-create-card--hero .select2-container .select2-selection--single{height:48px!important;padding:0 40px 0 16px!important;display:flex!important;align-items:center!important;}
   .job-create-card--hero .select2-container .select2-selection__rendered{font-size:16px!important;line-height:1.3!important;padding:0!important;}
   /* Main heading inside first card */
   .job-create-card--hero h2{margin:0 0 28px 0;font-size:34px;line-height:1.1;font-weight:700;color:#1f2a30;}
   /* Two-column hero layout */
   .job-create-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.95fr);gap:28px;align-items:start;width:100%;}
   /* Both hero columns should use full available width */
   .job-create-hero-main,.job-create-hero-media{min-width:0;width:100%;}
   /* Default field spacing inside hero */
   .job-create-card--hero .field-item{margin:0 0 22px 0;width:100%;}
   /* Hero field labels */
   .job-create-card--hero .field-item-header{display:block;margin:0 0 4px 0;font-size:18px;line-height:1.25;font-weight:700;letter-spacing:.02em;color:#1f2a30;text-transform:uppercase;}
   /* Hero helper text */
   .job-create-card--hero .field-item-description{display:block;margin:0 0 8px 0;font-size:15px;line-height:1.45;color:#5d6a72;}
   /* Ensure key left-column fields span full width */
   .job-create-card--hero .ib-edit-job-category,.job-create-card--hero .ib-edit-job-title,.job-create-card--hero .ib-edit-job-company,.job-create-card--hero .ib-edit-job-location,.job-create-card--hero .job-create-proposition,.job-create-card--hero .ib-edit-job-proposition{width:100%;}
   /* Standard inputs/selects/textarea full width */
   .job-create-card--hero input[type="text"],.job-create-card--hero select,.job-create-card--hero textarea{width:100%;max-width:100%;box-sizing:border-box;font-size:16px;line-height:1.3;padding:12px 16px;height:48px;}   /* Force location select full width */
   .job-create-card--hero .ib-edit-job-location select{width:100%!important;}
   /* Advert headline wrapper should feel special */
   .job-create-proposition{width:100%;margin-top:8px;padding:16px 18px 14px 18px;background:#fff;border:1px solid #d7dbdd;border-radius:10px;box-shadow:0 0 0 3px rgba(255,212,0,.18);}
   /* Remove extra inner spacing from the proposition field item */
   .job-create-proposition .field-item{margin:0;width:100%;}
   /* Advert headline label slightly larger */
   .job-create-proposition .field-item-header{font-size:18px;line-height:1.2;margin:0 0 6px 0;}
   /* Advert headline helper text slightly stronger */
   .job-create-proposition .field-item-description{margin:0 0 10px 0;font-size:14px;line-height:1.4;color:#4f5c64;}
   /* Advert headline box itself */
   .job-create-proposition textarea{width:100%!important;max-width:100%!important;min-height:0;height:48px;padding:12px 16px;resize:none;font-size:16px;line-height:1.3;overflow:hidden;background:#fff;box-sizing:border-box;}
   /* Logo and photo cards on right */
   .job-create-hero-media .practice-logo,.job-create-hero-media .practice-imagefile{background:#fff;border:1px solid #d7dbdd;border-radius:10px;padding:16px;margin:0 0 18px 0;}
   /* Remove extra bottom gap on last media card */
   .job-create-hero-media .practice-imagefile:last-child{margin-bottom:0;}
   /* Upload wrapper should take full width */
   .job-create-hero-media .field-item-input{display:block;width:100%;}
   /* Outer upload widget wrapper */
   .job-create-hero-media .ib-practice-images-div{position:relative!important;display:block;width:100%!important;max-width:100%!important;box-sizing:border-box;overflow:hidden!important;}
   /* First injected inner div from legacy upload control */
   .job-create-hero-media .ib-practice-images-div>div:first-child{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;}
   /* Force legacy upload table to fill width */
   .job-create-hero-media .ib-practice-images-div>div:first-child table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;}
   /* File-name cell can flex */
   .job-create-hero-media .ib-practice-images-div>div:first-child td:first-child{width:auto!important;}
   /* Browse button cell fixed width */
   .job-create-hero-media .ib-practice-images-div>div:first-child td:last-child{width:84px!important;}
   /* Force moxie/plupload shim into right-hand button area */
   .job-create-hero-media .ib-practice-images-div .moxie-shim,.job-create-hero-media .ib-practice-images-div div[id$="_container"]{position:absolute!important;top:10px!important;right:10px!important;left:auto!important;width:84px!important;height:30px!important;overflow:hidden!important;z-index:2!important;}
   /* Clickable file input area over the browse button */
   .job-create-hero-media .ib-practice-images-div input[type="file"]{width:84px!important;height:30px!important;cursor:pointer;}
   /* Existing uploaded preview image */
   .job-create-hero-media .ib-practice-images{display:block;max-width:100%;height:auto;margin:12px 0 0 0;border-radius:8px;}
   /* Mobile tidy-up */
   @media (max-width:767px){.job-create-card--hero{padding:24px 24px 20px 24px;}.job-create-card--hero h2{font-size:28px;margin-bottom:22px;}.job-create-hero-grid{grid-template-columns:1fr;}.job-create-proposition{padding:14px 14px 12px 14px;}.job-create-proposition textarea{height:52px;font-size:17px;}}
 /* JOB TITLE PILLS */
 .job-title-pills-field .field-item-description{margin:0 0 10px 0;}
 .job-title-pill-group{display:flex;flex-wrap:wrap;gap:8px 10px;margin:10px 0 12px 0;}
 .job-title-pill{appearance:none;border:1px solid #c7cdd1;background:#fff;color:#1f2a30;padding:7px 14px;border-radius:999px;font-size:13px;line-height:1.15;font-weight:600;cursor:pointer;box-sizing:border-box;}
 .job-title-pill:hover{background:#f3f5f6;}
 .job-title-pill.active{background:#4f8a4f;border-color:#4f8a4f;color:#fff;}
 .job-title-select-hidden{display:none!important;}
 .job-title-pills-field select.job-title-select-hidden{display:none!important;}
 .job-title-pills-field .select2-container{display:none!important;}
 .job-title-pill,.job-title-pill:hover,.job-title-pill:active,.job-title-pill:focus,.salary-choice-pill .checkbox-label{text-decoration:none!important;}
 @media (max-width:767px){.job-title-pill-group{gap:8px 8px;} .job-title-pill{padding:8px 12px;font-size:13px;}}  
/* Salary block tidy-up */
 /* Salary panel inside At a glance: white inner box inside the tinted card */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .ib-edit-job-salary{background:#fff!important;border:1px solid #d7dbdd!important;border-radius:10px;padding:18px 18px 14px 18px;}
 /* Salary section heading inside the white salary box */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .ib-edit-job-salary>.field-item-header{display:block;margin:0 0 4px 0;font-size:18px;line-height:1.2;font-weight:700;letter-spacing:.02em;color:#1f2a30;text-transform:uppercase;}
 /* Salary explanatory copy */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .ib-edit-job-salary>.field-item-description{display:block;margin:0 0 12px 0;font-size:15px!important;line-height:1.45;color:#5d6a72;}
 /* Row containing Minimum offer / Pay range choice */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-choice-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 16px 0;}
 /* Each salary choice behaves like a pill wrapper */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-choice-pill{display:inline-flex;align-items:center;margin:0;}
 /* Hide the old-school radio visually but keep it functional */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salaryCheckbox{position:absolute;opacity:0;pointer-events:none;width:0;height:0;overflow:hidden;}
 /* Pill-style labels for salary mode */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .checkbox-label{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:8px 14px;border:1px solid #c7cdd1;border-radius:999px;background:#fff;color:#1f2a30;font-size:13px;line-height:1.15;font-weight:600;cursor:pointer;box-sizing:border-box;text-decoration:none!important;}
 /* Hover state for salary pills */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .checkbox-label:hover{background:#f3f5f6;text-decoration:none!important;}
 /* Active salary pill */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .checkbox-label.active{background:#4f8a4f;border-color:#4f8a4f;color:#fff;text-decoration:none!important;}
 /* Salary fields laid out as a tidy grid */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.2fr) minmax(150px,1fr) minmax(170px,1fr);gap:14px;align-items:start;}
 /* Kill legacy float column layout inside salary grid */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .col-1,.job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .col-2,.job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .col-3,.job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .col-4{float:none!important;width:auto!important;margin:0!important;}
 /* Remove inherited spacing from inner salary field items */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .field-item{margin:0!important;width:100%!important;float:none!important;display:block!important;}
 /* Labels inside salary field grid */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .field-item-header{display:block;margin:0 0 6px 0;font-size:18px;line-height:1.2;font-weight:700;letter-spacing:.02em;color:#1f2a30;text-transform:uppercase;}
 /* Minimum and maximum text boxes */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid input[type="text"]{width:100%!important;max-width:100%!important;box-sizing:border-box;height:48px!important;margin:3px 0 0 0!important;padding:12px 16px!important;font-size:16px!important;line-height:1.3!important;border-radius:10px;}
 /* Select2 wrappers for Per and Currency */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .select2-container{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;vertical-align:top!important;}
 /* Select2 single select styling for Per and Currency */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .select2-container .select2-selection--single{height:48px!important;padding:0 40px 0 16px!important;display:flex!important;align-items:center!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #cfd7dc!important;border-radius:10px!important;margin:0!important;appearance:none!important;-webkit-appearance:none!important;}
 /* Select2 rendered text styling for Per and Currency */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .select2-selection__rendered{font-size:16px!important;line-height:46px!important;padding:0!important;color:#1f2a30!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
 /* Select2 arrow alignment for Per and Currency */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid .select2-selection__arrow{height:48px!important;right:10px!important;}
 /* Hide maximum field when Minimum offer mode is selected */
 .job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salaryMaxParent.hide{display:none!important;}
 /* Add breathing space above Benefits section */
 .job-create-card--glance .ib-edit-job-benefits{margin-top:24px!important;}
 /* Mobile adjustments */
 @media (max-width:767px){.job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-choice-row{gap:10px;}.job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid{grid-template-columns:1fr 1fr;}}
 /* Very small screens: stack salary grid to one column */
 @media (max-width:520px){.job-create-card.job-create-card--hero.job-create-card--glance .job-create-glance-salary .salary-fields-grid{grid-template-columns:1fr;}}
 /* Job description guidance box */
 .job-description-guidance{background:#f5faf5;border:1px solid #b7d1b7;border-radius:10px;padding:14px 16px;margin:0 0 16px 0;font-size:15px;line-height:1.5;color:#355535;}
 /* Job description guidance heading */
 .job-description-guidance p{margin:0 0 6px 0;font-weight:700;}
 /* Job description guidance list */
 .job-description-guidance ul{margin:0;padding-left:18px;}
 /* Job description guidance list items */
 .job-description-guidance li{margin:0 0 4px 0;}
 /* restore bullets in job description guidance */
 .job-description-guidance ul{list-style:disc;margin:0;padding-left:20px;}
 /* ensure list items render as list items */
 .job-description-guidance li{display:list-item;}
 /* Hide duplicate location error message */
 [id$="_jobLocationError"]{display:none!important;}
 .job-help-box{margin-top:16px; padding:14px 16px; background:#eef5fb; border:1px solid #cfe1f3; border-radius:6px; font-size:14px;}
 .job-submit-note{margin-top:10px; font-size:13px; color:#666;}
 /* =========================================================  
  5b. Recruiter section  / pay
  ========================================================= */   
/* Payment section show/hide */
  #job-payment-section.is-collapsed {
      display: none !important;
  }
  
  #job-payment-section.is-open {
      display: block !important;
  }
  
  /* Payment summary box */
  .job-payment-section .purchase-summary {
      background: #fff;
      border: 1px solid #d7dbdd;
      border-radius: 10px;
      padding: 14px 16px;
      margin: 0 0 20px 0;
  }
  
  /* Hosted payment field wrappers */
  .job-payment-section .hosted_field {
      display: inline-block;
      vertical-align: top;
      box-sizing: border-box;
      margin-bottom: 16px;
  }
  
  .job-payment-section .hosted_field.number {
      width: 54%;
  }
  
  .job-payment-section .hosted_field:not(.number) {
      width: 18%;
      margin-left: 4%;
  }
  
  .job-payment-section .hosted_field.cvv {
      margin-right: 0;
  }
  
  .job-payment-section .hosted_field .field-item-header {
      white-space: nowrap;
  }
  
  /* Outer hosted field boxes */
  .ib-create-job-post .card_container #card-number,
  .ib-create-job-post .card_container #expiration-date,
  .ib-create-job-post .card_container #cvv {
      display: inline-block;
      height: 48px !important;
      line-height: 48px !important;
      border: 1px solid #c3d1d8 !important;
      border-radius: 8px !important;
      padding-left: 12px !important;
      padding-right: 12px !important;
      margin-top: 6px;
      box-sizing: border-box !important;
      background: #fff !important;
  }
  
  /* Let the embedded payment iframe fill the box */
  .ib-create-job-post .card_container #card-number iframe,
  .ib-create-job-post .card_container #expiration-date iframe,
  .ib-create-job-post .card_container #cvv iframe {
      width: 100% !important;
      height: 100% !important;
      display: block !important;
      border: 0 !important;
  }
  
  /* Mobile stack */
  @media (max-width: 767px) {
      .job-payment-section .hosted_field.number,
      .job-payment-section .hosted_field:not(.number) {
          width: 100%;
          display: block;
          margin-left: 0;
          margin-right: 0;
      }
  }
/* =========================================================  
   5c. Recruiter section  / actual job adverts
   ========================================================= */   
/* remove quicklinks */
.ib-job-options#fragment-7049{display:none!important;}
/* remove unintended border around job advert container */
   .content-fragment.ib-view-job{border:none!important;}
/* remove border around job advert container without affecting form controls */
   .content-fragment.ib-view-job.no-wrapper{border:none!important;} 
   /* remove legacy dark header */
   .ib-job-title-header {
       margin: 0 0 18px 0;
       padding: 0;
       background: none !important;
       border: 0 !important;
   }
  .ib-job-top-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 260px;
      gap: 20px;
      align-items: start;
      margin-bottom: 20px;
  }
  
  .ib-job-top-main {
      min-width: 0;
  }
  
  .ib-job-top-media {
      min-width: 0;
  }
  
@media (max-width: 900px) {
      .ib-job-top-grid {
          grid-template-columns: 1fr;
      }
  
      .ib-job-glance-grid {
          grid-template-columns: 1fr;
      }
  
      .ib-job-glance-item-benefits {
          grid-column: auto;
      }
  }
  
/* CONTACT CARD */
.ib-job-top-media {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
  
  .ib-job-contact-card {
      margin: 0;
  }
  
  .ib-job-contact-card-inner {
      padding: 18px;
      background: #f7f8f9;
      border: 1px solid #dde2e6;
      border-radius: 12px;
  }
  
  .ib-job-contact-card-inner h2 {
      margin: 0 0 14px 0;
      font-size: 22px !important;
      line-height: 1.2;
      font-weight: 700;
      color: #1f2a30;
  }
  
  .ib-job-contact-item {
      margin: 0 0 12px 0;
      padding: 12px 14px;
      background: #ffffff;
      border: 1px solid #dde2e6;
      border-radius: 12px;
  }
  
  .ib-job-contact-item:last-of-type {
      margin-bottom: 0;
  }
  
  .ib-job-contact-label {
      display: block;
      margin: 0 0 6px 0;
      font-size: 13px !important;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: #6b747c;
  }
  
  .ib-job-contact-value,
  .ib-job-contact-value span,
  .ib-job-contact-value a {
      font-size: 17px !important;
      line-height: 1.35;
      font-weight: 700;
      color: #1f2a30;
      word-break: break-word;
  }
  
  .ib-job-contact-note {
      margin-top: 14px;
      padding: 12px 14px;
      background: #f5faf5;
      border: 1px solid #b7d1b7;
      border-radius: 12px;
      font-size: 15px !important;
      line-height: 1.45;
      color: #355535;
  }
  
  .ib-job-contact-note a {
      font-weight: 700;
  }
.ib-job-posted-by-note {
      margin-top: 10px;
      padding: 8px 12px;
      background: #eef1f3;
      border: 1px solid #d7dde1;
      border-radius: 12px;
      font-size: 13px !important;
      line-height: 1.35;
      color: #5e6b73;
  }
  
  .ib-job-posted-by-note a {
      font-weight: 700;
      color: #5e6b73;
      text-decoration: none;
  }
  
  .ib-job-posted-by-note a:hover {
      text-decoration: underline;
  }
  .ib-job-contact-item-email {
      border: 2px solid #d6dde3;
  }
  .ib-job-contact-value a[href^="tel"] {
      text-decoration: none;
      color: inherit;
  }    
   /* TITLE CARD */
   .ib-job-title-card {
       padding: 24px;
       background: #f7f8f9;
       border: 1px solid #dde2e6;
       border-radius: 12px;
   }
   
   .ib-job-title-card .ib-job-title {
       margin: 0 0 8px 0;
       font-size: 36px !important;
       line-height: 1.1;
       font-weight: 700;
       color: #1f2a30;
   }
   
   .ib-job-title-card .ib-job-company {
       margin: 0 0 4px 0;
       font-size: 20px !important;
       line-height: 1.3;
       font-weight: 700;
       color: #1f2a30;
       text-transform: uppercase;
       letter-spacing: 0.04em;
   }
   
   .ib-job-title-card .ib-job-location {
       margin: 0 0 18px 0;
       font-size: 16px !important;
       line-height: 1.4;
       color: #5e6b73;
   }
   
   .ib-job-title-card .ib-job-proposition-title {
       margin-top: 14px;
       padding-top: 12px;
       border-top: 2px solid #FFD400;
       font-size: 18px !important;
       line-height: 1.4;
       font-style: italic;
       font-weight: 700;
       color: #407D40;
   }
   
   /* SINGLE MEDIA CARD */
   .ib-job-images-right {
       display: flex;
       flex-direction: column;
       gap: 14px;
       padding: 14px;
       background: #f7f8f9;
       border: 1px solid #dde2e6;
       border-radius: 12px;
       box-sizing: border-box;
       float: none !important;
       width: auto !important;
       margin: 0 !important;
   }
   
   /* INNER PANELS */
   .ib-job-images-right .ib-job-logo,
   .ib-job-images-right .ib-job-image {
       background: #ffffff;
       border: 1px solid #dde2e6;
       border-radius: 12px;
       overflow: hidden;
       padding: 12px;
   }
   
   .ib-job-images-right .ib-job-logo {
       min-height: 96px;
       display: flex;
       align-items: center;
       justify-content: center;
   }
   
   .ib-job-images-right .ib-job-image {
       display: flex;
       align-items: center;
       justify-content: center;
   }
   
   /* IMAGE BEHAVIOUR */
   .ib-job-images-right .ib-job-logo img,
   .ib-job-images-right .ib-job-image img {
       display: block;
       max-width: 100%;
       height: auto;
       margin: 0 auto;
   }
   
   .ib-job-images-right .ib-job-image img {
       width: 100%;
       border-radius: 8px;
   }
   
   /* remove old two-column layout behaviour */
   .ib-view-job .two-column {
       margin: 0 !important;
       padding: 0 !important;
   }
   
   .ib-view-job .two-column > div {
       margin: 0 !important;
       padding: 0 !important;
   }
   
   .ib-view-job .two-column:before,
   .ib-view-job .two-column:after {
       content: none !important;
       display: none !important;
   }
   
   .ib-job-text-left {
       margin: 0 !important;
       padding: 0 !important;
       float: none !important;
       width: 100% !important;
   }
   
   .ib-job-border {
       margin: 0 !important;
   }
   
   /* AT A GLANCE CARD */
   .ib-job-glance-card {
       margin: 0 0 20px 0;
       padding: 18px;
       background: #f7f8f9;
       border: 1px solid #dde2e6;
       border-radius: 12px;
   }
   
   .ib-job-glance-card h2 {
       margin: 0 0 16px 0;
       font-size: 22px !important;
       line-height: 1.2;
       font-weight: 700;
       color: #1f2a30;
   }
   
   .ib-job-glance-grid {
       display: grid;
       grid-template-columns: repeat(2, minmax(0, 1fr));
       gap: 14px;
   }
   
   .ib-job-glance-item {
       padding: 14px 16px;
       background: #ffffff;
       border: 1px solid #dde2e6;
       border-radius: 12px;
       min-width: 0;
   }
   
   .ib-job-glance-label {
       display: block;
       margin: 0 0 6px 0;
       font-size: 13px !important;
       line-height: 1.2;
       font-weight: 700;
       letter-spacing: 0.04em;
       text-transform: uppercase;
       color: #6b747c;
   }
   
   .ib-job-glance-value,
   .ib-job-glance-item .value {
       display: block;
       font-size: 17px !important;
       line-height: 1.35;
       font-weight: 700;
       color: #1f2a30;
   }
   
   .ib-job-glance-item-benefits {
       grid-column: 1 / -1;
   }
   
   .ib-job-benefits-list {
       display: flex;
       flex-wrap: wrap;
       gap: 8px;
       margin-top: 2px;
   }
   
   .ib-job-benefit-chip {
       display: inline-flex;
       align-items: center;
       min-height: 30px;
       padding: 0 12px;
       background: #eef1f3;
       border: 1px solid #d7dde1;
       border-radius: 999px;
       font-size: 15px !important;
       line-height: 1.2;
       font-weight: 700;
       color: #34424a;
   }
   
   .ib-job-glance-card .salary-link {
       color: #6b747c;
       text-decoration: none;
   }
   
   .ib-job-glance-card .salary-link:hover {
       text-decoration: underline;
   }
   /* JOB DESCRIPTION CARD */
   
   .ib-job-description {
       margin: 0 0 20px 0;
       padding: 18px;
       background: #f7f8f9;
       border: 1px solid #dde2e6;
       border-radius: 12px;
   }
   
   .ib-job-description h3 {
       margin: 0 0 14px 0;
       font-size: 22px !important;
       line-height: 1.2;
       font-weight: 700;
       color: #1f2a30;
   }
   
   /* normalise advertiser content */
   
   .ib-job-description .microdata-descr,
   .ib-job-description .microdata-descr p,
   .ib-job-description .microdata-descr li,
   .ib-job-description .microdata-descr div,
   .ib-job-description .microdata-descr span {
       font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
       font-size: 16px !important;
       line-height: 1.55 !important;
       color: #1f2a30 !important;
   }
   
   .ib-job-description .microdata-descr p,
   .ib-job-description .microdata-descr ul,
   .ib-job-description .microdata-descr ol {
       margin: 0 0 1em 0 !important;
   }
   
   .ib-job-description .microdata-descr ul,
   .ib-job-description .microdata-descr ol {
       padding-left: 1.2em !important;
   }
   
   .ib-job-description .microdata-descr li {
       margin: 0 0 0.45em 0 !important;
   }
   
   .ib-job-description .microdata-descr strong,
   .ib-job-description .microdata-descr b {
       font-weight: 700 !important;
   }
   
   .ib-job-description .microdata-descr h1,
   .ib-job-description .microdata-descr h2,
   .ib-job-description .microdata-descr h3,
   .ib-job-description .microdata-descr h4,
   .ib-job-description .microdata-descr h5,
   .ib-job-description .microdata-descr h6 {
       margin: 1em 0 0.5em 0 !important;
       font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
       font-weight: 700 !important;
       line-height: 1.25 !important;
       color: #1f2a30 !important;
   }
   
   .ib-job-description .microdata-descr h1 { font-size: 24px !important; }
   .ib-job-description .microdata-descr h2 { font-size: 22px !important; }
   .ib-job-description .microdata-descr h3 { font-size: 20px !important; }
   .ib-job-description .microdata-descr h4,
   .ib-job-description .microdata-descr h5,
   .ib-job-description .microdata-descr h6 { font-size: 18px !important; }
   
   /* tame pasted inline images */
   .ib-job-description .microdata-descr img {
       max-width: 100% !important;
       height: auto !important;
   }
   /* MAP CARD */
   .ib-job-map-section {
       margin-top: 20px;
       padding: 16px;
       background: #f7f8f9;
       border: 1px solid #dde2e6;
       border-radius: 12px;
   }
   
   .ib-job-map-section h2 {
       margin: 0 0 10px 0;
       font-size: 2rem;
       line-height: 1.1;
       font-weight: 700;
       color: #1f2a30;
   }
   
   .ib-job-map-wrap {
       position: relative;
       width: 100%;
       padding-top: 56.25%;
       border-radius: 10px;
       overflow: hidden;
       background: #eef1f3;
   }
   
   .ib-job-map-wrap .ib-job-map,
   .ib-job-map-wrap .ib-job-map-full {
       position: absolute;
       inset: 0;
       width: 100% !important;
       height: 100% !important;
   }
   
   .ib-job-map-loading {
       display: none;
   }

/* =========================================================
   6. Utilities / temporary migrations
   ========================================================= */
/* Logout page */
   .logout-message {
       max-width: 720px;
       margin: 60px auto;
       padding: 20px;
       text-align: center;
   }
   
   .logout-message h1 {
       margin: 0 0 16px 0;
       font-size: 44px;
       line-height: 1.15;
       font-weight: 700;
       color: #222;
   }
   
   .logout-message p {
       margin: 0 0 28px 0;
       font-size: 20px;
       line-height: 1.5;
       color: #555;
   }
   
   .logout-actions {
       display: flex;
       justify-content: center;
       gap: 14px;
       flex-wrap: wrap;
   }
   
   .logout-button {
       display: inline-block;
       padding: 12px 20px;
       border-radius: 6px;
       text-decoration: none !important;
       font-size: 16px;
       font-weight: 600;
       transition: all 0.2s ease;
   }
   
   .logout-button-primary {
       background: #4A874A;
       color: #fff !important;
       border: 1px solid #4A874A;
   }
   
   .logout-button-primary:hover {
       background: #3f743f;
       border-color: #3f743f;
   }
   
   .logout-button-secondary {
       background: #fff;
       color: #4A874A !important;
       border: 1px solid #4A874A;
   }
   
  .logout-button-secondary:hover {
      background: #f3f8f3;
      color: #4A874A !important;
      border: 1px solid #4A874A;
  }
/* =========================================================
   7. Widgets
   ========================================================= */   
   /* WC - USER INFO */
   /*spacing above intro on homepage*/
   .ib-user-info-combined-title {
       margin-top: 26px;
   }
   /* WC - JOBS SIDEBAR LIST */   
   .vs-jobs-sidebar .job-links {
	   list-style: none;
	   margin: 0;
	   padding: 0;
   }
   
   .vs-jobs-sidebar .job-links li {
	   margin: 0 0 16px 0;
	   padding: 0;
   }
   
   .vs-jobs-sidebar .job-location {
	   display: block;
	   text-transform: uppercase;
	   font-weight: 700;
	   line-height: 1.15;
	   margin: 0 0 2px 0;
	   padding: 0;
   }
   
   .vs-jobs-sidebar .job-title-link {
	   display: block;
	   margin: 0;
	   padding: 0;
	   text-decoration: none;
	   line-height: 1.15;
   }
   
   .vs-jobs-sidebar .job-title {
	   display: block;
	   margin: 0;
	   padding: 0;
	   color: #a40000;
   }
   
   .vs-jobs-sidebar .all-jobs-link {
	   margin: 4px 0 0 0;
	   padding: 0;
   }
   
   .vs-jobs-sidebar .all-jobs-link a::after {
	   content: " →";
   }
   
   .vs-jobs-sidebar .job-widget-divider {
	   border-bottom: 1px solid #e2e2e2;
	   margin: 12px -12px -12px -12px;
   }
   
   .vs-jobs-sidebar {
	   margin-bottom: 0;
   }