/*
Theme Name: Beaver Builder Child Theme
Theme URI: https://www.wpbeaverbuilder.com
Version: 1.0.29
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: https://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here...Remember to change the Version number above! */

/* Fossil Gate 1 — header/footer scoped only. Poppins + 1240px inner measure. */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");

.fossil-g1-header,
.fossil-g1-footer,
.fossil-g1-header .fl-module-content,
.fossil-g1-footer .fl-module-content {
  font-family: "Poppins", sans-serif;
}

.fossil-g1-header.fl-row .fl-row-fixed-width,
.fossil-g1-footer.fl-row .fl-row-fixed-width {
  max-width: 1240px;
}

.fossil-g1-wordmark p {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: lowercase;
}

/* 1.0.8 — brand logo in header/footer. Footer uses a white wordmark variant because the footer band is #111. */
.fl-builder-content .fossil-g1-wordmark.fossil-g1-logo,
.fl-builder-content .fossil-g1-logo {
  line-height: 0;
  min-height: 48px;
}
.fl-builder-content .fossil-g1-logo img,
.fl-builder-content .fossil-g1-wordmark.fossil-g1-logo img {
  display: block;
  height: 48px;
  width: auto;
  max-width: 180px;
}
.fl-builder-content .fossil-g1-logo a,
.fl-builder-content .fossil-g1-wordmark.fossil-g1-logo a {
  display: inline-block;
  line-height: 0;
}
@media (max-width: 768px) {
  .fl-builder-content .fossil-g1-wordmark.fossil-g1-logo,
  .fl-builder-content .fossil-g1-logo {
    min-height: 36px;
  }
  .fl-builder-content .fossil-g1-logo img,
  .fl-builder-content .fossil-g1-wordmark.fossil-g1-logo img {
    height: 36px;
    max-width: 140px;
  }
}


.fossil-g1-faq p,
.fossil-g1-utility-contact p {
  margin: 0;
  color: #ffffff;
}

.fossil-g1-utility a {
  color: #ffffff;
  text-decoration: none;
}

.fossil-g1-utility a:hover,
.fossil-g1-utility a:focus {
  color: #F7F7F7;
  text-decoration: underline;
}

.fossil-g1-menu .fl-menu a {
  font-family: "Poppins", sans-serif;
}

.fossil-g1-menu .fl-menu-mobile-toggle {
  border-radius: 8px;
}

.fossil-g1-footer,
.fossil-g1-footer a {
  color: #ffffff;
}

.fossil-g1-footer a {
  text-decoration: none;
}

.fossil-g1-footer a:hover,
.fossil-g1-footer a:focus {
  color: #F05B28;
  text-decoration: underline;
}

.fossil-g1-footer-heading {
  margin-bottom: 12px;
}

.fossil-g1-footer-links p,
.fossil-g1-footer-contact p,
.fossil-g1-footer-follow p {
  margin: 0 0 4px;
}

/*
 * Gate 1 responsive repair (768px / BB mobile stylesheet).
 * Core BB caps .fl-col-small at 400px and centres stacked columns.
 * Header/footer only — do not change page content or desktop measure.
 */
