/* ===========================================================
 * BEC · repair + career templates
 * ---------------------------------------------------------
 * Additive stylesheet. Loaded AFTER templates.css.
 * Contains only the new selectors used by:
 *   - page-repair.html   (Fire alarm & surveillance repair   /repair/)
 *   - page-career.html   (Careers + employment application   /career/)
 *
 * Reuses brand tokens from custom.css and the section
 * helpers / page-hero / breadcrumbs / list-cards from
 * templates.css. Drop this file in alongside templates.css
 * and enqueue it after templates.css in the WordPress child
 * theme. Mirrors the pattern of services-awards.css.
 * =========================================================== */


/* ===========================================================
 * 0 · SHARED — request/application form (both pages)
 * =========================================================== */
.bec-rcform-wrap{
  background:#fff;border:1px solid var(--bec-line);border-radius:var(--bec-radius);
  padding:28px 28px 24px;
  box-shadow:0 10px 30px -16px rgba(15,58,138,.18);
}
.bec-rcform .form-label{
  font-size:13px;font-weight:600;color:var(--bec-ink-2);
  margin-bottom:4px;letter-spacing:.01em;
}
.bec-rcform .form-label em,
.bec-req{color:var(--bec-accent-2);font-style:normal;margin-left:2px}
.bec-rcform .form-control,
.bec-rcform .form-select{
  border:1px solid var(--bec-line);border-radius:10px;
  padding:10px 12px;font-size:14.5px;color:var(--bec-ink);
}
.bec-rcform .form-control:focus,
.bec-rcform .form-select:focus{
  border-color:var(--bec-brand);box-shadow:0 0 0 3px rgba(15,58,138,.12);
}

/* shared "ticked" callout list under the form intro */
.bec-rcform-callouts{
  list-style:none;padding:0;margin:24px 0 0;
  display:grid;gap:10px;
}
.bec-rcform-callouts li{
  font-size:14.5px;color:var(--bec-ink-2);
  padding-left:22px;position:relative;
}
.bec-rcform-callouts li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:10px;height:10px;border-radius:2px;background:var(--bec-accent);
}
.bec-rcform-callouts li b{color:var(--bec-ink);font-weight:700}

/* shared check-list on the dark band (repair "why" + career "benefits") */
.bec-rep-why,
.bec-car-benefits{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:22px;
}
.bec-rep-why li,
.bec-car-benefits li{display:flex;gap:14px;align-items:flex-start}
.bec-rep-why-icon,
.bec-rc-check-icon{
  flex-shrink:0;width:38px;height:38px;border-radius:50%;
  background:var(--bec-accent);color:var(--bec-ink);
  display:inline-flex;align-items:center;justify-content:center;
}
.bec-rep-why b,
.bec-car-benefits b{
  display:block;color:#fff;font-weight:700;font-size:16px;margin-bottom:4px;
}
.bec-rep-why p,
.bec-car-benefits p{
  margin:0;color:rgba(255,255,255,.7);font-size:14px;line-height:1.55;
}
@media (max-width:768px){
  .bec-rep-why,
  .bec-car-benefits{grid-template-columns:1fr}
}


/* ===========================================================
 * 1 · REPAIR PAGE
 * =========================================================== */

/* 1.1 · Response-stats strip (just below page hero) -------- */
.bec-rep-stats{
  background:var(--bec-brand-dk);color:#fff;padding:34px 0;
}
.bec-rep-stats-grid{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
}
.bec-rep-stats-grid li{
  display:flex;flex-direction:column;gap:4px;
  border-left:3px solid var(--bec-accent);padding-left:18px;
}
.bec-rep-stats-grid b{
  font-family:"Barlow Condensed","Inter",sans-serif;
  font-weight:800;font-size:42px;line-height:1;color:#fff;letter-spacing:-.02em;
}
.bec-rep-stats-grid span{
  font-size:13.5px;color:rgba(255,255,255,.75);line-height:1.4;max-width:30ch;
}
@media (max-width:991px){.bec-rep-stats-grid{grid-template-columns:repeat(2,1fr);gap:26px}}
@media (max-width:480px){.bec-rep-stats-grid{grid-template-columns:1fr}}


