/* Targeted fidelity corrections for the static legacy CMS rebuild. */

/* Homepage: keep the contact tile level with its neighbouring cash tile. */
body.home #corheader .flex-fill-rest > .wp-block-column {
  display: flex;
  align-items: stretch;
}
body.home #corheader .flex-fill-rest > .wp-block-column > .cbb-block {
  width: 100%;
  height: 100%;
  min-height: 172px;
}
body.home #corheader .cbb-g-11 > .bb\:block-background {
  display: flex;
  min-height: 172px;
  align-items: center;
}

/* Accessible full-card links for the nine homepage sector tiles. */
body.home .sectorbox {
  position: relative;
}
body.home .sectorbox .fbf-sector-hitarea {
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
}
body.home .sectorbox:has(.fbf-sector-hitarea):hover {
  filter: brightness(.97);
}
body.home .sectorbox:has(.fbf-sector-hitarea):focus-within {
  outline: 3px solid #ffc48b;
  outline-offset: 3px;
}

/* About: ensure the contact detail links sit above decorative layers. */
body.page-id-1594 .ftcondeets,
body.page-id-1594 .ftcondeets a {
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

/* Suppliers: tighten the two requested gaps in the top composition. */
body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-main h1 {
  margin-bottom: 30px !important;
}
body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-right {
  grid-template-rows: 219px 140px !important;
}
body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-top,
body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-icon,
body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-small-image {
  height: 219px !important;
  min-height: 219px !important;
}
body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-contact {
  height: 140px !important;
  min-height: 140px !important;
  padding: 25px 32px 18px !important;
}

/* Contact: restore the original white form copy and group button treatment. */
body.page-id-7516 .fbf-form .field label,
body.page-id-7516 .fbf-form .check-field,
body.page-id-7516 .fbf-form .check-field span,
body.page-id-7516 .fbf-form .check-field a {
  color: #fff !important;
}
body.page-id-7516 .fbf-form .check-field {
  margin: 0 0 12px;
  line-height: 1.35;
}
body.page-id-7516 .fbf-form .fbf-submit {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border: 0;
  border-radius: 999px;
  color: #1f365c !important;
  background: linear-gradient(90deg, #f6b87e 0%, #cf8442 100%);
  font: inherit;
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}
body.page-id-7516 .fbf-form .fbf-submit:hover {
  filter: brightness(1.05);
}

/* Calculators: reproduce the original two-column, rounded-input treatment. */
body.page-id-5378 .calculator-wrap,
body.page-id-5391 .calculator-wrap,
body.embed-shell .calculator-wrap {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  color: #fff;
}
body.page-id-5378 .calculator-panel,
body.page-id-5391 .calculator-panel,
body.embed-shell .calculator-panel {
  padding: 30px;
  border-radius: 30px;
  background: transparent;
  box-shadow: none;
}
body.page-id-5378 .calculator-panel > h2,
body.page-id-5378 .calculator-panel > .muted,
body.page-id-5391 .calculator-panel > h2,
body.page-id-5391 .calculator-panel > .muted,
body.embed-shell .calculator-panel > h2,
body.embed-shell .calculator-panel > .muted {
  display: none;
}
body.page-id-5378 .calculator-wrap .field label,
body.page-id-5378 .calculator-wrap .field legend,
body.page-id-5391 .calculator-wrap .field label,
body.page-id-5391 .calculator-wrap .field legend,
body.embed-shell .calculator-wrap .field label,
body.embed-shell .calculator-wrap .field legend,
body.page-id-5378 .calculator-wrap .check-field,
body.page-id-5391 .calculator-wrap .check-field,
body.embed-shell .calculator-wrap .check-field {
  color: #fff;
  font-size: 17px;
  font-weight: 400;
}
body.page-id-5378 .calculator-wrap .field input:not([type="range"]):not([type="checkbox"]),
body.page-id-5378 .calculator-wrap .field select,
body.page-id-5378 .calculator-wrap .field textarea,
body.page-id-5391 .calculator-wrap .field input:not([type="range"]):not([type="checkbox"]),
body.page-id-5391 .calculator-wrap .field select,
body.page-id-5391 .calculator-wrap .field textarea,
body.embed-shell .calculator-wrap .field input:not([type="range"]):not([type="checkbox"]),
body.embed-shell .calculator-wrap .field select,
body.embed-shell .calculator-wrap .field textarea {
  min-height: 64px;
  padding: 16px 20px;
  border: 0;
  border-radius: 20px;
  font-size: 20px;
}
body.page-id-5378 .results-panel,
body.page-id-5391 .results-panel,
body.embed-shell .results-panel {
  position: static;
  border-radius: 30px;
  background: radial-gradient(circle at center, #193057 0%, #33486a 100%);
  box-shadow: none;
}
body.page-id-5378 .results-head,
body.page-id-5391 .results-head,
body.embed-shell .results-head {
  padding: 30px 30px 18px;
  color: #fff;
  font-size: 26px;
}
body.page-id-5378 .result-row,
body.page-id-5391 .result-row,
body.embed-shell .result-row {
  padding: 18px 30px;
}
body.page-id-5378 .application-panel,
body.page-id-5391 .application-panel,
body.embed-shell .application-panel {
  grid-column: 1 / -1;
  padding: 30px;
  border: 0;
  border-radius: 30px;
  background: radial-gradient(circle at center, #193057 0%, #33486a 100%);
  box-shadow: none;
}
.calculator-wrap .application-title {
  margin-bottom: 22px;
  color: #fff;
  font-size: 28px;
}
.calculator-wrap .application-panel .muted {
  color: rgba(255,255,255,.78);
}
.calculator-wrap .application-panel .button {
  color: #1f365c;
  background: linear-gradient(90deg, #f6b87e 0%, #cf8442 100%);
}
body.embed-shell {
  color: #fff;
  background: #1f365c;
}

/* The retired legacy CMS captcha must never leave a badge behind. */
.grecaptcha-badge {
  display: none !important;
}

@media (max-width: 980px) {
  body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-right {
    grid-template-rows: 190px 120px !important;
  }
  body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-top,
  body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-icon,
  body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-small-image {
    height: 190px !important;
    min-height: 190px !important;
  }
  body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-contact {
    height: 120px !important;
    min-height: 120px !important;
  }
  body.page-id-5378 .calculator-wrap,
  body.page-id-5391 .calculator-wrap,
  body.embed-shell .calculator-wrap {
    grid-template-columns: 1fr;
  }
}



/* Follow-up fidelity corrections. */
body.home #corheader .cbb-g-11,
body.home #corheader .cbb-g-11 > .bb\:block-background {
  height: 172px !important;
  min-height: 172px !important;
  max-height: 172px !important;
}
body.home #corheader .cbb-g-11 > .bb\:block-background {
  display: flex !important;
  align-items: center !important;
}

body.page-id-1594 #corheader .cbb-g-10 {
  padding-bottom: 24% !important;
  margin-bottom: 16px !important;
}
body.page-id-1594 #corheader .stack > .flex-fill-rest {
  margin-bottom: 16px !important;
}

body.page-id-6211 #fbf-suppliers-hero .fbf-suppliers-contact {
  display: flex !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-6207 #corheader .flex-fill-rest > .wp-block-column:last-child .cbb-g-12 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 24px 30px !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}
body.page-id-6207 #corheader .flex-fill-rest > .wp-block-column:last-child .cbb-g-12 h2 {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  color: #d98a3a !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.calculator-wrap .range-line input[type="range"] {
  width: 100%;
  min-height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  outline: 0;
  background: linear-gradient(
    to right,
    #cf8442 0%,
    #f6b87e var(--range-progress, 0%),
    rgba(255,255,255,.38) var(--range-progress, 0%),
    rgba(255,255,255,.38) 100%
  );
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.calculator-wrap .range-line input[type="range"]::-webkit-slider-runnable-track {
  height: 10px;
  border-radius: 999px;
  background: transparent;
}
.calculator-wrap .range-line input[type="range"]::-webkit-slider-thumb {
  width: 26px;
  height: 26px;
  margin-top: -8px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #cf8442;
  box-shadow: 0 2px 8px rgba(0,0,0,.28);
  appearance: none;
  -webkit-appearance: none;
}
.calculator-wrap .range-line input[type="range"]::-moz-range-track {
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.38);
}
.calculator-wrap .range-line input[type="range"]::-moz-range-progress {
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #cf8442, #f6b87e);
}
.calculator-wrap .range-line input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #cf8442;
  box-shadow: 0 2px 8px rgba(0,0,0,.28);
}
.calculator-wrap .range-line output {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  color: #1f365c;
  background: linear-gradient(90deg, #f6b87e, #cf8442);
  font-weight: 700;
}
