/* =========================================================
   WordPress integration layer (loaded after style.css)
   ========================================================= */

/* Admin bar: keep the sticky main bar visible below it */
.admin-bar .header{top:-6px}
@media (max-width:782px){.admin-bar .header{top:8px}}
@media (max-width:600px){.admin-bar .header{top:-38px}}

/* Skip link */
.skip-link:focus{position:fixed!important;left:16px;top:16px;z-index:100000;width:auto;height:auto;clip:auto;clip-path:none;margin:0;padding:10px 16px;border-radius:10px;background:#12135C;color:#fff;font-weight:700;overflow:visible;white-space:normal}

/* Uploaded custom logo (Appearance -> Customize -> Site Identity) */
.logo-custom{display:flex;align-items:center;flex:none;height:56px;padding:6px 10px;border-radius:12px;background:#fff}
.logo-custom img,.logo-img{display:block;width:auto;max-height:100%;max-width:220px;object-fit:contain}
.ft-logo--custom{line-height:0}
.ft-logo--custom img{max-height:64px;width:auto;max-width:220px}

/* Newsletter plugin output inside the footer card */
.ft-news__plugin{flex:1 1 380px;min-width:0}
.ft-news__plugin input[type=email],.ft-news__plugin input[type=text]{height:52px;border-radius:12px;border:1px solid rgba(255,255,255,.2);padding:0 16px;font:inherit;width:100%}
.ft-news__plugin button,.ft-news__plugin input[type=submit]{height:52px;border:0;border-radius:12px;padding:0 22px;background:#E12B24;color:#fff;font:inherit;font-weight:700;cursor:pointer}

/* Empty states */
.jobs .empty,.box .empty{padding:18px;color:#6b7086;font-size:14px}

/* Default inner templates (blog, archive, page, search) */
.site-main{max-width:1240px;margin:0 auto;padding:40px 20px 72px}
.site-main .page-header,.site-main .entry-header{margin-bottom:20px}
.site-main .page-title,.site-main .entry-title{font-size:clamp(24px,3vw,34px);line-height:1.25;color:#12135C;margin:0 0 8px}
.site-main .entry-title a{color:inherit;text-decoration:none}
.site-main article{background:#fff;border:1px solid #e6e8f0;border-radius:16px;padding:24px;margin-bottom:20px}
.site-main .entry-content{line-height:1.75;color:#2f3247}
.site-main .entry-content img{max-width:100%;height:auto}
.site-main .entry-meta,.site-main .entry-footer{font-size:13px;color:#6b7086}
.nav-links{display:flex;justify-content:space-between;gap:16px;margin-top:24px}
.nav-links a{font-weight:700;color:#12135C}
.alignleft{float:left;margin:0 20px 12px 0}.alignright{float:right;margin:0 0 12px 20px}.aligncenter{display:block;margin:0 auto 12px}
.wp-caption{max-width:100%}.wp-caption-text{font-size:13px;color:#6b7086}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Newsletter: hidden spam trap + busy state */
.ft-news__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ft-news__form.is-busy .ft-news__btn{opacity:.7;cursor:progress}

/* =========================================================
   Contact page: Contact Form 7 inside the designed card
   ========================================================= */
.ccard__ic--yellow{background:#FFF4D6;color:#B26B00}
.ccard--follow .social{margin-left:auto}
.wpcf7{margin:0}
.wpcf7 form.cform{margin-top:22px}
.cform .cfield__box{position:relative}
.cform .cfield__box .wpcf7-form-control-wrap{position:static;display:flex;flex:1;min-width:0;align-self:stretch}
.cform .cfield__box--area .wpcf7-form-control-wrap{display:block}
.cform .cfield__box textarea{display:block;width:100%;min-height:132px;resize:vertical;line-height:1.6}
.cform .cfield__box input:focus,.cform .cfield__box textarea:focus{outline:none;box-shadow:none}
.cform .cfield__box:focus-within{border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px rgba(18,19,92,.08)}
.cform .wpcf7-not-valid-tip{position:absolute;left:0;top:calc(100% + 1.5px + 7px);display:block;margin:0;padding:0;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--red);white-space:nowrap;pointer-events:none}
.cform .cfield__box .wpcf7-not-valid{border:0;box-shadow:none;background:transparent}
.cform .cfield:has(.wpcf7-not-valid-tip){margin-bottom:20px}
.cform .cfield:has(.wpcf7-not-valid) .cfield__box{border-color:var(--red);background:#FFF7F6;box-shadow:0 0 0 4px rgba(225,43,36,.08)}
.cform__foot .wpcf7-spinner{margin:0 4px;background-color:var(--navy)}
.cform .cform__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer}
.cform .cform__btn:disabled{opacity:.7;cursor:progress}
.wpcf7 form.cform .wpcf7-response-output{margin:2px 0 0;padding:12px 16px;border:0;border-radius:12px;font-size:14px;font-weight:600;line-height:1.5}
.wpcf7 form.cform.sent .wpcf7-response-output{background:var(--green-soft);color:var(--green)}
.wpcf7 form.cform.invalid .wpcf7-response-output,.wpcf7 form.cform.unaccepted .wpcf7-response-output,.wpcf7 form.cform.payment-required .wpcf7-response-output{background:#FFF7F6;color:var(--red)}
.wpcf7 form.cform.failed .wpcf7-response-output,.wpcf7 form.cform.aborted .wpcf7-response-output,.wpcf7 form.cform.spam .wpcf7-response-output{background:#FFF8E6;color:#8A5300}
.wpcf7 .screen-reader-response{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* =========================================================
   About page
   ========================================================= */
.mvv__card--navy{--c:var(--navy);--t:var(--navy-soft)}
.about-logo--img{padding:24px 30px 28px}
.about-logo--img img{display:block;width:auto;height:auto;max-width:220px;max-height:150px;object-fit:contain}

/* =========================================================
   Legal pages
   ========================================================= */
.lhero__updated{margin-top:8px;font-size:13.5px;font-weight:600;color:#AEB2DA}
.llayout--full{grid-template-columns:minmax(0,1fr)}
.ldoc .lsec img{max-width:100%;height:auto}

/* =========================================================
   Job listings: no results
   ========================================================= */
.list-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;text-align:center}
.list-empty__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--navy-soft,#EEF0FA);color:var(--navy)}
.list-empty__ic .ic{width:24px;height:24px}
.list-empty h2{margin:6px 0 0;font-size:20px;color:var(--navy)}
.list-empty p{margin:0 0 8px;max-width:420px;color:var(--muted)}

/* Mobile filters panel: start below the WordPress admin bar (logged-in users) */
@media (max-width:860px){.admin-bar .filters{top:32px}}
@media (max-width:782px){.admin-bar .filters{top:46px}}

/* =========================================================
   404 page
   ========================================================= */
.e404{padding-bottom:44px}
.e404__row{display:flex;align-items:center;gap:22px;margin:4px 0 22px}
.e404__code{flex:none;font-size:clamp(56px,8vw,96px);font-weight:800;line-height:1;letter-spacing:-.04em;background:linear-gradient(135deg,#fff 0%,#F5A60B 55%,#E12B24 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.e404 .popular span{color:#C3C6E6}
.e404 .popular a{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
.e404 .popular a:hover{background:#fff;color:var(--navy)}
.e404__links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-22px 0 40px;position:relative;z-index:7}
.e404__links .ccard{text-decoration:none;color:inherit}
.e404__jobs{padding-top:44px}
@media (max-width:980px){.e404__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .e404__row{flex-direction:column;align-items:flex-start;gap:6px}
  .e404__links{grid-template-columns:1fr;margin-top:-16px}
}

/* Default pages: content from the block / classic editor */
.jc-page-content > *:first-child{margin-top:0}
.jc-page-content h2,.jc-page-content h3{color:var(--navy);margin:1.4em 0 .5em;line-height:1.3}
.jc-page-content blockquote,.jc-page-content .wp-block-quote{margin:1.2em 0;padding:14px 20px;border-left:4px solid var(--red);background:#F7F8FC;border-radius:0 12px 12px 0}
.jc-page-content img{max-width:100%;height:auto;border-radius:12px}
.jc-page-content .wp-block-button__link{background:var(--red);color:#fff;border-radius:12px;padding:12px 20px;font-weight:700}

/* Long unbroken strings (e.g. "Fitter/Electrician/…") wrap inside job content. */
.jarticle p,.jarticle li,.jarticle dd,.jarticle dt,.jarticle h2,.jarticle h3,.vpost__head h3,.fee span,.fee strong,.step,.check li,.jfacts,.jhero h1{overflow-wrap:anywhere}
.jarticle td,.jarticle th{overflow-wrap:break-word}

/* Pagination: keep it on one line on small phones (1 … 49 50 51 … 100). */
@media (max-width:400px){
  .pager__far{display:none}
  .pager__list{gap:2px}
  .pager__gap{padding:0 2px}
}