/* 1.2 · How-it-works numbered steps ------------------------ */
.bec-rep-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  counter-reset:repstep;
}
.bec-rep-step{
  position:relative;height:100%;
  background:#fff;border:1px solid var(--bec-line);border-radius:var(--bec-radius);
  padding:30px 24px 24px;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.bec-rep-step:hover{
  transform:translateY(-2px);border-color:var(--bec-brand);
  box-shadow:0 16px 36px -20px rgba(15,58,138,.22);
}
.bec-rep-step-num{
  display:inline-block;
  font-family:"Barlow Condensed","Inter",sans-serif;
  font-weight:800;font-size:40px;line-height:1;color:var(--bec-accent);
  letter-spacing:-.02em;margin-bottom:10px;
}
.bec-rep-step h3{
  font-family:"Inter",sans-serif;font-size:17px;font-weight:700;
  margin:0 0 8px;color:var(--bec-ink);letter-spacing:0;
}
.bec-rep-step p{
  font-size:14px;color:var(--bec-muted);line-height:1.6;margin:0;
}
@media (max-width:991px){.bec-rep-steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.bec-rep-steps{grid-template-columns:1fr}}


/* ===========================================================
 * 2 · CAREER PAGE
 * =========================================================== */

/* 2.1 · Why-work-here perk cards --------------------------- */
.bec-car-perks{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.bec-car-perk{
  height:100%;
  background:#fff;border:1px solid var(--bec-line);border-radius:var(--bec-radius);
  padding:28px 24px 24px;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.bec-car-perk:hover{
  transform:translateY(-2px);border-color:var(--bec-brand);
  box-shadow:0 16px 36px -20px rgba(15,58,138,.22);
}
.bec-car-perk-icon{
  width:50px;height:50px;border-radius:12px;
  background:rgba(245,180,0,.16);color:var(--bec-brand);
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:16px;
}
.bec-car-perk h3{
  font-family:"Inter",sans-serif;font-size:18px;font-weight:700;
  margin:0 0 8px;color:var(--bec-ink);letter-spacing:0;
}
.bec-car-perk p{
  font-size:14px;color:var(--bec-muted);line-height:1.6;margin:0;
}
@media (max-width:991px){.bec-car-perks{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.bec-car-perks{grid-template-columns:1fr}}


/* 2.2 · Open-position cards -------------------------------- */
.bec-car-roles{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
.bec-car-role{
  background:#fff;border:1px solid var(--bec-line);border-radius:var(--bec-radius);
  padding:26px 26px 22px;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.bec-car-role:hover{
  transform:translateY(-2px);border-color:var(--bec-brand);
  box-shadow:0 16px 36px -20px rgba(15,58,138,.22);
}
.bec-car-role-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:14px;margin-bottom:10px;
}
.bec-car-role-head h3{
  font-family:"Inter",sans-serif;font-size:19px;font-weight:700;
  margin:0;color:var(--bec-ink);letter-spacing:0;
}
.bec-car-role-type{
  flex-shrink:0;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--bec-ink);
  background:var(--bec-accent);padding:5px 10px;border-radius:99px;white-space:nowrap;
}
.bec-car-role p{
  font-size:14.5px;color:var(--bec-muted);line-height:1.6;margin:0 0 14px;
}
.bec-car-role-apply{
  font-weight:700;color:var(--bec-brand);font-size:14px;text-decoration:none;
}
.bec-car-role-apply:hover{color:var(--bec-brand-2);text-decoration:underline}
@media (max-width:768px){.bec-car-roles{grid-template-columns:1fr}}


/* 2.3 · Application form — fieldsets, disclosure, file ----- */
.bec-car-form-wrap{max-width:860px;margin:0 auto}
.bec-car-fieldset{
  border:0;padding:0;margin:0 0 26px;
}
.bec-car-fieldset:last-of-type{margin-bottom:18px}
.bec-car-fieldset legend{
  float:none;width:auto;
  font-family:"Inter",sans-serif;font-size:13px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:var(--bec-brand);
  padding:0 0 12px;margin:0 0 16px;
  border-bottom:1px solid var(--bec-line);width:100%;
}
.bec-car-help{
  display:block;font-size:12.5px;color:var(--bec-muted);margin-top:6px;
}
.bec-car-disclosure{
  background:var(--bec-bg-soft);border:1px solid var(--bec-line);
  border-radius:12px;padding:18px 20px;
}
.bec-car-disclosure p{
  font-size:13.5px;color:var(--bec-ink-2);line-height:1.6;margin:0 0 12px;
}
.bec-car-consent{
  display:flex;gap:10px;align-items:flex-start;
  font-size:14px;color:var(--bec-ink);cursor:pointer;margin:0;
}
.bec-car-consent input{
  width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--bec-brand);
}
.bec-car-consent em{color:var(--bec-accent-2);font-style:normal}
.bec-car-sign{font-family:"Barlow Condensed","Inter",sans-serif;font-size:18px;letter-spacing:.01em}
