/* Boiler Sure skin: decoration only. Content, spacing, fonts and colours live in the Kadence blocks. */
:root { --bs-blue:#0070B6; --bs-navy:#095293; --bs-yellow:#FAE500; --bs-sky:#3AACEA; --bs-pale:#B7E9FF; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.bs-title mark { display:block; background:transparent; }

/* Buttons: round icon badge */
.bs-btn { white-space: nowrap; }
.bs-btn .kb-svg-icon-wrap { border-radius: 50%; background: var(--bs-blue); color:#fff; display:inline-flex; align-items:center; justify-content:center; }
.bs-btn-yellow .kb-svg-icon-wrap { background: var(--bs-yellow); color: var(--bs-navy); }
.bs-btn .kb-svg-icon-wrap svg { width:16px; height:16px; stroke-width:2.6; }

/* Reviews: card frame (Testimonials container settings style only the text bubble) */
.bs-reviews .kt-testimonial-item-wrap { display:flex; flex-direction:column; justify-content:space-between; box-sizing:border-box; height:100%; min-height:428px; padding:38px 45px 39px 45px; background:linear-gradient(180deg,#f6fbff 0%,#d8edfd 100%); border:5px solid #1c7dcb; border-radius:20px; position:relative; }
.bs-reviews .kt-testimonial-text-wrap { flex:1 1 auto; }
.bs-reviews .kt-testimonial-rating-wrap { display:flex; gap:11px; line-height:1; color:#FFB400; margin-bottom:22px; }
.bs-reviews .kt-testimonial-rating-wrap .kt-svg-testimonial-rating-icon { margin:0; }
.bs-reviews .kt-testimonial-content-wrap { margin:0; }
.bs-reviews .kt-testimonial-content { margin:0; padding:0; border:0; font-style:normal; }
.bs-reviews .kt-testimonial-meta-wrap { display:flex; align-items:center; gap:23px; }
.bs-reviews .kt-testimonial-media-wrap, .bs-reviews .kt-testimonial-media-inner-wrap { margin:0; padding:0; width:74px; }
.bs-reviews .kt-testimonial-media-wrap img { display:block; width:74px; height:74px; border-radius:50%; }
.bs-reviews .kt-testimonial-meta-name-wrap { padding:0; margin:0; }
.bs-reviews .kt-testimonial-item-wrap::after { content:''; position:absolute; right:22px; bottom:20px; width:65px; height:66px; background:url(https://devtest.draftforclients.com/wp-content/uploads/2026/10/g_icon.png) center/contain no-repeat; }
.bs-reviews-hero .splide__track { overflow:visible; }
.bs-reviews-row .bs-reviews-col { min-width:1725px !important; }
.bs-reviews-row { overflow:hidden; }

/* Hero carousel arrows sit left of the cards, like the design */
.bs-reviews-hero .kt-blocks-carousel-init { position:relative; }
.bs-reviews-hero .splide__arrow { position:absolute !important; left:-264px !important; right:auto !important; width:55px !important; height:55px !important; border-radius:50% !important; padding:0 !important; transform:none !important; display:flex !important; align-items:center; justify-content:center; opacity:1 !important; z-index:5; cursor:pointer; }
.bs-reviews-hero .splide__arrow svg { display:none !important; }
.bs-reviews-hero .splide__arrow::after { font:500 30px/1 'DM Sans',sans-serif; display:block; margin-top:-3px; }
.bs-reviews-hero .splide__arrow--next { top:298px !important; background:#0070B6 !important; color:#fff !important; border:0 !important; }
.bs-reviews-hero .splide__arrow--next::after { content:'\2192'; }
.bs-reviews-hero .splide__arrow--prev { top:368px !important; background:#fff !important; color:#000 !important; border:2px solid #000 !important; }
.bs-reviews-hero .splide__arrow--prev::after { content:'\2190'; }

/* 10-sections.css */
/* Section backgrounds: slices of the design's composited background */
.bs-sec { background-size: 100% 100% !important; background-position: center top !important; background-repeat: no-repeat !important; position: relative; }
@media (max-width: 1024px) { .bs-sec { background-size: cover !important; } .bs-sec > .kt-row-column-wrap { min-height: 0 !important; } }

/* Card frame: white card, black outline (design) */
.bs-card { box-sizing: border-box; }
.bs-card > .kt-inside-inner-col { height: 100%; }
.bs-step-card { position: relative; }
.bs-step-card .bs-step-badge { position: absolute; top: -69px; right: 43px; margin: 0; width: 167px; z-index: 2; }
.bs-step-card .bs-step-badge img { width: 167px; height: auto; }
.bs-step-card > .kt-inside-inner-col { position: relative; }
.bs-step-num mark, .bs-step-num { color: #0070B6; }

/* Services / areas */
.bs-svc-card { background: #fff; }
.bs-areas-box { overflow: hidden; background: #000; }
.bs-areas-box > .kt-row-column-wrap { overflow: hidden; border-radius: 9px; }
.bs-areas-photo-col, .bs-areas-photo-col > .kt-inside-inner-col { height: 100%; }
.bs-areas-photo-col figure, .bs-areas-photo-col .wp-block-kadence-image { height: 100%; margin: 0 !important; }
.bs-areas-photo-col img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.bs-iconlist .kt-svg-icon-list-single svg { fill: #0070B6; }

/* Hero art overhangs the column like the design */
.bs-hero-art, .bs-cover-art { max-width: none; }
.bs-hero-art img, .bs-cover-art img { max-width: none; }
@media (max-width: 1024px) { .bs-hero-art img, .bs-cover-art img { max-width: 100%; } }

/* Guide form */
.bs-guide-form .kb-forms-submit, .bs-guide-form .kb-form-submit { gap: 14px; }
.bs-guide-form .kb-forms-submit::after, .bs-guide-form .kb-form-submit::after { content: '\2197'; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-left: 16px; border-radius: 50%; background: #0070B6; color: #fff; font: 700 17px/1 'DM Sans', sans-serif; vertical-align: middle; }
.bs-guide-form input, .bs-guide-form textarea, .bs-guide-form select { box-shadow: 2px 4px 0 #000; border: 0 !important; }
.bs-guide-form input::placeholder { color: #000; opacity: 1; }

/* 100-ashtead.css */
/* Ashtead: photo-card pair on yellow B, wide cover card on C, 2 x (text + card) on navy H */
.bs-as-pair { align-items: stretch; }
.bs-as-pair-card, .bs-as-cover { text-align: left; }
.bs-as-pair .bs-svc-card.wp-block-kadence-column, .bs-as-cover.wp-block-kadence-column { background: transparent !important; }
.bs-as-pair .bs-svc-card > .kt-inside-inner-col, .bs-as-cover > .kt-inside-inner-col { background: #fff; }
.bs-as-pair-card > .kt-inside-inner-col { height: 100%; }
.bs-as-pair h2 a, .bs-as-cover h2 a { color: inherit; text-decoration: none; }
.bs-as-pair h2 a:hover, .bs-as-cover h2 a:hover { text-decoration: underline; }
.bs-as-cover-art img { width: 100%; height: auto; display: block; }
@media (min-width: 1025px) { .bs-sec.bs-as-why { background-size: auto 1620px !important; } .bs-sec.bs-nb-c.bs-sec-c { min-height: 200px !important; } }

/* 101-guildford.css */
/* Guildford: pull quote, 2 x 2 card grid, two-column text on navy */
.bs-gf-pull { border-left: 6px solid #F9C800; padding-left: 18px; color: #02355f; }
.bs-gf-card { text-align: left; }
.bs-gf-grid { align-items: stretch; }
.bs-gf-grid .bs-svc-card.wp-block-kadence-column { background: transparent !important; }
.bs-gf-grid .bs-svc-card > .kt-inside-inner-col { background: #fff; }
@media (min-width: 1025px) { .bs-gf-grid .bs-svc-card > .kt-inside-inner-col { height: 100%; } }
.bs-gf-card h3 a { color: inherit; text-decoration: none; }
.bs-gf-card h3 a:hover { text-decoration: underline; }
.bs-gf-hero-art img { width: 100%; height: auto; display: block; }
.bs-gf-navy-photo { margin-bottom: 0; }
.bs-gf-grid2 { position: relative; z-index: 3; }
.bs-gf-grid .bs-card-icon { display: block; }

/* 102-horley.css */
/* Horley: two-column text panel on yellow, wide cover card, icon cards on navy */
.bs-hl-pcol { text-align: left; }
.bs-hl-ph a { color: inherit; text-decoration: none; }
.bs-hl-ph a:hover { text-decoration: underline; }
@media (min-width: 1025px) { .bs-hl-pcol + .bs-hl-pcol { border-left: 4px solid #02355f; } }
@media (max-width: 1024px) { .bs-hl-pcol { padding: 0 !important; } }
.bs-hl-navycard .bs-card-icon { display: block; }
.bs-hl-navyphoto img { aspect-ratio: 16 / 10; width: 100%; object-fit: cover; height: auto; }
@media (max-width: 1024px) { .bs-hl-pcol + .bs-hl-pcol { margin-top: 36px !important; padding-top: 32px !important; border-top: 4px solid #02355f; } }

/* 103-kingston.css */
/* Kingston: two icon cards on yellow, three-card row, one white panel with two columns on navy */
.bs-kg-card .bs-card-icon { display: block; }
.bs-kg-card h2 a { color: inherit; text-decoration: none; }
.bs-kg-card h2 a:hover { text-decoration: underline; }
.bs-kg-photo img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; height: auto; }
.bs-kg-card3 .bs-btn { max-width: 100%; }
.bs-kg-navypanel { background: #fff; }

/* 104-news.css */
/* News & Advice: article bands, step badges, Posts grid */
.bs-nw-card .bs-card-icon { display: block; }
.bs-nw-photo img { width: 100%; height: auto; display: block; border: 6px solid #000; border-radius: 20px; box-shadow: 8px 10px 0 #000; }
.bs-nw-photo-col { align-self: center; }
.bs-nw-white { position: relative; }
.bs-step-badge { display: inline-block; width: fit-content; background: #F9C800; border: 3px solid #000; border-radius: 200px; padding: 4px 18px; box-shadow: 2px 3px 0 #000; }
.bs-nw-center, .bs-nw-ctr-col { margin-left: auto; margin-right: auto; }
.bs-nw-headrow, .bs-nw-brands { margin-left: auto; margin-right: auto; }
.bs-nw-risk .bs-svc-text, .bs-nw-step .bs-svc-text { text-align: left; }
.bs-nw-lead { text-shadow: none; }
.bs-nw-b4 .bs-nw-accwrap .kt-accordion-wrap { max-width: 100%; }
.bs-nw-b4 .bs-nw-close p, .bs-nw-b4 .bs-nw-accwrap { color: #000; }
/* Kadence Posts grid in the design's card frame */
.bs-nw-posts .kb-posts { gap: 28px; }
.bs-nw-posts article.entry { background: #fff; border: 5px solid #000; border-radius: 20px; overflow: hidden; box-shadow: 4px 6px 0 #000; }
.bs-nw-posts article.entry .entry-content-wrap { padding: 22px 24px 26px; }
.bs-nw-posts .entry-title { font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: 24px; line-height: 30px; letter-spacing: -0.5px; }
.bs-nw-posts .entry-title a { color: #000; text-decoration: none; }
.bs-nw-posts .entry-title a:hover { text-decoration: underline; }
.bs-nw-posts .entry-summary p { font-size: 17px; line-height: 27px; color: #000; }
.bs-nw-posts .entry-meta, .bs-nw-posts .entry-meta a { font-size: 15px; color: #02355f; }
.bs-nw-posts .kb-posts-readmore, .bs-nw-posts .more-link { display: inline-block; background: #F9C800; color: #000; border-radius: 200px; padding: 10px 24px; font-weight: 500; box-shadow: 2px 4px 0 #000; text-decoration: none; }
.bs-nw-posts .post-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1024px) {
  .bs-nw-white .bs-nw-box > .kt-row-column-wrap { row-gap: 0 !important; }
}
/* the framed panel/card at the bottom of a yellow band overlaps the cloud lobe's top */
@media (min-width: 1025px) {
  .bs-ep-b.bs-nw-bpad > .kt-row-column-wrap { padding-bottom: calc(17.2vw - 150px) !important; }
}
/* C band: its artwork (1920 x 960) scales with the width and the rest is plain white */
@media (min-width: 1025px) {
  .bs-nw-c { background-size: 100% auto !important; background-color: #fff !important; background-repeat: no-repeat !important; }
  .bs-ep-b.bs-nw-bpad > .kt-row-column-wrap { padding-bottom: calc(17.2vw + 40px) !important; }
}
@media (max-width: 767px) { .bs-about-offer.bs-nw-h > .kt-row-column-wrap { padding-bottom: 60px !important; } .bs-nw-h + .bs-nw-white { padding-top: 0 !important; } }

/* 105-process.css */
/* Our Process: step panels, titled mini cards, step index */
.bs-pr-panel { text-align: left; }
.bs-pr-panel a { color: inherit; text-decoration: underline; text-decoration-color: #F9C800; text-underline-offset: 3px; }
.bs-pr-panel a:hover { color: #0076d6; }
.bs-pr-panel .bs-btn a, .bs-pr-panel a.kb-button { text-decoration: none; }
.bs-pr-mini { text-align: left; }
.bs-pr-mini .bs-card-icon { display: block; }
.bs-pr-minis { align-items: stretch; }
.bs-pr-minis > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { height: 100%; }
.bs-pr-photo img { width: 100%; height: auto; display: block; border-radius: 20px; border: 5px solid #000; box-shadow: 4px 6px 0 #000; }
.bs-pr-index a { color: inherit; text-decoration: none; }
.bs-pr-index a:hover { text-decoration: underline; }
.bs-pr-hero-art img { width: 100%; height: auto; display: block; }
.bs-pr-steptitle { scroll-margin-top: 120px; }
@media (max-width: 1024px) { .bs-pr-panel { scroll-margin-top: 100px; } }

/* 106-careers.css */
/* Careers: banner links, join heading, note card, offer tiles */
.bs-hero-p a { color: #fff; text-decoration: underline; text-decoration-color: #F9C800; text-underline-offset: 3px; }
.bs-hero-p a:hover { color: #F9C800; }
.bs-cr-join { text-align: left; }
.bs-cr-panel a, .bs-cr-b a { text-decoration-color: #F9C800; }
.bs-cr-note { text-align: left; }
.bs-cr-note .bs-card-icon { display: block; }
.bs-cr-tiles { align-items: stretch; }
.bs-cr-tiles > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { height: 100%; }
.bs-cr-tile h3 { margin: 0; }
.bs-cr-form-row { text-align: left; }
.bs-cr-form .kb-form .kadence-blocks-form-field.kb-submit-field { margin-bottom: 0; }
.bs-cr-form-row.kb-row-layout-wrap { margin-left: 0 !important; margin-right: auto !important; }
.bs-cr-form input::placeholder, .bs-cr-form textarea::placeholder { color: #000; opacity: .75; }
.bs-cr-form textarea { box-shadow: 2px 4px 0 #000; border: 0 !important; }
.bs-cr-form-row > .kt-row-column-wrap { margin-left: 0 !important; margin-right: auto !important; }
@media (min-width: 1025px) and (max-width: 1700px) { .bs-cr-k > .kt-row-column-wrap { min-height: 790px !important; } .bs-cr-k .bs-k-row { margin-top: -12vw !important; } }

/* 107-finance.css */
/* Finance Options: three titled cards inside the How-it-works panel, checklist card */
.bs-fin-minis { align-items: stretch; }
.bs-fin-minis > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { height: 100%; }
.bs-fin-mini { text-align: left; }
.bs-fin-mini h3 { margin-top: 0; }
.bs-fin-panel a { text-decoration-color: #F9C800; }
@media (min-width: 1025px) and (max-width: 1700px) { .bs-cr-k.bs-fin-k .bs-k-row { margin-top: -15vw !important; } }
@media (min-width: 1025px) and (max-width: 1700px) { .bs-cr-k.bs-fin-k > .kt-row-column-wrap { min-height: 640px !important; } }

/* 108-faqs.css */
/* FAQs: accordions inside framed panels */
.bs-faq-pleft .bs-faq-art img { max-width: 100%; height: auto; }
.bs-faq-panel2 .kt-accordion-pane, .bs-faq-panel3 .kt-accordion-pane, .bs-faq-panel .kt-accordion-pane { margin-bottom: 16px; }
.bs-faq-panel a, .bs-faq-panel2 a, .bs-faq-panel3 a, .bs-faq-k a { text-decoration-color: #F9C800; }
.bs-faq-panel2 > .kt-row-column-wrap, .bs-faq-panel3 > .kt-row-column-wrap { align-items: start; }

/* 109-reviews.css */
/* Reviews: pull-quote card in the "Why Reviews Matter" panel, hero pair in the "Leave Us a Review" panel */
.bs-rev-quotecard { text-align: left; }
.bs-rev-quote { margin: 0; }
.bs-rev-artcol img, .bs-rev-art img { width: 100%; height: auto; display: block; margin: 0 auto; }
.bs-rev-leave a { text-decoration-color: #F9C800; }
@media (min-width: 1025px) and (max-width: 1700px) { .bs-cr-k.bs-rev-k .bs-k-row { margin-top: -19vw !important; } }
@media (min-width: 1025px) and (max-width: 1700px) { .bs-cr-k.bs-rev-k > .kt-row-column-wrap { min-height: 640px !important; } }
@media (min-width: 1025px) and (max-width: 1500px) { .bs-rev-wrap { margin-top: -15vw !important; } }

/* 110-post.css */
/* Blog posts: title area as the home hero (blue rays + cloud edge), framed featured image, article details. Decoration only. */
.single-post .entry-hero.post-hero-section .entry-hero-container-inner { background-color: #006BBE; background-image: url(https://devtest.draftforclients.com/wp-content/uploads/2026/10/bg_A.png); background-repeat: no-repeat; background-size: 100% auto; background-position: center calc(100% + 21vw); padding-bottom: 13vw; min-height: 0 !important; }
.single-post .entry-hero .hero-section-overlay { display: none; }
.single-post .entry-hero .hero-container { padding-top: 56px; }
.single-post .entry-hero .entry-title { text-shadow: none; letter-spacing: -0.02em; max-width: 1100px; }
.single-post .entry-hero .entry-taxonomies a { display: inline-block; background: #FAE500; color: #000; border: 3px solid #000; border-radius: 200px; padding: 4px 16px; font-weight: 700; font-size: 14px; letter-spacing: .02em; text-decoration: none; box-shadow: 2px 3px 0 #000; margin-bottom: 8px; }
.single-post .entry-hero .entry-meta { font-weight: 500; font-size: 16px; color: #fff; }
.single-post .post-thumbnail.article-post-thumbnail { max-width: 1040px; margin: -9vw auto 0; padding: 0 40px; position: relative; z-index: 2; }
.single-post .post-thumbnail .post-thumbnail-inner { border: 5px solid #000; border-radius: 20px; overflow: hidden; background: #fff; }
.single-post .post-thumbnail.article-post-thumbnail { padding-bottom: 0 !important; height: auto !important; }
.single-post .post-thumbnail .post-thumbnail-inner { position: relative !important; padding-bottom: 0 !important; height: auto !important; }
.single-post .post-thumbnail .post-thumbnail-inner img { display: block; position: static !important; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; }
.single-post .content-area { margin-top: 0; margin-bottom: 0; }
.single-post .entry-content > .bs-post-article { margin-bottom: 0; }
.bs-post-article .bs-title { text-wrap: balance; }
.bs-post-article a { color: #0070B6; text-decoration: underline; text-underline-offset: 3px; }
.bs-post-article a:hover { color: #095293; }
@media (min-width: 1025px) { .bs-post-k .bs-btns .kb-btn, .bs-post-k .bs-btns .kt-button { width: auto !important; } }
@media (max-width: 1024px) {
  .single-post .entry-hero .hero-container { padding-left: 24px; padding-right: 24px; }
  .single-post .entry-hero.post-hero-section .entry-hero-container-inner { padding-bottom: 22vw; }
  .single-post .post-thumbnail.article-post-thumbnail { padding: 0 24px; margin-top: -10vw; }
}
@media (max-width: 767px) {
  .single-post .entry-hero .hero-container { padding-left: 20px; padding-right: 20px; }
  .single-post .entry-hero .hero-container { padding-top: 36px; }
  .single-post .entry-hero.post-hero-section .entry-hero-container-inner { padding-bottom: 26vw; }
  .single-post .post-thumbnail.article-post-thumbnail { padding: 0 20px; margin-top: -12vw; }
  .single-post .post-thumbnail .post-thumbnail-inner { border-width: 4px; border-radius: 16px; }
}

/* 20-lower.css */
/* Plans: photo frames + £0 excess badge */
.bs-photo-col { position: relative; }
.bs-photo-col figure, .bs-photo-col .wp-block-kadence-image { margin: 0; }
.bs-photo-col img { display: block; width: 100%; height: auto; }
.bs-badge { position: absolute; top: -127px; left: 242px; width: 247px; z-index: 3; pointer-events: none; }
.bs-badge .bs-badge-img { margin: 0; }
.bs-badge .bs-badge-text { position: absolute; left: 0; right: 0; top: 82px; margin: 0; text-align: center; }
@media (max-width: 1024px) { .bs-badge { left: auto; right: 10px; top: -70px; width: 170px; } .bs-badge .bs-badge-text { top: 54px; } }

/* Why choose */
.bs-why-icon img { display: block; margin: 0 auto; max-width: 168px; height: auto; }
.bs-why-item h3 { margin-bottom: 8px; }

/* Video: popup + decorative art around it */
.bs-sec-h .bs-sec-inner { position: relative; }
.bs-video-art { position: absolute; left: 50%; margin-left: -923px; top: 231px; width: 1846px; max-width: none; pointer-events: none; z-index: 4; }
.bs-video-art img { max-width: none; width: 1846px; }
@media (max-width: 1500px) { .bs-video-art { display: none; } }
.bs-video, .bs-video .kadence-video-popup-wrap { width: 100%; }
.bs-video .kadence-video-popup-wrap { border: 7px solid #000; border-radius: 33px; overflow: hidden; }
.bs-video .kadence-video-popup-wrap .kadence-video-poster-wrap, .bs-video .kadence-video-popup-wrap img { width: 100%; }

/* Lower reviews: dots */
.bs-reviews-lower .splide__pagination { position: static; display: flex; justify-content: center; gap: 20px; margin-top: 43px; padding: 0; }
.bs-reviews-lower .splide__pagination li { list-style: none; }
.bs-reviews-lower .splide__pagination__page { width: 16px; height: 16px; border-radius: 50%; background: #D9D9D9; border: 0; opacity: 1; padding: 0; transform: none; }
.bs-reviews-lower .splide__pagination__page.is-active { background: #095293; transform: none; }
.bs-reviews-lower .splide__arrows { display: none; }

/* Brand tiles */
.bs-brand-tile { box-shadow: 3px 5px 0 #000; }
.bs-brand-tile > .kt-inside-inner-col { display: flex; align-items: center; justify-content: center; height: 100%; }
.bs-brand-tile figure, .bs-brand-tile .wp-block-kadence-image { margin: 0 auto; }
.bs-brand-tile img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.bs-brand-empty { background: transparent; }
.bs-brands-char img { max-width: none; }
@media (max-width: 1024px) { .bs-brands-char img { max-width: 100%; } }

/* FAQ */
.bs-faq .kt-accordion-panel-inner { border-radius: 30px; }
.bs-faq .kt-blocks-accordion-header { border-radius: 200px; box-shadow: 2px 4px 0 #000; }
.bs-faq .kt-blocks-accordion-header .kt-btn-svg-icon svg { stroke-width: 2.5; }
.bs-faq .kt-accordion-pane { margin-bottom: 28px; }
.bs-faq-art img { max-width: none; }
@media (max-width: 1024px) { .bs-faq-art img { max-width: 100%; } }

/* Contact band */
.bs-contact-box { overflow: hidden; background: #000; }
.bs-contact-box > .kt-row-column-wrap { border-radius: 8px; overflow: hidden; }
.bs-map-col, .bs-map-col > .kt-inside-inner-col { height: 100%; }
.bs-map-col figure, .bs-map-col .wp-block-kadence-image { margin: 0; height: 100%; }
.bs-map-col img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.bs-sec-l .bs-sec-inner { position: relative; }
.bs-contact-shapes { position: absolute; top: 52px; right: calc(50% - 925px); margin: 0; pointer-events: none; }
@media (max-width: 1300px) { .bs-contact-shapes { display: none; } }
.bs-info .kt-info-box-media-container img { display: block; }
.bs-info .kt-info-box-text { margin: 0; }

/* Footer */
.bs-footer { color: #fff; }
.bs-flinks a, .bs-legal a, .bs-footer a { color: #fff; text-decoration: none; }
.bs-flinks a:hover, .bs-legal a:hover { color: #FAE500; }
.bs-fbar-right > .kt-inside-inner-col { display: flex; align-items: center; gap: 40px; justify-content: flex-end; }
.bs-social .kt-btn-inner-text { display: none; }
.bs-social { box-shadow: none !important; }

/* 30-fixes.css */
/* Fixes found while comparing with the design */
.bs-reviews .kt-testimonial-item-wrap { padding: 38px 45px 39px 45px !important; }
.bs-center-p { margin-left: auto !important; margin-right: auto !important; }
.bs-guide-form button[type=submit], .bs-guide-form .kb-forms-submit, .bs-guide-form .kb-button { white-space: nowrap; }

/* Video popup: ratio box, poster, play button */
.bs-video .kadence-video-intrinsic { position: relative; height: 0; padding-bottom: 48.28% !important; overflow: hidden; }
.bs-video .kadence-video-poster { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
.bs-video .kadence-video-overlay { opacity: 0 !important; }
.bs-video .kadence-video-popup-link { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; padding: 0; cursor: pointer; }
.bs-video .kt-video-svg-icon { display: flex; align-items: center; justify-content: center; width: 149px; height: 149px; border-radius: 50%; background: rgba(255,255,255,.85); color: #000; }
.bs-video .kt-video-svg-icon svg { width: 36px; height: 36px; margin-left: 6px; }
@media (max-width: 767px) { .bs-video .kt-video-svg-icon { width: 80px; height: 80px; } .bs-video .kt-video-svg-icon svg { width: 22px; height: 22px; } }
.bs-video-art { left: 50% !important; margin: 0 !important; transform: translateX(-50%); }

/* FAQ plus icon */
.bs-faq .kt-blocks-accordion-icon-trigger { position: relative; width: 25px; height: 25px; background: transparent !important; flex: none; }
.bs-faq .kt-blocks-accordion-icon-trigger::before, .bs-faq .kt-blocks-accordion-icon-trigger::after { content: ''; position: absolute; left: 1px; right: 1px; top: 50%; height: 3px; margin-top: -1.5px; background: #000 !important; border-radius: 2px; transform: none; width: auto; }
.bs-faq .kt-blocks-accordion-icon-trigger::after { transform: rotate(90deg); transition: transform .2s; }
.bs-faq .kt-blocks-accordion-header[aria-expanded=true] .kt-blocks-accordion-icon-trigger::after { transform: rotate(0deg); }

/* Boxed rows whose columns must fill the height */
.bs-areas-box, .bs-contact-box { background: transparent; }
.bs-areas-text > .kt-inside-inner-col, .bs-contact-info > .kt-inside-inner-col, .bs-areas-photo-col > .kt-inside-inner-col, .bs-map-col > .kt-inside-inner-col { flex: 1 1 auto; align-self: stretch; width: 100%; }
.bs-areas-photo-col > .kt-inside-inner-col, .bs-map-col > .kt-inside-inner-col { position: relative; min-height: 320px; }
.bs-areas-photo-col figure, .bs-map-col figure { position: absolute; inset: 0; margin: 0; }
.bs-areas-photo-col img, .bs-map-col img { width: 100%; height: 100% !important; object-fit: cover; }
.bs-info, .bs-info .kt-blocks-info-box-link-wrap { background: transparent !important; border: 0 !important; }
.bs-contact-info .kt-blocks-info-box-media-container { flex: none; }

/* Header phone */
.bs-phone { display: inline-flex; align-items: center; gap: 9px; color: #0070B6; text-decoration: none; white-space: nowrap; letter-spacing: -0.07em; }
.bs-phone:hover { color: #095293; }
.bs-phone svg { flex: none; }
@media (max-width: 1250px) { .site-header .bs-phone svg { width: 24px; height: 24px; } }
.site-branding .site-title, .site-branding .site-description { display: none; }

.site-header a.bs-phone, .site-header a.bs-phone:hover { text-decoration: none; }
.bs-footer, .bs-footer .kt-inside-inner-col { text-align: left; }
.bs-footer .bs-tm, .bs-footer .bs-flegal .kt-inside-inner-col { text-align: center; }
.bs-footer a, .bs-footer a:visited, .bs-footer a:hover { color: #fff !important; text-decoration: none; }
.bs-footer a:hover { color: #FAE500 !important; }
.bs-social .kb-svg-icon-wrap { display: inline-flex; }
.bs-social { width: 40px; height: 40px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; }

/* 40-responsive.css */
/* Tablet and phone (designed by us: the Figma file has desktop only) */
@media (max-width: 1024px) {
  .bs-reviews-row .bs-reviews-col { min-width: 0 !important; }
  .bs-reviews-row { overflow: visible; }
  .bs-reviews-hero .splide__arrow { position: absolute !important; left: auto !important; top: auto !important; bottom: -70px; width: 48px !important; height: 48px !important; }
  .bs-reviews-hero .splide__arrow--next { right: calc(50% - 56px) !important; }
  .bs-reviews-hero .splide__arrow--prev { right: calc(50% + 8px) !important; }
  .bs-reviews-row { margin-bottom: 70px; }
  .bs-reviews .kt-testimonial-item-wrap { min-height: 0; padding: 30px 28px 30px 28px !important; }
  .bs-shapes img { max-width: 100%; height: auto; }
  .bs-hero .kt-inside-inner-col { align-items: center; }
  .bs-step-card .bs-step-badge { right: 24px; }
  .bs-title mark { margin-bottom: 4px; }
  .bs-brand-tile { box-shadow: 2px 3px 0 #000; }
  .bs-contact-shapes { display: none; }
  .bs-flinks { text-align: left; }
  .bs-fbar-right > .kt-inside-inner-col { justify-content: flex-start; flex-wrap: wrap; gap: 20px; }
  .bs-areas-photo-col > .kt-inside-inner-col, .bs-map-col > .kt-inside-inner-col { min-height: 340px; }
  .bs-sec-b .bs-cards { padding-top: 40px; }
}
@media (max-width: 767px) {
  .bs-hero-title { text-align: left; }
  .bs-btns .kb-btn, .bs-btns .kt-button { width: 100% !important; max-width: 100% !important; }
  .bs-btn { white-space: normal; }
  .bs-badge { right: 4px; top: -60px; width: 130px; }
  .bs-badge .bs-badge-text { top: 40px; font-size: 20px !important; line-height: 24px !important; }
  .bs-reviews-hero .splide__arrow--next { right: calc(50% - 52px) !important; }
  .bs-step-card .bs-step-badge { width: 120px; top: -50px; right: 18px; }
  .bs-step-card .bs-step-badge img { width: 120px; }
  .bs-video .kadence-video-intrinsic { padding-bottom: 56.25% !important; }
  .bs-video .kadence-video-popup-wrap { border-width: 4px; border-radius: 18px; }
  .bs-faq .kt-blocks-accordion-header { box-shadow: 1px 3px 0 #000; }
  .bs-guide-form .kb-form .kadence-blocks-form-field { width: 100% !important; }
  .bs-phone span { display: none; }
}

@media (max-width: 1024px) {
  .bs-reviews-row { margin-bottom: 110px !important; }
  .bs-reviews-hero .splide__arrow { bottom: -80px !important; }
  .bs-sec-b .bs-b-head { padding-top: 30px; }
}

@media (max-width: 1024px) {
  .bs-sec-b > .kt-row-column-wrap, .bs-sec-d > .kt-row-column-wrap, .bs-sec-f > .kt-row-column-wrap, .bs-sec-h > .kt-row-column-wrap, .bs-sec-i > .kt-row-column-wrap, .bs-sec-j > .kt-row-column-wrap, .bs-sec-k > .kt-row-column-wrap, .bs-sec-l > .kt-row-column-wrap { padding-top: 150px !important; }
  .bs-sec-b .bs-title, .bs-sec-d .bs-title, .bs-sec-f .bs-title, .bs-sec-h .bs-title, .bs-sec-i .bs-title, .bs-sec-j .bs-title, .bs-sec-k .bs-title, .bs-sec-l .bs-title { margin-top: 0 !important; }
}
@media (max-width: 767px) {
  .bs-sec-b > .kt-row-column-wrap, .bs-sec-d > .kt-row-column-wrap, .bs-sec-f > .kt-row-column-wrap, .bs-sec-h > .kt-row-column-wrap, .bs-sec-i > .kt-row-column-wrap, .bs-sec-j > .kt-row-column-wrap, .bs-sec-k > .kt-row-column-wrap, .bs-sec-l > .kt-row-column-wrap { padding-top: 110px !important; }
}

@media (max-width: 1024px) {
  .bs-sec-i .bs-sec-inner, .bs-sec-j .bs-sec-inner, .bs-sec-g .bs-sec-inner, .bs-sec-l .bs-sec-inner { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 767px) {
  .bs-sec-i > .kt-row-column-wrap, .bs-sec-j > .kt-row-column-wrap { padding-top: 170px !important; }
}

@media (max-width: 1024px) { .bs-sec-b > .kt-row-column-wrap { padding-top: 280px !important; } }
@media (max-width: 767px) { .bs-sec-b > .kt-row-column-wrap { padding-top: 210px !important; } }

/* 50-about.css */
/* About Us: navy band on tablet/phone shows the top and bottom edges of the artwork at natural size on the band colour */
@media (max-width: 1024px) {
  .bs-about-offer { background-color: #02355f !important; background-image: none !important; }
  .bs-about-offer::before, .bs-about-offer::after { content: ''; display: block; position: absolute; left: 0; right: 0; height: 120px; z-index: 0; pointer-events: none; background: url(https://devtest.draftforclients.com/wp-content/uploads/2026/10/bg_H.png) no-repeat; background-size: 100% auto; }
  .bs-about-offer::before { top: 0; background-position: center top; }
  .bs-about-offer::after { bottom: 0; background-position: center bottom; }
  .bs-about-offer > .kt-row-column-wrap { position: relative; z-index: 1; padding-bottom: 200px !important; }
}
@media (max-width: 767px) { .bs-about-offer::before, .bs-about-offer::after { height: 90px; } .bs-about-offer > .kt-row-column-wrap { padding-bottom: 130px !important; } }

/* About Us (rebuild 2 Oct): inline links on navy, intro band overlap, edge band */
.bs-ab-intro { position: relative; }
.bs-offer-text a.bs-link, .bs-offer-text a.bs-link:visited { color: #FAE500; text-decoration: underline; text-underline-offset: 3px; }
.bs-offer-text a.bs-link:hover { color: #fff; }
.bs-area-list .kt-svg-icon-list-item-wrap { align-items: center; }
.bs-ab-edge > .kt-row-column-wrap { min-height: 0; }
@media (max-width: 1024px) {
  .bs-ab-edge { background-size: 100% auto !important; background-position: center bottom !important; min-height: 0 !important; }
  .bs-ab-edge > .kt-row-column-wrap { min-height: 150px !important; }
  .bs-ab-touch { padding-top: 10px; }
}

.bs-ab-touch { position: relative; }
@media (max-width: 1024px) {
  .bs-about-offer { min-height: 0 !important; }
  .bs-about-offer::before, .bs-about-offer::after { display: block !important; width: 100%; }
}

.bs-ab-photos { position: relative; z-index: 3; }
@media (max-width: 1024px) { .bs-ab-edge > .kt-row-column-wrap { padding-bottom: 150px !important; min-height: 0 !important; } .bs-ab-edge { min-height: 0 !important; } }

/* 60-newboilers.css */
/* New Boilers: phone/tablet spacing under the artwork edges */
.bs-nb-intro { position: relative; }
@media (max-width: 1024px) {
  .bs-nb-d > .kt-row-column-wrap { padding-top: 210px !important; padding-bottom: 230px !important; }
  .bs-nb-e > .kt-row-column-wrap { padding-top: 200px !important; }
  .bs-nb-f > .kt-row-column-wrap { padding-top: 390px !important; padding-bottom: 150px !important; }
}
@media (max-width: 767px) {
  .bs-nb-d > .kt-row-column-wrap { padding-top: 200px !important; padding-bottom: 200px !important; }
  .bs-nb-e > .kt-row-column-wrap { padding-top: 190px !important; }
  .bs-nb-f > .kt-row-column-wrap { padding-top: 380px !important; padding-bottom: 230px !important; }
}

/* 61-newboilers2.css */
/* New Boilers (rebuild 2 Oct): split band, yellow B + white C pair, navy why band */
.bs-nb-choose { position: relative; }
.bs-nb-photo-col { align-self: center; }
.bs-nb-photo { width: 100%; }
.bs-nb-photo img, .bs-nb-whyphoto img { width: 100%; height: auto; display: block; border: 6px solid #000; border-radius: 20px; box-shadow: 8px 10px 0 #000; }
.bs-nb-b { position: relative; }
.bs-nb-c { position: relative; }
.bs-nb-c > .kt-row-column-wrap { min-height: 0; }
.bs-nb-cards { position: relative; z-index: 3; }
.bs-nb-cards .bs-card-icon { display: block; }
.bs-nb-cards .bs-svc-card, .bs-nb-wcard { text-align: left; }
.bs-nb-whyrow { align-items: stretch; }
.bs-nb-stack > .kt-inside-inner-col { display: flex; flex-direction: column; gap: 24px; }
.bs-nb-whyphoto-col { display: flex; flex-direction: column; }
.bs-nb-whyphoto-col > .kt-inside-inner-col { display: flex; flex: 1 1 auto; align-self: stretch; }
.bs-nb-whyphoto-col figure { flex: 1; position: relative; margin: 0; max-width: none; width: 100%; border: 6px solid #000; border-radius: 20px; box-shadow: 8px 10px 0 #000; overflow: hidden; }
.bs-nb-whyphoto-col figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% center; border: 0; border-radius: 0; box-shadow: none; }
.bs-nb-why { background-size: auto 1440px !important; background-position: center top !important; }

/* tablet/phone: B and C show their top/bottom artwork at natural size on the band colour */
@media (max-width: 1024px) {
  .bs-nb-b { background-color: #F9C800 !important; background-image: none !important; min-height: 0 !important; }
  .bs-nb-b::before, .bs-nb-b::after { content: ''; display: block !important; width: 100%; position: absolute; left: 0; right: 0; z-index: 0; pointer-events: none; background: url(https://devtest.draftforclients.com/wp-content/uploads/2026/10/bg_B.png) no-repeat; background-size: 100% auto; }
  .bs-nb-b::before { top: 0; height: 17vw; background-position: center top; }
  .bs-nb-b::after { bottom: 0; height: 13vw; background-position: center bottom; }
  .bs-nb-b > .kt-row-column-wrap { position: relative; z-index: 1; padding-top: calc(17vw + 10px) !important; padding-bottom: calc(13vw + 190px) !important; }
  .bs-nb-c { background-color: #fff !important; background-image: none !important; min-height: 0 !important; }
  .bs-nb-c::before { content: ''; display: block !important; width: 100%; position: absolute; left: 0; right: 0; top: 0; height: 27vw; z-index: 0; pointer-events: none; background: url(https://devtest.draftforclients.com/wp-content/uploads/2026/10/bg_C.png) no-repeat; background-size: 100% auto; background-position: center top; }
  .bs-nb-c > .kt-row-column-wrap { position: relative; z-index: 1; }
  .bs-nb-cards { margin-top: calc(-13vw - 150px) !important; }
  .bs-nb-whyphoto-col figure { flex: none; display: block; aspect-ratio: 4 / 3; } .bs-nb-whyphoto-col > .kt-inside-inner-col { display: block; }
}
@media (max-width: 767px) {
  .bs-nb-b > .kt-row-column-wrap { padding-bottom: calc(13vw + 170px) !important; }
  .bs-nb-cards { margin-top: calc(-13vw - 130px) !important; }
}

/* card frames: the white fill sits on the framed inner column, so no square corners show on navy/yellow */
.bs-nb-wcard.wp-block-kadence-column, .bs-nb-cards .bs-svc-card.wp-block-kadence-column { background: transparent !important; }
.bs-nb-wcard > .kt-inside-inner-col, .bs-nb-cards .bs-svc-card > .kt-inside-inner-col { background: #fff; }
.bs-nb-etitle { position: relative; z-index: 1; }
@media (max-width: 1024px) {
  .wp-block-kadence-advancedheading.bs-title.bs-nb-etitle { margin-top: 44px !important; }
  .bs-nb-b .bs-areas-box > .kt-row-column-wrap { row-gap: 0 !important; }
  .bs-nb-why::before { -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent); mask-image: linear-gradient(to bottom, #000 55%, transparent); }
  .bs-nb-why::after { -webkit-mask-image: linear-gradient(to top, #000 70%, transparent); mask-image: linear-gradient(to top, #000 70%, transparent); }
}

/* 62-header.css */
/* Header menu stays on one line at laptop widths (owner's review, 2 Oct) */
@media (min-width: 1025px) and (max-width: 1700px) {
  #site-navigation .primary-menu-container > ul > li.menu-item > a { font-size: 17px; padding-left: 9px; padding-right: 9px; white-space: nowrap; }
}
@media (min-width: 1025px) and (max-width: 1330px) {
  #site-navigation .primary-menu-container > ul > li.menu-item > a { font-size: 15px; padding-left: 6px; padding-right: 6px; }
}

/* 70-servicing.css */
/* Boiler Servicing: phone/tablet spacing under the artwork edges */
.bs-sv-intro { position: relative; }
@media (max-width: 1024px) {
  .bs-sv-d > .kt-row-column-wrap { padding-top: 210px !important; padding-bottom: 230px !important; }
  .bs-sv-e > .kt-row-column-wrap { padding-top: 200px !important; }
  .bs-sv-f > .kt-row-column-wrap { padding-top: 390px !important; padding-bottom: 150px !important; }
}
@media (max-width: 767px) {
  .bs-sv-d > .kt-row-column-wrap { padding-top: 200px !important; padding-bottom: 200px !important; }
  .bs-sv-e > .kt-row-column-wrap { padding-top: 190px !important; }
  .bs-sv-f > .kt-row-column-wrap { padding-top: 380px !important; padding-bottom: 230px !important; }
}

/* 80-repair.css */
/* Boiler Repair: phone/tablet spacing under the artwork edges */
.bs-rp-intro { position: relative; }
@media (max-width: 1024px) {
  .bs-rp-d > .kt-row-column-wrap { padding-top: 210px !important; padding-bottom: 230px !important; }
  .bs-rp-e > .kt-row-column-wrap { padding-top: 200px !important; }
  .bs-rp-f > .kt-row-column-wrap { padding-top: 390px !important; padding-bottom: 150px !important; }
}
@media (max-width: 767px) {
  .bs-rp-d > .kt-row-column-wrap { padding-top: 200px !important; padding-bottom: 200px !important; }
  .bs-rp-e > .kt-row-column-wrap { padding-top: 190px !important; }
  .bs-rp-f > .kt-row-column-wrap { padding-top: 380px !important; padding-bottom: 230px !important; }
}

/* 90-bluecover.css */
/* Blue Flame Cover: phone/tablet spacing under the artwork edges */
.bs-bf-intro { position: relative; }
@media (max-width: 1024px) {
  .bs-bf-d > .kt-row-column-wrap { padding-top: 210px !important; padding-bottom: 230px !important; }
  .bs-bf-e > .kt-row-column-wrap { padding-top: 200px !important; }
  .bs-bf-f > .kt-row-column-wrap { padding-top: 390px !important; padding-bottom: 150px !important; }
}
@media (max-width: 767px) {
  .bs-bf-d > .kt-row-column-wrap { padding-top: 200px !important; padding-bottom: 200px !important; }
  .bs-bf-e > .kt-row-column-wrap { padding-top: 190px !important; }
  .bs-bf-f > .kt-row-column-wrap { padding-top: 380px !important; padding-bottom: 230px !important; }
}

/* 95-powerflush.css */
/* Powerflushing: phone/tablet spacing under the artwork edges */
.bs-pf-intro { position: relative; }
@media (max-width: 1024px) {
  .bs-pf-d > .kt-row-column-wrap { padding-top: 210px !important; padding-bottom: 230px !important; }
  .bs-pf-e > .kt-row-column-wrap { padding-top: 200px !important; }
  .bs-pf-f > .kt-row-column-wrap { padding-top: 390px !important; padding-bottom: 150px !important; }
}
@media (max-width: 767px) {
  .bs-pf-d > .kt-row-column-wrap { padding-top: 200px !important; padding-bottom: 200px !important; }
  .bs-pf-e > .kt-row-column-wrap { padding-top: 190px !important; }
  .bs-pf-f > .kt-row-column-wrap { padding-top: 380px !important; padding-bottom: 230px !important; }
}

/* 97-centralheating.css */
/* Central Heating Systems: phone/tablet spacing under the artwork edges */
.bs-ch-intro { position: relative; }
@media (max-width: 1024px) {
  .bs-ch-d > .kt-row-column-wrap { padding-top: 210px !important; padding-bottom: 230px !important; }
  .bs-ch-e > .kt-row-column-wrap { padding-top: 200px !important; }
  .bs-ch-f > .kt-row-column-wrap { padding-top: 390px !important; padding-bottom: 150px !important; }
}
@media (max-width: 767px) {
  .bs-ch-d > .kt-row-column-wrap { padding-top: 200px !important; padding-bottom: 200px !important; }
  .bs-ch-e > .kt-row-column-wrap { padding-top: 190px !important; }
  .bs-ch-f > .kt-row-column-wrap { padding-top: 380px !important; padding-bottom: 230px !important; }
}

/* 98-plumbing.css */
/* Plumbing: at laptop widths the banner art is smaller, so lift the split text into the white cloud */
@media (min-width: 1025px) and (max-width: 1700px) {
  .pl-split { margin-top: -190px !important; position: relative; z-index: 3; }
}

/* 99-epsom.css */
/* Epsom: yellow B band is as tall as its two panels; artwork edges at natural size (desktop) */
@media (min-width: 1025px) {
  .bs-ep-b { background-color: #F9C800 !important; background-image: none !important; min-height: 0 !important; position: relative; }
  .bs-ep-b::before, .bs-ep-b::after { content: ''; display: block !important; width: 100%; position: absolute; left: 0; right: 0; z-index: 0; pointer-events: none; background: url(https://devtest.draftforclients.com/wp-content/uploads/2026/10/bg_B.png) no-repeat; background-size: 100% auto; }
  .bs-ep-b::before { top: 0; height: 17.2vw; background-position: center top; }
  .bs-ep-b::after { bottom: 0; height: 17.2vw; background-position: center bottom; }
  .bs-ep-b > .kt-row-column-wrap { position: relative; z-index: 1; min-height: 0 !important; padding-bottom: calc(17.2vw + 40px) !important; }
}
.bs-ep-flip .bs-areas-photo-col img { object-position: 30% center; }
.bs-ep-navy-h a { color: #fff; text-decoration: none; }
.bs-ep-navy-h a:hover { text-decoration: underline; }
.bs-svc-card h3 a, .bs-nb-wcard h2 a { color: inherit; text-decoration: none; }
.bs-svc-card h3 a:hover, .bs-nb-wcard h2 a:hover { text-decoration: underline; }
.bs-ep-cardphoto img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; border: 5px solid #000; border-radius: 14px; box-shadow: 5px 6px 0 #000; display: block; }

/* 990-laptop.css */
/* Laptop widths (1025-1820px): content rows keep 40px side margins (guide section 8). Above 1820px the rows' own max-width gives the margin. */
@media (min-width: 1025px) and (max-width: 1820px) {
  .bs-sec > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap { padding-left: 40px !important; padding-right: 40px !important; box-sizing: border-box; }
}
/* Review cards that are off-screen clones stay invisible (delay lets sliding cards finish moving first) */
.bs-reviews .splide__slide:not(.is-visible) { visibility: hidden; transition: visibility 0s linear .8s; }
/* Readable width for the contact band's opening text */
.bs-l-head p.wp-block-kadence-advancedheading { max-width: 740px !important; }
/* Phone: the reviews and brands bands start closer to the artwork edge above them (no 250px blank strip) */
@media (max-width: 767px) {
  .bs-sec-i > .kt-row-column-wrap { padding-top: 30px !important; }
  .bs-sec-j > .kt-row-column-wrap { padding-top: 110px !important; }
  /* the Google badge no longer covers the reviewer's name on narrow cards */
  .bs-reviews .kt-testimonial-item-wrap::after { top: 28px; bottom: auto; right: 22px; width: 46px; height: 47px; }
}

/* 991-pages-laptop.css */
/* Laptop widths (1025-1700px): bands are as tall as their content needs, so no blank strips show between content and the cloud edges. The background slices stretch to the band (100% 100%), so every join still matches. */
@media (min-width: 1025px) and (max-width: 1700px) {
  /* brands band: the hero character is smaller here, so the band is shorter */
  .bs-sec-j > .kt-row-column-wrap { min-height: 1250px !important; }
  /* quote band (New Boilers, Boiler Servicing, Boiler Repair, Blue Flame Cover) */
  .page-id-195 .bs-sec-k > .kt-row-column-wrap, .page-id-201 .bs-sec-k > .kt-row-column-wrap, .page-id-204 .bs-sec-k > .kt-row-column-wrap, .page-id-206 .bs-sec-k > .kt-row-column-wrap { min-height: 920px !important; }
  /* the first white band moves up into the banner's cloud, the banner's text ends higher here */
  .page-id-195 .bs-nb-choose { margin-top: -430px !important; background: transparent !important; }
  .page-id-201 .bs-nb-choose, .page-id-206 .bs-nb-choose { margin-top: -490px !important; background: transparent !important; }
  .page-id-204 .bs-nb-choose { margin-top: -460px !important; background: transparent !important; }
  .page-id-186 .bs-ab-intro { margin-top: -460px !important; background: transparent !important; }
}

/* Blue Flame Cover, Boiler Repair, About Us: tighter spacing around the cloud edges (all desktop widths) */
@media (min-width: 1025px) {
  .page-id-206 .bs-nb-cards { margin-top: -235px !important; }
  .page-id-204 .bs-nb-why, .page-id-206 .bs-nb-why { margin-top: -70px !important; }
  .page-id-204 .bs-nb-why .bs-title, .page-id-206 .bs-nb-why .bs-title { position: relative; top: -30px; }
  .page-id-186 .bs-about-offer .bs-title { position: relative; top: -30px; }
}

/* About Us on phones: smaller gaps under the cloud edges */
@media (max-width: 767px) {
  .page-id-186 .bs-about-offer > .kt-row-column-wrap { padding-bottom: 110px !important; }
  .page-id-186 .bs-ab-touch { padding-top: 0; }
  .page-id-186 .bs-ab-edge > .kt-row-column-wrap { padding-bottom: 100px !important; }
  .page-id-186 .bs-sec-l > .kt-row-column-wrap { padding-top: 90px !important; }
}

/* Home: the £0 excess badge stays inside the screen at laptop widths */
@media (min-width: 1025px) and (max-width: 1700px) { .bs-badge { left: auto; right: 50px; } }

/* 992-layers.css */
/* Stacked shapes from the design (Figma "Rectangle 23" behind "Rectangle 22"): a back plate (radius ~10) with the front shape (radius 20) inset on top. No border + shadow. */
/* brand tiles: black plate 368x168 radius 10, white front 360x160 radius 20, inset 4px */
.bs-brand-tile.wp-block-kadence-column { box-shadow: none !important; background: #000 !important; border-radius: 10px !important; padding: 4px; box-sizing: border-box; border: 0 !important; }
.bs-brand-tile > .kt-inside-inner-col { border: 0 !important; border-radius: 20px !important; background: #fff !important; box-shadow: none !important; height: 160px !important; min-height: 0 !important; }
@media (max-width: 1024px) { .bs-brand-tile > .kt-inside-inner-col { height: 132px !important; } }
@media (max-width: 767px) { .bs-brand-tile > .kt-inside-inner-col { height: 112px !important; } }
/* review cards: blue plate (radius 10) with the gradient front (radius 20) inset 5px 6px 5px 4px */
.bs-reviews .kt-testimonial-item-wrap { position: relative; border: 0 !important; border-radius: 10px !important; background: #1c7dcb !important; box-shadow: none !important; }
.bs-reviews .kt-testimonial-item-wrap::before { content: ''; position: absolute; inset: 5px 6px 5px 4px; border-radius: 20px; background: linear-gradient(180deg,#f6fbff 0%,#d8edfd 100%); z-index: 0; }
.bs-reviews .kt-testimonial-item-wrap > * { position: relative; z-index: 1; }
.bs-reviews .kt-testimonial-item-wrap { padding: 42px 49px 43px 49px !important; }
/* step cards (home): black plate 538x438 radius 10, white front radius 20 inset 4/5/6/5 */
.bs-step-card.wp-block-kadence-column { background: #000 !important; border-radius: 10px !important; padding: 5px 6px 5px 4px; box-sizing: border-box; }
.bs-step-card > .kt-inside-inner-col { border: 0 !important; border-radius: 20px !important; box-shadow: none !important; background: #fff !important; }
.bs-step-card .bs-step-badge { top: -74px; right: 49px; }
/* video frame: black plate radius 16, front radius 33 */
.bs-video { background: #000; border-radius: 16px; padding: 7px 7px 7px 6px; box-sizing: border-box; }
.bs-video .kadence-video-popup-wrap { border: 0 !important; border-radius: 33px !important; }
/* contact box: black plate radius 16 holding two separate rounded panels 8px apart */
.bs-contact-info > .kt-inside-inner-col { border-radius: 33px; }
.bs-map-col { padding-left: 8px; background: #000; box-sizing: border-box; }
.bs-map-col > .kt-inside-inner-col { border-radius: 33px; overflow: hidden; }
@media (max-width: 1024px) { .bs-map-col { padding-left: 0; padding-top: 8px; } .bs-step-card .bs-step-badge { top: -75px; right: 30px; } }
@media (max-width: 767px) { .bs-step-card .bs-step-badge { top: -55px; right: 24px; } .bs-video { border-radius: 12px; padding: 4px; } .bs-video .kadence-video-popup-wrap { border-radius: 14px !important; } .bs-contact-info > .kt-inside-inner-col, .bs-map-col > .kt-inside-inner-col { border-radius: 16px; } }
/* the step badge is the design's star only: no round frame */
.bs-step-card .bs-step-badge, .bs-step-card .bs-step-badge img, .bs-step-card .bs-step-badge figure { border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
@media (min-width: 1025px) { .bs-step-card .bs-step-badge img { width: 167px !important; max-width: none; } }