@media (max-width: 768px) {
  .fl-builder-content .fossil-g1-header.fl-row .fl-row-fixed-width,
  .fl-builder-content .fossil-g1-footer.fl-row .fl-row-fixed-width {
    max-width: none;
    width: 100%;
  }

  .fl-builder-content .fossil-g1-header.fl-row .fl-row-content-wrap,
  .fl-builder-content .fossil-g1-footer.fl-row .fl-row-content-wrap {
    padding-left: 20px;
    padding-right: 20px;
  }

  .fl-builder-content .fossil-g1-header .fl-col,
  .fl-builder-content .fossil-g1-footer .fl-col,
  .fl-builder-content .fossil-g1-header .fl-col-small:not(.fl-col-small-full-width),
  .fl-builder-content .fossil-g1-footer .fl-col-small:not(.fl-col-small-full-width) {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .fl-builder-content .fossil-g1-utility .fl-col-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
  }

  .fl-builder-content .fossil-g1-utility .fl-col {
    clear: none !important;
    float: none !important;
    width: auto !important;
    flex: 1 1 auto;
    text-align: left;
  }

  .fl-builder-content .fossil-g1-utility .fossil-g1-utility-contact,
  .fl-builder-content .fossil-g1-utility .fossil-g1-utility-contact * {
    text-align: left;
  }

  .fl-builder-content .fossil-g1-nav.fl-row .fl-row-content-wrap {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .fl-builder-content .fossil-g1-utility.fl-row .fl-row-content-wrap {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .fl-builder-content .fossil-g1-header.fl-row,
  .fl-builder-content .fossil-g1-header .fl-row-content-wrap,
  .fl-builder-content .fossil-g1-header .fl-row-fixed-width,
  .fl-builder-content .fossil-g1-header .fl-col-group,
  .fl-builder-content .fossil-g1-header .fl-col,
  .fl-builder-content .fossil-g1-header .fl-col-content,
  .fl-builder-content .fossil-g1-header .fl-module,
  .fl-builder-content .fossil-g1-header .fl-module-content,
  .fl-builder-content .fossil-g1-footer.fl-row,
  .fl-builder-content .fossil-g1-footer .fl-row-content-wrap,
  .fl-builder-content .fossil-g1-footer .fl-row-fixed-width {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }

  .fl-builder-content .fossil-g1-nav .fl-col-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .fl-builder-content .fossil-g1-nav .fl-col {
    clear: none !important;
    float: none !important;
    margin: 0 !important;
    max-width: none !important;
    min-width: 0;
  }

  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c1 {
    flex: 1 1 0%;
    width: auto !important;
    min-width: 0;
    max-width: calc(100% - 50px);
  }

  /* Closed toggle column stays 50px. Expanded list must not inherit that width. */
  .fl-builder-content .fossil-g1-nav .fl-row-content {
    position: relative;
  }

  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c2 {
    flex: 0 0 50px;
    width: 50px !important;
    min-width: 50px;
    max-width: 50px !important;
    position: static;
  }

  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c2 .fl-col-content,
  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c2 .fl-module,
  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c2 .fl-module-content,
  .fl-builder-content .fossil-g1-menu .fl-menu {
    width: auto !important;
    max-width: none;
    margin: 0;
    position: static;
    overflow: visible;
    container-type: normal;
  }

  .fl-builder-content .fossil-g1-menu .fl-menu-mobile-toggle,
  .fl-builder-content .fossil-g1-menu button.fl-menu-mobile-toggle.hamburger {
    display: inline-block;
    float: none !important;
    position: relative;
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    max-width: 50px;
    max-height: 50px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    z-index: 22;
  }

  .fl-builder-content .fossil-g1-nav .fl-module,
  .fl-builder-content .fossil-g1-nav .fl-module-content {
    margin: 0;
  }

  .fl-builder-content .fossil-g1-nav .fossil-g1-wordmark p {
    font-size: 22px;
    line-height: 1;
  }

  /* Expanded native BB menu: full inner nav width, stacked readable links. */
  .fl-builder-content .fossil-g1-menu .fl-menu > nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    width: auto;
    max-width: none;
    z-index: 21;
    background-color: #ffffff;
    box-sizing: border-box;
  }

  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu,
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu.fl-menu-horizontal {
    float: none;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
  }

  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li {
    display: block;
    float: none;
    width: 100%;
    max-width: none;
  }

  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > a {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 44px;
    line-height: 1.3;
    white-space: normal;
    overflow: visible;
    overflow-wrap: break-word;
    word-break: normal;
    box-sizing: border-box;
    padding: 12px 16px;
    text-align: left;
  }

  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > a:focus-visible {
    outline: 2px solid #2875F0;
    outline-offset: 2px;
  }

  .fl-builder-content .fossil-g1-footer .fl-col {
    clear: both !important;
    float: none !important;
    width: 100% !important;
    text-align: left;
  }

  .fl-builder-content .fossil-g1-footer .fl-col-content,
  .fl-builder-content .fossil-g1-footer .fl-module-content,
  .fl-builder-content .fossil-g1-footer .fossil-g1-footer-heading,
  .fl-builder-content .fossil-g1-footer .fossil-g1-wordmark,
  .fl-builder-content .fossil-g1-footer .fossil-g1-footer-links,
  .fl-builder-content .fossil-g1-footer .fossil-g1-footer-contact,
  .fl-builder-content .fossil-g1-footer .fossil-g1-footer-follow {
    text-align: left;
  }

  .fl-builder-content .fossil-g1-header a[href^="tel:"],
  .fl-builder-content .fossil-g1-header a[href^="mailto:"],
  .fl-builder-content .fossil-g1-footer a[href^="tel:"],
  .fl-builder-content .fossil-g1-footer a[href^="mailto:"] {
    display: inline-block;
    min-height: 36px;
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 1.3;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* 1.0.5 — homepage */
.fl-builder-content .fossil-hp-hero.fl-row .fl-row-fixed-width,
.fl-builder-content .fossil-hp-section.fl-row .fl-row-fixed-width {
  max-width: 1240px;
}

.fl-builder-content .fossil-hp-hero,
.fl-builder-content .fossil-hp-section,
.fl-builder-content .fossil-hp-hero .fl-module-content,
.fl-builder-content .fossil-hp-section .fl-module-content {
  font-family: "Poppins", sans-serif;
  color: #4A4A4A;
}

.fl-builder-content .fossil-hp-h-eyebrow {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
}

.fl-builder-content .fossil-hp-h1 h1,
.fl-builder-content .fossil-hp-h1.fl-heading .fl-heading-text {
  margin: 0 0 28px;
  font-family: "Poppins", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  color: #ffffff;
}

.fl-builder-content .fossil-hp-h2 h2,
.fl-builder-content .fossil-hp-h2 .fl-heading-text {
  margin: 0 0 36px;
  font-family: "Poppins", sans-serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  color: #000000;
}

.fl-builder-content .fossil-hp-h2 strong {
  font-weight: 700;
}

.fl-builder-content .fossil-hp-h3 h3,
.fl-builder-content .fossil-hp-h3 .fl-heading-text {
  margin: 0 0 16px;
  font-family: "Poppins", sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  color: #000000;
}

.fl-builder-content .fossil-hp-hero-card .fl-col-content {
  border-radius: 8px;
}

.fl-builder-content .fossil-hp-hero-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.fl-builder-content .fossil-hp-btn .fl-button,
.fl-builder-content a.fossil-hp-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 6px;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  box-sizing: border-box;
}

.fl-builder-content .fossil-hp-btn-solid .fl-button {
  background-color: #F05B28 !important;
  border: 2px solid #F05B28 !important;
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-btn-solid .fl-button:hover,
.fl-builder-content .fossil-hp-btn-solid .fl-button:focus {
  background-color: #D94E1E !important;
  border-color: #D94E1E !important;
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-btn-outline .fl-button {
  background-color: transparent !important;
  border: 2px solid #F05B28 !important;
  color: #F05B28 !important;
}

.fl-builder-content .fossil-hp-btn-outline .fl-button:hover,
.fl-builder-content .fossil-hp-btn-outline .fl-button:focus {
  background-color: #F05B28 !important;
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-btn-blue .fl-button {
  background-color: #2875F0 !important;
  border: 2px solid #2875F0 !important;
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-btn-blue .fl-button:hover,
.fl-builder-content .fossil-hp-btn-blue .fl-button:focus {
  background-color: #1f63d1 !important;
  border-color: #1f63d1 !important;
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-hero-photo .fossil-hp-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0;
  margin: 0;
}

.fl-builder-content .fossil-hp-hero-photo .fossil-hp-hero-ctas .fl-module {
  margin: 0;
}

.fl-builder-content .fossil-hp-hero-photo .fossil-hp-btn .fl-button {
  border-radius: 0;
}

.fl-builder-content /* Accreditation logos added 2026-09-23. Real badges: Gas Safe 623545, OFTEC 102856, CHAS, Checkatrade, NICEIC, Intergas Mi Tech+, Welcome to Yorkshire.
   Constructionline and TrustATrader remain text tiles until artwork is supplied. */
.fossil-hp-acc-tile {
  background: #F7F7F7;
  border: 1px dashed #c8c8c8;
  border-radius: 8px;
  min-height: 88px;
  padding: 16px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: #4A4A4A;
}

.fl-builder-content .fossil-hp-note,
.fl-builder-content .fossil-hp-note p {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #4A4A4A;
  text-align: center;
}

.fl-builder-content .fossil-hp-tab {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: center;
}

.fl-builder-content .fossil-hp-tab-photo {
  flex: 1 1 280px;
  min-width: 0;
}

.fl-builder-content .fossil-hp-tab-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.fl-builder-content .fossil-hp-tab-copy {
  flex: 1 1 280px;
  min-width: 0;
}

.fl-builder-content .fossil-hp-tab-copy h3 {
  margin: 0 0 14px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
  color: #000000;
}

.fl-builder-content .fossil-hp-tab-copy p {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.6;
  color: #4A4A4A;
}

.fl-builder-content .fossil-hp-pills {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fl-builder-content .fossil-hp-pills li {
  margin: 0 0 10px;
}

/* Force flex alignment to left */
.fl-builder-content .fossil-hp-pills a {
    display: flex;
    align-items: center; 
    justify-content: flex-start;
    gap: 10px;
    min-height: 52px;
    padding: 12px 18px;
    background: #ffffff;
    border-radius: 8px; 
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    color: #000000;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.2s ease-in-out;
}

.fl-builder-content .fossil-hp-pills li a:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.fl-builder-content .fossil-hp-pills li a::before {
  content: "\2713";
  color: #F05B28;
  font-weight: 700;
  flex-shrink: 0;
}

/* Push arrow to far right */
.fl-builder-content .fossil-hp-pills li a::after {
  content: "\2192";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border: 2px solid #F05B28;
  border-radius: 50%;
  color: #F05B28;
  font-size: 14px;
  margin-left: auto; /* Pushes arrow to far right */
  flex-shrink: 0;
}

.fl-builder-content .fossil-hp-pills li a:hover,
.fl-builder-content .fossil-hp-pills li a:focus {
  color: #F05B28;
}



.fl-builder-content .fossil-hp-services .fl-col-content {
  position: relative;
}

.fl-builder-content .fossil-hp-reviews-card .fl-col-content {
  border-radius: 8px;
  color: #ffffff;
}

.fl-builder-content .fossil-hp-reviews-card h3,
.fl-builder-content .fossil-hp-reviews-card p,
.fl-builder-content .fossil-hp-reviews-card .fl-heading-text {
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-reviews-card .fossil-hp-quote {
  margin: 0 0 14px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}

.fl-builder-content .fossil-hp-reviews-card .fossil-hp-quote-body {
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}

.fl-builder-content .fossil-hp-reviews-card .fossil-hp-reviewer {
  margin: 16px 0 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.fl-builder-content .fossil-hp-band .fl-module-content,
.fl-builder-content .fossil-hp-band p,
.fl-builder-content .fossil-hp-band h2,
.fl-builder-content .fossil-hp-band .fl-heading-text {
  color: #ffffff;
  text-align: center;
}

.fl-builder-content .fossil-hp-band .fossil-hp-h2,
.fl-builder-content .fossil-hp-band .fossil-hp-h2 .fl-heading-text {
  color: #ffffff;
  margin-bottom: 20px;
}

.fl-builder-content .fossil-hp-band .fossil-hp-h2 .fossil-hp-orange {
  color: #F05B28;
  font-weight: 700;
}

.fl-builder-content .fossil-hp-band p {
  max-width: 820px;
  margin: 0 auto 14px;
  font-size: 16px;
  line-height: 1.6;
}

.fl-builder-content .fossil-hp-need-card .fl-col-content {
  background: #F7F7F7;
  border-radius: 8px;
}

.fl-builder-content .fossil-hp-need-card h3,
.fl-builder-content .fossil-hp-need-card .fl-heading-text {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 700;
  color: #000000;
}

.fl-builder-content .fossil-hp-need-card p {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.55;
  color: #4A4A4A;
}

.fl-builder-content .fossil-hp-need-cta .fl-col-content {
  background: #2875F0 !important;
  border-radius: 8px;
}

.fl-builder-content .fossil-hp-need-cta h3,
.fl-builder-content .fossil-hp-need-cta .fl-heading-text,
.fl-builder-content .fossil-hp-need-cta p {
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-need-cta .fossil-hp-btn-white .fl-button {
  background-color: #ffffff !important;
  border: 2px solid #ffffff !important;
  color: #F05B28 !important;
}

.fl-builder-content .fl-node-hp_r06_g2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.fl-builder-content .fossil-hp-faq .pp-accordion-item,
.fl-builder-content .fossil-hp-faq .pp-accordion-tab {
  border-radius: 8px;
  overflow: hidden;
}

.fl-builder-content .fossil-hp-faq .pp-accordion-item:nth-child(odd) .pp-accordion-button,
.fl-builder-content .fossil-hp-faq .pp-accordion-item:nth-child(odd) .pp-accordion-tab {
  background-color: #ffffff !important;
  color: #F05B28 !important;
}

.fl-builder-content .fossil-hp-faq .pp-accordion-item:nth-child(even) .pp-accordion-tab {
  background-color: #F05B28 !important;
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-faq .pp-accordion-button,
.fl-builder-content .fossil-hp-faq .pp-accordion-tab-title {
  min-height: 48px;
  font-weight: 600;
}

.fl-builder-content .fossil-hp-mosaic-photo .fl-col-content {
  border-radius: 8px;
  min-height: 280px;
}

.fl-builder-content .fossil-hp-mosaic-photo h3,
.fl-builder-content .fossil-hp-mosaic-photo .fl-heading-text,
.fl-builder-content .fossil-hp-mosaic-photo p {
  color: #ffffff;
}

.fl-builder-content .fossil-hp-mosaic-photo h3 strong,
.fl-builder-content .fossil-hp-mosaic-photo .fl-heading-text strong {
  font-weight: 700;
}

.fl-builder-content .fossil-hp-mosaic-black .fl-col-content,
.fl-builder-content .fossil-hp-mosaic-orange .fl-col-content {
  border-radius: 8px;
}

.fl-builder-content .fossil-hp-ticks {
  list-style: none;
  margin: 0;
  padding: 0;
  color: #ffffff;
}

.fl-builder-content .fossil-hp-ticks li {
  position: relative;
  padding: 8px 0 8px 28px;
  font-size: 15px;
  line-height: 1.4;
}

.fl-builder-content .fossil-hp-ticks li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 8px;
  color: #F05B28;
  font-weight: 700;
}

.fl-builder-content .fossil-hp-mosaic-orange h3,
.fl-builder-content .fossil-hp-mosaic-orange .fl-heading-text,
.fl-builder-content .fossil-hp-mosaic-orange p {
  color: #ffffff;
}

@media (min-width: 901px) {
  .fl-builder-content .fossil-hp-services .fossil-hp-services-h {
    max-width: 52%;
    margin-bottom: 8px;
  }

  .fl-builder-content .fossil-hp-services .pp-tabs-labels,
  .fl-builder-content .fossil-hp-services .pp-tabs-label-wrapper,
  .fl-builder-content .fossil-hp-services ul.pp-tabs-labels {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    max-width: 48%;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 0;
    z-index: 2;
  }

  .fl-builder-content .fl-node-hp_r06_g2 > .fl-col {
    float: none !important;
    clear: none !important;
    width: calc(25% - 18px) !important;
    max-width: calc(25% - 18px);
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  .fl-builder-content .fossil-hp-hero .fl-col-group,
  .fl-builder-content .fossil-hp-reviews .fl-col-group,
  .fl-builder-content .fossil-hp-need .fl-col-group,
  .fl-builder-content .fossil-hp-mosaic .fl-col-group,
  .fl-builder-content .fossil-hp-acc .fl-col-group {
    display: flex;
    flex-wrap: wrap;
  }

  .fl-builder-content .fossil-hp-hero .fl-col,
  .fl-builder-content .fossil-hp-reviews .fl-col,
  .fl-builder-content .fossil-hp-need .fl-col,
  .fl-builder-content .fossil-hp-mosaic .fl-col {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .fl-builder-content .fossil-hp-hero-photo {
    order: -1;
    min-height: 320px;
  }

  .fl-builder-content .fossil-hp-h1 h1,
  .fl-builder-content .fossil-hp-h1 .fl-heading-text {
    font-size: 28px;
  }

  .fl-builder-content .fossil-hp-h2 h2,
  .fl-builder-content .fossil-hp-h2 .fl-heading-text {
    font-size: 28px;
  }

  .fl-builder-content .fossil-hp-hero-photo .fossil-hp-hero-ctas {
    justify-content: stretch;
  }

  .fl-builder-content .fossil-hp-hero-photo .fossil-hp-btn {
    flex: 1 1 50%;
  }

  .fl-builder-content .fossil-hp-hero-photo .fossil-hp-btn .fl-button {
    width: 100%;
  }
}

/* 1.0.10 — accreditation badge row (home + certified). Gap-aware flex so 9 items stay on one desktop row and 2/3-up on small screens. */
.fl-builder-content .fossil-acc-grid .fl-col-group:has(> .fossil-acc-item),
.fl-builder-content .fossil-hp-acc .fl-col-group:has(> .fossil-acc-item) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
}
.fl-builder-content .fossil-acc-grid .fl-col-group:has(> .fossil-acc-item) > .fl-col,
.fl-builder-content .fossil-acc-grid .fl-col.fossil-acc-item,
.fl-builder-content .fossil-acc-grid .fl-col-small.fossil-acc-item,
.fl-builder-content .fossil-hp-acc .fl-col.fossil-acc-item,
.fl-builder-content .fossil-hp-acc .fl-col-small.fossil-acc-item {
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
  flex: 0 0 118px !important;
  width: 118px !important;
  min-width: 0 !important;
  max-width: 118px !important;
  margin: 0 !important;
}
.fl-builder-content .fossil-acc-badge img,
.fl-builder-content .fossil-acc-item .fl-photo-img,
.fl-builder-content .fossil-acc-item img {
  display: block;
  height: 56px;
  width: auto;
  max-width: 110px;
  margin: 0 auto;
  object-fit: contain;
  filter: none !important;
}
.fl-builder-content .fossil-acc-caption,
.fl-builder-content .fossil-acc-caption p {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 600;
  color: #4A4A4A;
  text-align: center;
}
.fl-builder-content .fossil-acc-placeholder .fl-module-content,
.fl-builder-content .fossil-acc-item .fossil-hp-acc-tile {
  min-height: 72px;
  padding: 10px 6px;
  font-size: 12px;
}
@media (max-width: 768px) {
  .fl-builder-content .fossil-acc-grid .fl-col-group:has(> .fossil-acc-item) > .fl-col,
  .fl-builder-content .fossil-acc-grid .fl-col.fossil-acc-item,
  .fl-builder-content .fossil-acc-grid .fl-col-small.fossil-acc-item,
  .fl-builder-content .fossil-hp-acc .fl-col.fossil-acc-item,
  .fl-builder-content .fossil-hp-acc .fl-col-small.fossil-acc-item {
    flex: 0 0 calc((100% - 32px) / 3) !important;
    width: calc((100% - 32px) / 3) !important;
    max-width: calc((100% - 32px) / 3) !important;
  }
  .fl-builder-content .fossil-acc-badge img,
  .fl-builder-content .fossil-acc-item .fl-photo-img,
  .fl-builder-content .fossil-acc-item img {
    height: 48px;
    max-width: 120px;
  }
}
@media (max-width: 480px) {
  .fl-builder-content .fossil-acc-grid .fl-col-group:has(> .fossil-acc-item) > .fl-col,
  .fl-builder-content .fossil-acc-grid .fl-col.fossil-acc-item,
  .fl-builder-content .fossil-acc-grid .fl-col-small.fossil-acc-item,
  .fl-builder-content .fossil-hp-acc .fl-col.fossil-acc-item,
  .fl-builder-content .fossil-hp-acc .fl-col-small.fossil-acc-item {
    flex: 0 0 calc((100% - 16px) / 2) !important;
    width: calc((100% - 16px) / 2) !important;
    max-width: calc((100% - 16px) / 2) !important;
  }
}
@media (max-width: 390px) {
  .fl-builder-content a.fossil-hp-link-btn,
  .fl-builder-content .fossil-hp-btn .fl-button,
  .fl-builder-content .fossil-hp-pills a {
    min-height: 44px;
  }
}


/* 1.0.5 — homepage polish (still homepage-scoped) */
.fl-builder-content .fossil-hp-hero-card .fl-col-content {
  display: flex;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-content: flex-start;
  align-items: flex-start;
}

.fl-builder-content .fossil-hp-hero-card .fossil-hp-h-eyebrow,
.fl-builder-content .fossil-hp-hero-card .fossil-hp-h1 {
  flex: 0 0 100%;
  width: 100% !important;
  max-width: 100%;
}

.fl-builder-content .fossil-hp-hero-card .fossil-hp-btn {
  width: auto;
  margin: 0 12px 0 0;
}

.fl-builder-content .fossil-hp-hero-photo .fl-col-content {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  min-height: 480px;
}

.fl-builder-content .fossil-hp-hero-photo .fossil-hp-hero-ctas .fl-button {
  border-radius: 0;
}

.fl-builder-content .fossil-hp-services .pp-tabs-labels .pp-tabs-label {
  background: transparent;
  color: #4A4A4A;
  border-radius: 4px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 500;
  min-height: 44px;
  cursor: pointer;
}

.fl-builder-content .fossil-hp-services .pp-tabs-labels .pp-tabs-label.pp-tab-active {
  background: #F05B28;
  color: #ffffff;
}

.fl-builder-content .fossil-hp-need-card .fossil-hp-btn-solid .fl-button,
.fl-builder-content .fossil-hp-need-cta .fossil-hp-btn-white .fl-button {
  gap: 10px;
}

.fl-builder-content .fossil-hp-need-card .fossil-hp-btn-solid .fl-button::after,
.fl-builder-content .fossil-hp-need-cta .fossil-hp-btn-white .fl-button::after {
  content: "\2192";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 2px solid currentColor;
  border-radius: 50%;
  font-size: 12px;
  line-height: 1;
}

.fl-builder-content .fossil-hp-faq .pp-accordion-item {
  margin-bottom: 10px;
}

/* Hides the accordion icon */
.fl-builder-content .fossil-hp-faq .pp-accordion-button-icon {
  display: none !important;
}

.fl-builder-content .fossil-hp-faq .pp-accordion-content {
  background: #ffffff;
  color: #4A4A4A;
  padding: 16px 20px;
  font-size: 16px;
  line-height: 1.6;
}


.fl-builder-content .fossil-hp-mosaic-photo .fl-col-content {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.fl-builder-content .fossil-hp-mosaic-photo h3,
.fl-builder-content .fossil-hp-mosaic-photo p {
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

.fl-builder-content .fl-node-hp_r06_g2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

@media (min-width: 769px) {
  .fl-builder-content .fossil-hp-services .pp-tabs-panel-label {
    display: none;
  }
}

@media (min-width: 901px) {
  .fl-builder-content .fossil-hp-need .fl-col-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 24px;
  }

  .fl-builder-content .fossil-hp-need .fl-col-group > .fl-col {
    float: none !important;
    margin: 0 !important;
    width: calc((100% - 72px) / 4) !important;
    max-width: calc((100% - 72px) / 4);
    flex: 0 0 calc((100% - 72px) / 4);
  }

  .fl-builder-content .fossil-hp-need .fl-node-hp_r06_g2 {
    justify-content: center !important;
  }

  .fl-builder-content .fl-node-hp_r06_g2 > .fl-col {
    float: none !important;
    clear: none !important;
    width: calc((100% - 72px) / 4) !important;
    max-width: calc((100% - 72px) / 4);
    margin: 0 !important;
    flex: 0 0 calc((100% - 72px) / 4);
  }
}

.fl-builder-content .fossil-hp-hero-card .fossil-hp-btn {
  flex: 0 0 auto;
  width: auto !important;
  max-width: none;
}

.fl-builder-content .fl-node-hp_r01_m3 a.fl-button,
.fl-builder-content .fossil-hp-hero-card .fossil-hp-btn-outline a.fl-button {
  background-color: transparent !important;
  background: transparent !important;
  border: 2px solid #F05B28 !important;
  color: #F05B28 !important;
  box-shadow: none !important;
}

.fl-builder-content .fl-node-hp_r01_m3 a.fl-button:hover,
.fl-builder-content .fossil-hp-hero-card .fossil-hp-btn-outline a.fl-button:hover {
  background-color: #F05B28 !important;
  color: #ffffff !important;
}

.fl-builder-content .fossil-hp-hero-photo .fl-col-content {
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: flex-end;
}

.fl-builder-content .fossil-hp-hero-photo .fossil-hp-hero-ctas {
  flex: 0 0 auto;
  width: auto !important;
}
.fl-builder-content .fossil-hp-hero-card .fossil-hp-btn.fl-module {
  display: inline-block !important;
  vertical-align: top;
  width: auto !important;
}
.fl-builder-content .fl-node-hp_r01_m0,
.fl-builder-content .fl-node-hp_r01_m1 {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}
.fl-builder-content .fl-node-hp_r01_m2,
.fl-builder-content .fl-node-hp_r01_m3 {
  flex: 0 0 auto !important;
  width: auto !important;
max-width: none !important;
}
.fl-builder-content .fl-node-hp_r06_a6 a.fl-button,
.fl-builder-content .fl-node-hp_r06_a6 .fl-button-text,
.fl-builder-content .fossil-hp-need-cta .fossil-hp-btn-white a.fl-button {
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: #F05B28 !important;
  border: 2px solid #ffffff !important;
}
.fl-builder-content .fossil-hp-hero-photo .fl-button-wrap {
  width: auto !important;
  background: transparent !important;
}
.fl-builder-content .fossil-hp-hero-photo .fl-button,
.fl-builder-content .fossil-hp-hero-photo .fl-button-text {
  white-space: nowrap;
  overflow: visible;
}

/* 1.0.5 — homepage QA round 1 */
/* Fix 3: FAQ plus/minus — PowerPack active class is pp-accordion-item-active */
.fl-builder-content .fl-node-hp_r07 .pp-accordion-item .pp-accordion-close {
  display: none;
}
.fl-builder-content .fl-node-hp_r07 .pp-accordion-item.pp-accordion-item-active .pp-accordion-open {
  display: none;
}
.fl-builder-content .fl-node-hp_r07 .pp-accordion-item.pp-accordion-item-active .pp-accordion-close {
  display: flex;
}

/* Fix 4: hero card CTAs on one row, left-aligned, 16px gap at >=900px.
   Higher specificity than BB equal-height .fl-col-content flex-column. */
@media (min-width: 900px) {
  .fl-builder-content .fl-col-group-equal-height .fl-node-hp_r01_c0 > .fl-col-content,
  .fl-builder-content .fl-node-hp_r01_c0.fossil-hp-hero-card > .fl-col-content {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m0,
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m1 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m2,
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m3 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    align-self: flex-start !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m2 .fl-module-content,
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m3 .fl-module-content {
    margin: 0 !important;
    padding: 0 !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m2 .fl-button,
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m3 .fl-button {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* Fix 2: hero photo CTAs stack in column padding below 900px; card CTAs full-width stack */
@media (max-width: 899px) {
  /* Stacked equal-height columns otherwise share one tall box and the card H1 paints over the photo. */
  .fl-builder-content .fl-node-hp_r01 .fl-col-group,
  .fl-builder-content .fl-node-hp_r01_g {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: auto !important;
  }
  .fl-builder-content .fl-node-hp_r01 .fl-col,
  .fl-builder-content .fl-node-hp_r01 .fl-col > .fl-col-content {
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch !important;
    flex-grow: 0 !important;
  }
  .fl-builder-content .fl-node-hp_r01 .fl-node-hp_r01_c1 > .fl-col-content,
  .fl-builder-content .fossil-hp-hero-photo > .fl-col-content {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    min-height: 320px !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m0,
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m1 {
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
  }
  .fl-builder-content .fl-node-hp_r01_m4,
  .fl-builder-content .fl-node-hp_r01_m5 {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
  }
  .fl-builder-content .fl-node-hp_r01_m4 .fl-button-wrap,
  .fl-builder-content .fl-node-hp_r01_m5 .fl-button-wrap,
  .fl-builder-content .fl-node-hp_r01_m4 .fl-button,
  .fl-builder-content .fl-node-hp_r01_m5 .fl-button {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m2,
  .fl-builder-content .fl-node-hp_r01_c0 > .fl-col-content > .fl-node-hp_r01_m3 {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 12px !important;
    align-self: stretch !important;
  }
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m2 .fl-button-wrap,
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m3 .fl-button-wrap,
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m2 .fl-button,
  .fl-builder-content .fl-node-hp_r01_c0 .fl-node-hp_r01_m3 .fl-button {
    width: 100% !important;
  }
}


/* 1.0.6 — inner-page cards + reusable photo placeholder
   Homepage rules above (.fossil-hp-* / hp_* nodes) are unchanged.
   Apply .fossil-inner-card / .fossil-inner-card-tint / .fossil-inner-split
   / .fossil-photo-placeholder / .fossil-photo-caption on inner pages only.
   Rhythm matches Gate 2 tokens: 90px section padding (row setting),
   24px card gap, 36px card padding, 8px radius, white / #F7F7F7. */

.fl-builder-content .fossil-inner-card > .fl-col-content {
  background: #ffffff;
  border-radius: 8px;
  padding: 36px;
  box-sizing: border-box;
}

.fl-builder-content .fossil-inner-card-tint > .fl-col-content {
  background: #F7F7F7;
  border-radius: 8px;
  padding: 36px;
  box-sizing: border-box;
}

.fl-builder-content .fossil-inner-copy > .fl-col-content {
  box-sizing: border-box;
  min-width: 0;
}

.fl-builder-content .fossil-inner-split,
.fl-builder-content .fossil-inner-split .fl-col,
.fl-builder-content .fossil-inner-split .fl-col-content,
.fl-builder-content .fossil-photo-placeholder,
.fl-builder-content .fossil-inner-card {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.fl-builder-content .fossil-photo-placeholder > .fl-col-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
  background: transparent;
  padding: 0;
}

.fl-builder-content .fossil-photo-placeholder > .fl-col-content::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  background-color: #F0F4FC;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232875F0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4V8z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 56px 56px;
  border-radius: 8px;
  box-sizing: border-box;
}

.fl-builder-content .fossil-photo-placeholder-portrait > .fl-col-content::before {
  aspect-ratio: 3 / 4;
}

.fl-builder-content .fossil-photo-placeholder .fossil-photo-caption.fl-module .fl-rich-text,
.fl-builder-content .fossil-photo-placeholder .fossil-photo-caption.fl-module .fl-rich-text p {
  margin: 0;
  max-width: none;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.45;
  color: #4A4A4A;
}

.fl-builder-content .fossil-br-hero .fossil-photo-placeholder .fossil-photo-caption p,
.fl-builder-content .fossil-bs-hero .fossil-photo-placeholder .fossil-photo-caption p,
.fl-builder-content .fossil-bs-panel-blue .fossil-photo-placeholder .fossil-photo-caption p,
.fl-builder-content .fossil-nbi-panel .fossil-photo-placeholder .fossil-photo-caption p,
.fl-builder-content .fossil-nbi-hero .fossil-photo-placeholder .fossil-photo-caption p,
.fl-builder-content .fossil-nbi-handover .fossil-photo-placeholder .fossil-photo-caption p {
  color: #ffffff;
}

@media (min-width: 768px) {
  .fl-builder-content .fossil-inner-split .fl-col-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 24px;
  }

  .fl-builder-content .fossil-inner-split .fl-col-group > .fl-col {
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    height: auto !important;
  }

  .fl-builder-content .fossil-inner-split .fl-col-group > .fossil-photo-placeholder {
    flex: 1 1 42%;
    width: calc(42% - 12px) !important;
    max-width: calc(42% - 12px);
  }

  .fl-builder-content .fossil-inner-split .fl-col-group > .fossil-inner-card,
  .fl-builder-content .fossil-inner-split .fl-col-group > .fossil-inner-card-tint,
  .fl-builder-content .fossil-inner-split .fl-col-group > .fossil-inner-copy {
    flex: 1 1 58%;
    width: calc(58% - 12px) !important;
    max-width: calc(58% - 12px);
  }
}

@media (max-width: 767px) {
  .fl-builder-content .fossil-inner-split .fl-col-group {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
  }

  .fl-builder-content .fossil-inner-split .fl-col-group > .fl-col {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .fl-builder-content .fossil-inner-card > .fl-col-content,
  .fl-builder-content .fossil-inner-card-tint > .fl-col-content {
    padding: 24px;
  }
}

@media (max-width: 390px) {
  .fl-builder-content .fossil-inner-card > .fl-col-content,
  .fl-builder-content .fossil-inner-card-tint > .fl-col-content {
    padding: 20px;
  }
}

/* 1.0.7 — a11y/polish pass (CSS only). Cookie banner tap targets,
   homepage hero eyebrow floor on small viewports, and tablet stacking
   for inner-page rows that contain a photo placeholder. */

/* CookieAdmin consent banner: 44px tap targets, centred label.
   Colours, layout, copy and plugin files are unchanged. */
button.cookieadmin_btn,
.cookieadmin_btn,
#cookieadmin_accept_button,
#cookieadmin_reject_button,
#cookieadmin_customize_button {
  box-sizing: border-box;
  min-height: 44px;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 1.25;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cookieadmin-poweredby,
.cookieadmin-poweredby span,
.cookieadmin-poweredby a {
  font-size: 13px;
  line-height: 1.4;
}

.cookieadmin-poweredby a {
  min-height: 24px;
  align-items: center;
}

/* Homepage hero eyebrow: BB module CSS is 12px; floor at 13px below 768px.
   Desktop typography is left as-is. */
@media (max-width: 767px) {
  .fl-builder-content .fossil-hp-h-eyebrow.fl-module .fl-rich-text,
  .fl-builder-content .fossil-hp-h-eyebrow.fl-module .fl-rich-text p,
  .fl-builder-content .fossil-hp-h-eyebrow.fl-module .fl-rich-text *:not(b, strong) {
    font-size: 13px;
  }
}

/* Inner-page photo+copy rows: stack at <=900px so the ~304px photo column
   is not cramped at tablet. Photo goes below copy.
   Scoped to .fossil-inner-split column-groups that contain a photo placeholder.
   Header (g1h_r1/r2), footer, homepage, and rows without a photo placeholder
   do not use this pattern. Inner pages reuse .fossil-hp-section, so that
   class is intentionally not used as an exclusion. */
@media (max-width: 900px) {
  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 20px;
  }

  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-photo-placeholder,
  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-inner-copy,
  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-inner-card,
  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-inner-card-tint {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
  }

  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-inner-copy,
  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-inner-card,
  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-inner-card-tint {
    order: 1;
  }

  .fl-builder-content .fossil-inner-split:not(.fl-node-g1h_r1):not(.fl-node-g1h_r2):not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer) .fl-col-group:has(> .fossil-photo-placeholder) > .fossil-photo-placeholder {
    order: 2;
  }
}

/* Card CTA bottom-alignment: equal-height cards, button pinned to bottom (Viktor 2026-09-30) */
.fossil-hp-need-card > .fl-col-content { justify-content: flex-start; }
.fossil-hp-need-card > .fl-col-content > .fl-module-button:last-child { margin-top: auto; }

/* Fossil sticky CTA — 2026-10-01 (site-wide via Themer footer 14)
   Row class .floating-row + button-group (Get in touch with us → /contact/).
   Node id sh6igyexvo51 may still be present; selectors target .floating-row so the
   CTA can live in the global footer without homepage-only node-id CSS.
*/
.fl-row.floating-row,
.floating-row {
  position: fixed;
  z-index: 10000;
  background-color: transparent;
  box-sizing: border-box;
  box-shadow: none;
  transform: none;
}

@media (min-width: 769px) {
  .fl-row.floating-row,
  .floating-row {
    bottom: 24px;
    right: 24px;
    left: auto;
    width: auto;
    max-width: none;
    border-radius: 10px;
  }
}

@media (max-width: 768px) {
  .fl-row.floating-row,
  .floating-row {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: none;
    border-radius: 0;
  }

  .floating-row .fl-row-content-wrap,
  .floating-row .fl-row-content,
  .floating-row .fl-col-group,
  .floating-row .fl-col,
  .floating-row .fl-col-content,
  .floating-row .fl-module,
  .floating-row .fl-module-content,
  .floating-row .fl-button-group,
  .floating-row .fl-button-group-button {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .floating-row .fl-button,
  .floating-row a.fl-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 0 !important;
    min-height: 56px;
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    text-align: center;
    box-sizing: border-box;
  }

  .floating-row .fl-button-text {
    text-align: center;
    width: 100%;
  }

  body:has(.floating-row) {
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }

  body .cookieadmin_reconsent_wrap button.cookieadmin_re_consent,
  button.cookieadmin_re_consent {
    bottom: calc(56px + 12px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width:768px){.floating-row .fl-row-content-wrap,.floating-row .fl-button-group-button,.floating-row .fl-module-content,.floating-row .fl-button-group-buttons{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
.floating-row .fl-button-wrap,.floating-row a.fl-button{width:100%!important;display:block!important;border-radius:0!important;margin:0!important}
.floating-row a.fl-button{min-height:56px;padding:16px 16px calc(16px + env(safe-area-inset-bottom))!important;text-align:center;box-sizing:border-box}
body{padding-bottom:calc(58px + env(safe-area-inset-bottom))!important}}

/* 1.0.15 — Copy Batch B: hero crop, accreditation stack, towns, menu dropdowns, shared FAQ toggle */
html {
  scroll-behavior: smooth;
}

/* Hero van: keep Fossil branding on the vehicle visible. */
.fl-builder-content .fl-node-uqk69adtj2ml > .fl-row-content-wrap,
.fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap {
  background-position: 70% center !important;
  background-size: cover !important;
}
.fl-builder-content .fl-node-uqk69adtj2ml > .fl-row-content-wrap:before,
.fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
  pointer-events: none;
  z-index: 0;
}
.fl-builder-content .fl-node-uqk69adtj2ml .fl-row-content,
.fl-builder-content .fl-node-j32os4hfl6ud .fl-row-content {
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap,
  .fl-builder-content .fl-node-uqk69adtj2ml > .fl-row-content-wrap {
    background-position: 80% center !important;
  }
}

/* Why Choose band: Chris + sponsor board stay in frame. */
.fl-builder-content .fl-node-hp_r05 > .fl-row-content-wrap {
  background-position: 30% center !important;
  background-size: cover !important;
}

/* Accreditation logos: 6 badges, even wrap at 390px. */
.fl-builder-content .pp-logos-grid .pp-logos-grid-inner,
.fl-builder-content .fl-module-pp-logos-grid .pp-logo-grid {
  justify-content: center;
}
@media (max-width: 390px) {
  .fl-builder-content .fossil-acc-grid .fl-col-group:has(> .fossil-acc-item) > .fl-col,
  .fl-builder-content .fossil-acc-grid .fl-col.fossil-acc-item,
  .fl-builder-content .fossil-hp-acc .fl-col.fossil-acc-item {
    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
  .fl-builder-content .pp-logos-grid .pp-logo,
  .fl-builder-content .pp-logos-grid .pp-grid-item {
    width: 50% !important;
    max-width: 50% !important;
    box-sizing: border-box;
  }
}

/* Towns list: 3 columns, even stack on small screens. */
.fossil-towns-list {
  margin: 0;
  padding-left: 1.2em;
  columns: 3;
  column-gap: 28px;
}
.fossil-towns-list li {
  break-inside: avoid;
  margin: 0 0 6px;
}
@media (max-width: 768px) {
  .fossil-towns-list { columns: 2; }
}
@media (max-width: 390px) {
  .fossil-towns-list { columns: 1; }
}

/* Header dropdowns — desktop hover / focus-within, mobile nested list. */
@media (min-width: 769px) {
  .fossil-g1-menu .fl-menu li.menu-item-has-children {
    position: relative;
  }
  .fossil-g1-menu .fl-menu ul.sub-menu {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 260px;
    z-index: 2000;
    background: #111111;
    padding: 8px 0;
    margin: 0;
    list-style: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  }
  .fossil-g1-menu .fl-menu li.menu-item-has-children:hover > ul.sub-menu,
  .fossil-g1-menu .fl-menu li.menu-item-has-children:focus-within > ul.sub-menu {
    display: block;
  }
  .fossil-g1-menu .fl-menu ul.sub-menu a {
    color: #ffffff;
    display: block;
    padding: 10px 16px;
    white-space: normal;
  }
  .fossil-g1-menu .fl-menu ul.sub-menu a:hover,
  .fossil-g1-menu .fl-menu ul.sub-menu a:focus {
    color: #F05B28;
  }
}
.pp-offcanvas-content .fossil-g1-menu ul.sub-menu {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0 0 0 16px;
}
.pp-offcanvas-content .fossil-g1-menu li.menu-item-has-children.pp-has-submenu-visible > ul.sub-menu,
.pp-offcanvas-content .fossil-g1-menu li.menu-item-has-children.focus > ul.sub-menu,
.pp-offcanvas-content .fossil-g1-menu li.menu-item-has-children:focus-within > ul.sub-menu,
.pp-offcanvas-content .fossil-g1-menu .fl-menu .fl-has-submenu.fl-active > ul.sub-menu,
.pp-offcanvas-content .fossil-g1-menu .fl-menu .fl-has-submenu.pp-active > ul.sub-menu {
  display: block;
}

/* Shared PowerPack FAQ plus/minus toggle (pp-faq and accordion). */
.fl-builder-content .pp-accordion-item .pp-accordion-close,
.fl-builder-content .pp-faq-item .pp-faq-button-icon.pp-faq-icon-close,
.fl-builder-content .pp-faq-item .pp-accordion-close {
  display: none;
}
.fl-builder-content .pp-accordion-item.pp-accordion-item-active .pp-accordion-open,
.fl-builder-content .pp-faq-item.pp-faq-item-active .pp-faq-button-icon.pp-faq-icon-open,
.fl-builder-content .pp-faq-item.pp-faq-item-active .pp-accordion-open {
  display: none;
}
.fl-builder-content .pp-accordion-item.pp-accordion-item-active .pp-accordion-close,
.fl-builder-content .pp-faq-item.pp-faq-item-active .pp-faq-button-icon.pp-faq-icon-close,
.fl-builder-content .pp-faq-item.pp-faq-item-active .pp-accordion-close {
  display: flex;
}

/* 1.0.16 — Hero van must remain visible when hero columns stack at 768/390. */
@media (max-width: 768px) {
  .fl-builder-content .fl-node-uqk69adtj2ml > .fl-row-content-wrap,
  .fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap {
    min-height: 620px;
    background-position: 80% center !important;
    background-size: cover !important;
  }
  .fl-builder-content .fl-node-6f7p1itlu40r > .fl-col-content,
  .fl-builder-content .fl-node-hx960psgm317 > .fl-col-content {
    background-color: rgba(17, 17, 17, 0.78) !important;
  }
  .fl-builder-content .fl-node-s3zx9gtlvjkc,
  .fl-builder-content .fl-node-fr0tajkseymi {
    min-height: 260px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
}
@media (max-width: 390px) {
  .fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap {
    min-height: 680px;
    background-position: 82% 40% !important;
  }
  .fl-builder-content .fl-node-fr0tajkseymi {
    min-height: 280px !important;
  }
}

/* 1.0.17 — Show hero van through stacked overlay; 2-up accreditation grid at 390. */
@media (max-width: 768px) {
  .fl-builder-content .fl-node-fr0tajkseymi {
    display: block !important;
    visibility: visible !important;
    min-height: 250px !important;
  }
  .fl-builder-content .fl-node-fr0tajkseymi > .fl-col-content {
    min-height: 250px !important;
  }
  .fl-builder-content .fl-node-hx960psgm317 > .fl-col-content,
  .fl-builder-content .fl-node-6f7p1itlu40r > .fl-col-content {
    background-color: rgba(17, 17, 17, 0.58) !important;
  }
}
@media (max-width: 390px) {
  .fl-builder-content .pp-logos-wrapper.pp-logos-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 12px;
    align-items: center;
    justify-items: center;
  }
  .fl-builder-content .pp-logos-wrapper.pp-logos-grid .pp-logo {
    width: 100% !important;
    max-width: 160px !important;
    flex: none !important;
  }
  .fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap {
    background-position: 88% 35% !important;
  }
}


/**
 * Fossil Heating — 1.0.18 laptop-feedback batch 1.
 * Appended to live wp-content/themes/bb-theme-child/style.css
 * (Version header bumped 1.0.17 → 1.0.18).
 */

/* 1. Home Why Choose (hp_r05): desktop overlay + keep the man clear of the heading.
   Mobile (<=900px) position/overlay are left to Beaver Builder. */
@media (min-width: 901px) {
  .fl-builder-content .fl-node-hp_r05 > .fl-row-content-wrap {
    background-position: left center !important;
  }
  .fl-builder-content .fl-node-hp_r05.fl-row-bg-overlay > .fl-row-content-wrap:after {
    background-color: rgba(0, 0, 0, 0.6) !important;
    background-image: none !important;
    opacity: 1 !important;
  }
}

/* 2. Home "Bathroom and Wet Room Installations" card: optimized-markup
   heading/body/button were indented vs the other need-cards. */
.fl-builder-content .fl-node-hp_r06_c7 > .fl-col-content > .fl-module-rich-text,
.fl-builder-content .fl-node-hp_r06_c7 > .fl-col-content > .fl-module-button,
.fl-builder-content .fl-node-hp_r06_c7 > .fl-col-content > .fl-button-wrap,
.fl-builder-content .fl-node-hp_r06_c7 > .fl-col-content > .fl-module-rich-text p {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}

/* 5. Bathroom/wetroom inner hero: match page-26 photo+overlay treatment.
   Page-scoped page-bathroom-wetroom-installation.css still paints an
   orange→blue gradient on .fossil-bwi-hero; the row class is dropped in
   the layout so that rule no longer matches. These rules keep type white
   on the dark overlay and hide the old split photo column. */
.fl-builder-content .fl-node-bwi_r01 .fl-heading-text,
.fl-builder-content .fl-node-bwi_r01 h1,
.fl-builder-content .fl-node-bwi_r01 .fl-rich-text,
.fl-builder-content .fl-node-bwi_r01 .fl-rich-text p {
  color: #ffffff !important;
}
.fl-builder-content .fl-node-bwi_r01_ph {
  display: none !important;
}
.fl-builder-content .fl-node-bwi_r01_c {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* 5b. Photo captions: match .fossil-photo-caption on both classic and
   optimized markup (caption class on the module itself). #4A4A4A on the
   off-white cards is ~7.4:1; white on the dark overlay is well above 4.5:1. */
.fl-builder-content .fossil-photo-caption.fl-module,
.fl-builder-content .fossil-photo-caption.fl-module p,
.fl-builder-content .fossil-photo-caption .fl-rich-text,
.fl-builder-content .fossil-photo-caption .fl-rich-text p {
  margin: 0;
  max-width: none;
  font-family: "Poppins", sans-serif;
  font-size: 13px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.45;
  color: #4A4A4A;
}
.fl-builder-content .fl-row-bg-overlay .fossil-photo-caption.fl-module,
.fl-builder-content .fl-row-bg-overlay .fossil-photo-caption.fl-module p,
.fl-builder-content .fl-row-bg-photo .fossil-photo-caption.fl-module,
.fl-builder-content .fl-row-bg-photo .fossil-photo-caption.fl-module p,
.fl-builder-content .fl-node-bwi_r01 .fossil-photo-caption.fl-module,
.fl-builder-content .fl-node-bwi_r01 .fossil-photo-caption.fl-module p {
  color: #ffffff;
}

/* 6. Coverage map iframe (no API key). */
.fl-builder-content .fossil-coverage-map iframe {
  width: 100%;
  max-width: 100%;
  height: 450px;
  border: 0;
  display: block;
}


/* Off-canvas menu: keep email on one line */
.fl-builder-content .fl-node-l01m3to7pi8h.fl-module-rich-text.fl-rich-text a[href^="mailto:"]{white-space:nowrap;font-size:clamp(12px,3.6vw,16px);}

/**
 * Fossil Heating — 1.0.21 homepage mobile hero.
 * Appended to live wp-content/themes/bb-theme-child/style.css
 * (Version header bumped 1.0.20 → 1.0.21).
 *
 * Mobile only (<=900px). Desktop hero fl-node-uqk69adtj2ml is not targeted.
 * The van stays the row BACKGROUND (hero-van.jpg); we only recrop, clear the
 * lower-column fill, and move the Gas Safe card badge off the van window logo.
 */

@media (max-width: 900px) {
  /* Pin the van rear (logo ~87% across / 43% down the source) into the visible slice. */
  .fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap {
    background-position: 100% 50% !important;
    background-size: cover !important;
  }

  /* Row overlay was a flat 28% black wash over the van/logo. Drop it so the
     rear window stays readable; copy contrast comes from the card gradient. */
  .fl-builder-content .fl-node-j32os4hfl6ud > .fl-row-content-wrap:before {
    background: transparent !important;
  }

  /* Empty lower column: no dark fill over the car. */
  .fl-builder-content .fl-node-fr0tajkseymi,
  .fl-builder-content .fl-node-fr0tajkseymi.fl-col-bg-color,
  .fl-builder-content .fl-node-fr0tajkseymi > .fl-col-content {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* Card: light/dark gradient only behind copy + buttons, not a solid wash.
     Remove the Gas Safe PNG from the column background (it sat at 97% 97%
     on the van window logo). */
  .fl-builder-content .fl-node-hx960psgm317 > .fl-col-content {
    position: relative;
    background-color: transparent !important;
    background-image: linear-gradient(
      180deg,
      rgba(17, 17, 17, 0.86) 0%,
      rgba(17, 17, 17, 0.62) 58%,
      rgba(17, 17, 17, 0.08) 100%
    ) !important;
    background-repeat: no-repeat !important;
    background-position: 0 0 !important;
    background-size: 100% 100% !important;
    padding-top: 68px !important;
  }

  /* Gas Safe badge: shrink and pin to the top-right of the card, clear of the van logo. */
  .fl-builder-content .fl-node-hx960psgm317 > .fl-col-content::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 14px;
    width: 44px;
    height: 49px;
    background: url("https://fossil.digitalzest.uk/wp-content/uploads/2026/09/image-2.png") no-repeat center / contain;
    pointer-events: none;
    z-index: 2;
  }
}

/**
 * Fossil Heating — 1.0.22 mobile/tablet photo+text split order.
 * Appended to live wp-content/themes/bb-theme-child/style.css
 * (Version header bumped after 1.0.21).
 *
 * At max-width: 900px ONLY, every 2-column photo/text split stacks
 * TEXT FIRST, then IMAGE. Desktop (>900px) is unchanged — rows keep
 * alternating left/right photos.
 *
 * One mechanism: Beaver Builder 2-column groups become
 * display:flex; flex-direction:column. The column that contains the
 * image (a descendant img, or .fossil-photo-placeholder, or homepage
 * mosaic .fossil-hp-mosaic-photo) gets order: 2; the other column
 * gets order: 1.
 *
 * :has(> .fl-col:has(img)) is invalid in Chromium (nested :has), so
 * image columns are detected with :has(> .fl-col img) instead.
 *
 * Covers:
 * - shared .fossil-inner-split rows (also carry .fossil-hp-section)
 * - homepage mosaic photo/text rows (column background photos, no img)
 * - rebuilt inner-page 2-col photo+copy groups that dropped .fossil-inner-split
 *
 * Excludes header/footer logo columns and full-bleed photo heroes
 * (fl-row-bg-photo), which are not photo/text splits.
 */

@media (max-width: 900px) {
  .fl-builder-content .fl-row:not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer):not(.fl-row-bg-photo) .fl-col-group:has(> .fl-col + .fl-col:last-child):has(> .fl-col img, > .fl-col.fossil-photo-placeholder, > .fl-col.fossil-hp-mosaic-photo) {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 20px;
  }

  .fl-builder-content .fl-row:not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer):not(.fl-row-bg-photo) .fl-col-group:has(> .fl-col + .fl-col:last-child):has(> .fl-col img, > .fl-col.fossil-photo-placeholder, > .fl-col.fossil-hp-mosaic-photo) > .fl-col {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
    min-width: 0;
  }

  .fl-builder-content .fl-row:not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer):not(.fl-row-bg-photo) .fl-col-group:has(> .fl-col + .fl-col:last-child):has(> .fl-col img, > .fl-col.fossil-photo-placeholder, > .fl-col.fossil-hp-mosaic-photo) > .fl-col:not(:has(img)):not(.fossil-photo-placeholder):not(.fossil-hp-mosaic-photo) {
    order: 1;
  }

  .fl-builder-content .fl-row:not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer):not(.fl-row-bg-photo) .fl-col-group:has(> .fl-col + .fl-col:last-child):has(> .fl-col img, > .fl-col.fossil-photo-placeholder, > .fl-col.fossil-hp-mosaic-photo) > .fl-col:has(img),
  .fl-builder-content .fl-row:not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer):not(.fl-row-bg-photo) .fl-col-group:has(> .fl-col + .fl-col:last-child):has(> .fl-col img, > .fl-col.fossil-photo-placeholder, > .fl-col.fossil-hp-mosaic-photo) > .fl-col.fossil-photo-placeholder,
  .fl-builder-content .fl-row:not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer):not(.fl-row-bg-photo) .fl-col-group:has(> .fl-col + .fl-col:last-child):has(> .fl-col img, > .fl-col.fossil-photo-placeholder, > .fl-col.fossil-hp-mosaic-photo) > .fl-col.fossil-hp-mosaic-photo {
    order: 2;
  }

  .fl-builder-content .fl-row:not(.fossil-g1-header):not(.fossil-g1-nav):not(.fossil-g1-utility):not(.fossil-g1-footer):not(.fl-row-bg-photo) .fl-col-group:has(> .fl-col + .fl-col:last-child):has(> .fl-col img, > .fl-col.fossil-photo-placeholder, > .fl-col.fossil-hp-mosaic-photo) img {
    max-width: 100%;
    height: auto;
  }
}

/* 1.0.24 — Header Gas Safe + OFTEC: 40px artwork beside logo; hide with burger (<=1024px) */
.fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c1 > .fl-col-content {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px;
  min-width: 0;
}
.fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c1 > .fl-col-content > .fl-module {
  display: block;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  float: none !important;
  margin: 0 !important;
}

/* 1.0.28 — Desktop header nav: tighter badge gap, right-aligned menu, compact dropdown arrows. */
@media (min-width: 1025px) {
  .fl-builder-content .fossil-g1-header.fl-row .fl-row-fixed-width,
  .fl-builder-content .fossil-g1-nav.fl-row .fl-row-content {
    max-width: 1441px !important;
  }
  .fl-builder-content .fossil-g1-nav.fl-row > .fl-row-content-wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_g {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 8px;
  }
  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c1,
  .fl-builder-content .fossil-g1-nav .fl-node-dtpu7514xrny {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    float: none !important;
  }
  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c2 {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
    margin-left: auto !important;
  }
  .fl-builder-content .fossil-g1-nav .fl-node-dtpu7514xrny > .fl-col-content,
  .fl-builder-content .fossil-g1-nav .fl-node-hj9pfxeq4uim {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 7px;
    width: auto !important;
  }
  .fl-builder-content .fossil-g1-nav .fl-node-bif8nyzmwt7h,
  .fl-builder-content .fossil-g1-nav .fl-node-jvu7ixc4bfrp {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    float: none !important;
  }
  .fl-builder-content .fossil-g1-nav .fl-node-g1h_r2_c2 > .fl-col-content,
  .fl-builder-content .fossil-g1-menu,
  .fl-builder-content .fossil-g1-menu > .fl-module-content,
  .fl-builder-content .fossil-g1-menu .fl-menu,
  .fl-builder-content .fossil-g1-menu .fl-menu > nav,
  .fl-builder-content .fossil-g1-menu .fl-menu > nav > ul.menu {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu {
    text-align: right !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu > nav > ul.menu,
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu.fl-menu-horizontal {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: flex-end !important;
    margin: 0 0 0 auto !important;
    float: none !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li,
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > .fl-has-submenu-container {
    white-space: nowrap;
    flex: 0 0 auto !important;
    width: auto !important;
    float: none !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > a {
    white-space: nowrap !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > .fl-has-submenu-container > a {
    white-space: nowrap !important;
    padding-left: 8px !important;
    padding-right: 4px !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu .fl-has-submenu-container:has(button.fl-menu-toggle),
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > .fl-has-submenu-container {
    display: flex !important;
    align-items: center;
    grid-template-columns: none !important;
    width: auto !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > .fl-has-submenu-container > button.fl-menu-toggle,
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > .fl-has-submenu-container > .fl-menu-toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 12px !important;
    min-width: 12px !important;
    max-width: 12px !important;
    height: 12px !important;
    padding: 0 !important;
    margin: 0 8px 0 0 !important;
    flex: 0 0 12px !important;
    align-self: center;
  }
  .fl-builder-content .fossil-g1-nav .fl-node-qgypbmtju4c6 {
    display: none !important;
  }
}

/* 1.0.28 — Extra squeeze only on the narrow desktop band so 1025px stays clear. */
@media (min-width: 1025px) and (max-width: 1279px) {
  .fl-builder-content .fossil-g1-nav.fl-row > .fl-row-content-wrap {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > a {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu > li > .fl-has-submenu-container > a {
    padding-left: 6px !important;
    padding-right: 4px !important;
  }
}

/*
 * 1.0.29 — Sit the desktop menu halfway between the pre-1.0.28 position and the
 * flush-right 1.0.28 position. Original unused space after Service Plans came from
 * a left-packed menu inside the 1240px measure (plus the centred leftover at
 * wider viewports). Inset = midpoint of those two Service Plans right-edges.
 * 1025–1119px: original unused was 0 / negative (overlap) — no inset.
 */
@media (min-width: 1120px) and (max-width: 1279px) {
  .fl-builder-content .fossil-g1-menu .fl-menu > nav > ul.menu,
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu.fl-menu-horizontal {
    padding-right: calc((100vw - 1119px) / 2) !important;
  }
}
@media (min-width: 1280px) and (max-width: 1473px) {
  .fl-builder-content .fossil-g1-menu .fl-menu > nav > ul.menu,
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu.fl-menu-horizontal {
    padding-right: calc(25vw - 241px) !important;
  }
}
@media (min-width: 1474px) {
  .fl-builder-content .fossil-g1-menu .fl-menu > nav > ul.menu,
  .fl-builder-content .fossil-g1-menu .fl-menu ul.menu.fl-menu-horizontal {
    padding-right: 127px !important;
  }
}

.fl-builder-content .fossil-header-badge {
  flex: 0 0 auto;
  line-height: 0;
  margin: 0 !important;
  width: auto !important;
  max-width: none;
}
.fl-builder-content .fossil-header-badge .fl-photo-content {
  display: block;
  height: 40px;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  line-height: 0;
}
.fl-builder-content .fossil-header-badge img {
  display: block;
  height: 40px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 40px !important;
  object-fit: contain;
  object-position: center center;
}

.fl-builder-content .fossil-tab2-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 1024px) {
  .fl-builder-content .fossil-header-badge,
  .fl-builder-content .fossil-g1-nav .fl-node-dtpu7514xrny {
    display: none !important;
  }
}

/* Fossil standard service content rows (1.0.27). Desktop >900px: 1418px centred measure, copy 55 / image 45, square photo max 430px. Column widths apply only to 2-column groups so a nested 100% wrapper column is not shrunk by :has(img). Mobile ≤900px: columns stack, image stays square / 10px radius / max 430px / centred. */
@media (min-width: 901px) {
  .fl-row.fossil-svc-row > .fl-row-content-wrap > .fl-row-content {
    max-width: 1418px !important;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .fossil-svc-row .fl-col-group:has(> .fl-col:nth-child(2):last-child) > .fl-col {
    width: 55% !important;
    max-width: 55% !important;
  }
  .fossil-svc-row .fl-col-group:has(> .fl-col:nth-child(2):last-child) > .fl-col:has(img) {
    width: 45% !important;
    max-width: 45% !important;
  }
}
@media (max-width: 900px) {
  .fossil-svc-row .fl-col-group:has(> .fl-col:nth-child(2):last-child) > .fl-col {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
  }
}
.fossil-svc-row .fl-col:has(img) .fl-photo-content,
.fossil-svc-row .fl-col:has(img) .fl-photo-img-wrap {
  display: block;
  max-width: 430px;
  margin-left: auto;
  margin-right: auto;
}
.fossil-svc-row .fl-col:has(img) img {
  display: block;
  width: 100% !important;
  max-width: 430px !important;
  height: auto !important;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  border-radius: 10px !important;
}