@charset "UTF-8";
:root {
  --color-primary: #da423d;
  --color-secondary: #3a4a86;
  --color-tertiary: #f8f8f8;
  --color-light: #ffffff;
  --color-dark: #222222;
  --color-light-bg-text-heading: #222222;
  --color-light-bg-text-body: #222222;
  --color-light-bg-link: #3a4a86;
  --color-light-bg-link-hover: #222222;
  --light-bg-btn-default-shape: 0px;
  --light-bg-btn-default-type: Solid;
  --light-bg-btn-default-border-color: #3a4a86;
  --light-bg-btn-default-text-color: #ffffff;
  --light-bg-btn-default-hover-border-color: #1e2d64;
  --light-bg-btn-default-hover-text-color: #ffffff;
  --light-bg-btn-default-bg: #3a4a86;
  --light-bg-btn-default-hover-bg: #1e2d64;
  --color-dark-bg-text-heading: #ffffff;
  --color-dark-bg-text-body: #ffffff;
  --color-dark-bg-link: #ffffff;
  --color-dark-bg-link-hover: #f8f8f8;
  --dark-bg-btn-default-shape: 0px;
  --dark-bg-btn-default-type: Solid;
  --dark-bg-btn-default-border-color: #ffffff;
  --dark-bg-btn-default-text-color: #ffffff;
  --dark-bg-btn-default-hover-border-color: #ffffff;
  --dark-bg-btn-default-hover-text-color: #222222;
  --dark-bg-btn-default-bg: #ffffff00;
  --dark-bg-btn-default-hover-bg: #ffffff;
  --color-primary-bg-text-heading: #ffffff;
  --color-primary-bg-text-body: #ffffff;
  --color-primary-bg-link: #ffffff;
  --color-primary-bg-link-hover: #f8f8f8;
  --primary-bg-btn-default-shape: 0px;
  --primary-bg-btn-default-type: Solid;
  --primary-bg-btn-default-border-color: #3a4a86;
  --primary-bg-btn-default-text-color: #ffffff;
  --primary-bg-btn-default-hover-border-color: #1e2d64;
  --primary-bg-btn-default-hover-text-color: #ffffff;
  --primary-bg-btn-default-bg: #3a4a86;
  --primary-bg-btn-default-hover-bg: #1e2d64;
  --color-secondary-bg-text-heading: #ffffff;
  --color-secondary-bg-text-body: #ffffff;
  --color-secondary-bg-link: #da423d;
  --color-secondary-bg-link-hover: #f8f8f8;
  --secondary-bg-btn-default-shape: 0px;
  --secondary-bg-btn-default-type: Solid;
  --secondary-bg-btn-default-border-color: #ffffff;
  --secondary-bg-btn-default-text-color: #ffffff;
  --secondary-bg-btn-default-hover-border-color: #ffffff;
  --secondary-bg-btn-default-hover-text-color: #222222;
  --secondary-bg-btn-default-bg: #ffffff00;
  --secondary-bg-btn-default-hover-bg: #ffffff;
  --color-tertiary-bg-text-heading: #222222;
  --color-tertiary-bg-text-body: #222222;
  --color-tertiary-bg-link: #0D6EFD;
  --color-tertiary-bg-link-hover: #222222;
  --tertiary-bg-btn-default-shape: 0px;
  --tertiary-bg-btn-default-type: Solid;
  --tertiary-bg-btn-default-border-color: #3a4a86;
  --tertiary-bg-btn-default-text-color: #ffffff;
  --tertiary-bg-btn-default-hover-border-color: #1e2d64;
  --tertiary-bg-btn-default-hover-text-color: #ffffff;
  --tertiary-bg-btn-default-bg: #3a4a86;
  --tertiary-bg-btn-default-hover-bg: #1e2d64;
  --branding-background-image-url: url("");
  --font-heading-family: 'Poppins';
  --font-heading-hero-size: 54px;
  --font-heading-hero-size-mobile: 30px;
  --font-heading-hero-weight: 700;
  --font-heading-hero-style: normal;
  --font-heading-section-size: 36px;
  --font-heading-section-size-mobile: 30px;
  --font-heading-section-weight: 700;
  --font-heading-section-style: normal;
  --font-heading-subheading-size: 22px;
  --font-heading-subheading-size-mobile: 20px;
  --font-heading-subheading-weight: 700;
  --font-heading-subheading-style: normal;
  --font-body-family: 'Poppins';
  --font-lead-size: 18px;
  --font-lead-size-mobile: 18px;
  --font-lead-weight: 400;
  --font-lead-style: normal;
  --font-body-size: 16px;
  --font-body-size-mobile: 14px;
  --font-body-weight: 400;
  --font-body-style: normal;
  --font-btn-family: 'Poppins';
  --font-btn-size: 18px;
  --font-btn-size-mobile: 18px;
  --font-btn-weight: 500;
  --font-btn-style: normal;
  --btn-primary-shape: 0px;
  --btn-primary-type: Solid;
  --btn-primary-border-color: #da423d;
  --btn-primary-text-color: #ffffff;
  --btn-primary-hover-border-color: #c2150f;
  --btn-primary-hover-text-color: #ffffff;
  --btn-primary-bg: #da423d;
  --btn-primary-hover-bg: #c2150f;
  --btn-secondary-shape: 0px;
  --btn-secondary-type: Solid;
  --btn-secondary-border-color: #3a4a86;
  --btn-secondary-text-color: #ffffff;
  --btn-secondary-hover-border-color: #1e2d64;
  --btn-secondary-hover-text-color: #ffffff;
  --btn-secondary-bg: #3a4a86;
  --btn-secondary-hover-bg: #1e2d64;
  --btn-tertiary-shape: 0px;
  --btn-tertiary-type: Solid;
  --btn-tertiary-border-color: #f8f8f8;
  --btn-tertiary-text-color: #222222;
  --btn-tertiary-hover-border-color: #E4E4E4;
  --btn-tertiary-hover-text-color: #222222;
  --btn-tertiary-bg: #f8f8f8;
  --btn-tertiary-hover-bg: #E4E4E4;
  --btn-light-shape: 0px;
  --btn-light-type: Solid;
  --btn-light-border-color: #ffffff;
  --btn-light-text-color: #ffffff;
  --btn-light-hover-border-color: #ffffff;
  --btn-light-hover-text-color: #222222;
  --btn-light-bg: #ffffff00;
  --btn-light-hover-bg: #ffffff;
  --btn-dark-shape: 0px;
  --btn-dark-type: Solid;
  --btn-dark-border-color: #3a4a86;
  --btn-dark-text-color: #3a4a86;
  --btn-dark-hover-border-color: #3a4a86;
  --btn-dark-hover-text-color: #ffffff;
  --btn-dark-bg: #22222200;
  --btn-dark-hover-bg: #3a4a86;
  --nav-bg-color: #ffffff;
  --nav-link-color: #222222;
  --nav-phone-color: #222222;
  --footer-nav-bg-color: #3a4a86;
  --footer-nav-link-color: #ffffff;
  --footer-nav-text-color: #ffffff;
  --footer-nav-bg-luminance: secondary;
  --form-bg-color: #3a4a86;
  --form-text-color: #ffffff;
  --form-sublevel-bg-color: #3a4a86;
  --form-sublevel-text-color: #ffffff;
  --services-card-bg-1: #ffffff;
  --services-card-icon-wrapper-bg-1: #3a4a86;
  --services-card-icon-size-1: 30px;
  --services-card-bg-2: #000000;
  --services-card-icon-wrapper-bg-2: #222222;
  --services-card-icon-size-2: 30px;
  --services-card-bg-4: #ffffff;
  --services-card-icon-wrapper-bg-4: #222222;
  --services-card-icon-size-4: 30px;
  --services-card-bg-5: #3a4a86;
  --services-card-icon-wrapper-bg-5: #222222;
  --services-card-icon-size-5: 30px;
  --services-card-bg-6: #ffffff;
  --services-card-icon-wrapper-bg-6: #222222;
  --services-card-icon-size-6: 30px;
  --services-card-bg-7: #da423d;
  --services-card-icon-wrapper-bg-7: #222222;
  --services-card-icon-size-7: 30px;
  --services-tab-bg-1: #da423d;
  --services-tab-icon-wrapper-bg-1: #3a4a86;
  --services-tab-icon-size-1: 30px;
  --benefits-icon-size-1: 50px;
  --benefits-card-bg-1: #3a4a86;
  --benefits-card-bg-2: #ffffff;
  --benefits-icon-size-4: 32px;
  --benefits-card-bg-4: #ffffff;
}

.navbar .navbar-brand {
  display: flex;
  align-items: center;
}
@media (min-width: 992px) {
  .navbar .navbar-brand:after {
    content: "";
    display: block;
    background-image: url(https://multitenantplatform.blob.core.windows.net/tenant-356/gallery/original/luxury-bath-logo-blue-36f790a2.png);
    background-size: contain;
    width: 185px;
    height: 96px;
    margin-top: 10px;
    background-repeat: no-repeat;
    flex-shrink: 0;
  }
}

nav.navbar .navbar-nav .nav-item {
  padding: 8px 4px;
}
nav.navbar .navbar-nav .nav-item .dropdown-toggle-split {
  padding-left: 2px;
}

/* Tokens — inherited by all three THI blocks, no global :root leak */
.thi-card-grid,
.thi-trust-bar,
.thi-band {
  --thi-accent: #da423d;
  --thi-title: #3a4a86;
  --thi-body: #5a5a72;
  --thi-border: #dde1ea;
  --thi-card-bg: #fff;
  --thi-gold: #ffc221;
  --thi-gap: 24px;
}

/* PB wrappers — widen the 800px header cap, cards only */
.pb-section-header:has(.thi-card-grid) {
  max-width: none;
}

.pb-section-header:has(.thi-card-grid) > .section-title,
.pb-section-header:has(.thi-card-grid) > h1,
.pb-section-header:has(.thi-card-grid) > h2,
.pb-section-header:has(.thi-card-grid) > .pb-btn-wrapper {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* PB wrappers — stand them down so a band owns the whole section */
.pb-section:has(.thi-band) .pb-section-padding {
  padding-top: 0;
  padding-bottom: 0;
}

.pb-section:has(.thi-band) .pb-div-table-section > .container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.pb-section:has(.thi-band) .pb-section-header {
  max-width: none;
  margin-bottom: 0;
}

/* Band — full-width coloured section wrapper */
.thi-band {
  width: 100%;
  padding: 30px 0;
  background: var(--thi-band-bg, #f4f5f9);
}

/* Lead paragraph — sits above any grid */
.thi-lead {
  max-width: 800px;
  margin: 0 auto 30px auto;
  padding: 0 20px;
  text-align: center;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4;
}

/* Grid — column count driven by --thi-cols */
.thi-card-grid {
  display: grid;
  gap: var(--thi-gap);
  text-align: left;
  grid-template-columns: repeat(var(--thi-cols, 3), minmax(0, 1fr));
}

.thi-card-grid-2up {
  --thi-cols: 2;
}

.thi-card-grid-4up {
  --thi-cols: 4;
}

@media (max-width: 1199px) {
  .thi-card-grid-4up {
    --thi-cols: 2;
  }
}
@media (max-width: 991px) {
  .thi-card-grid {
    --thi-cols: 2;
  }
}
@media (max-width: 767px) {
  .thi-card-grid {
    --thi-cols: 1;
  }
}
/* Card shells — shared surface for all three card types */
.thi-card,
.thi-rating-box,
.thi-review-card {
  background: var(--thi-card-bg);
  border: 1px solid var(--thi-border);
  border-radius: 6px;
}

.thi-card,
.thi-review-card {
  text-align: left;
  transition: box-shadow 0.2s, transform 0.2s;
}

.thi-card:hover,
.thi-review-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
}

@media (prefers-reduced-motion: reduce) {
  .thi-card,
  .thi-review-card {
    transition: none;
  }
  .thi-card:hover,
  .thi-review-card:hover {
    transform: none;
  }
}
/* Icons — inherit size/colour whether FontAwesome leaves <i> or swaps in <svg> */
.thi-card-icon i,
.thi-card-icon svg,
.thi-trust-icon i,
.thi-trust-icon svg {
  font-size: inherit;
  color: inherit;
  fill: currentColor;
  height: 1em;
  width: auto;
  vertical-align: middle;
}

/* Benefit cards — "What Sets Us Apart" */
.thi-card {
  border-left: 4px solid var(--thi-accent);
  padding: 24px 22px;
}

.thi-card-icon {
  font-size: 30px;
  line-height: 1;
  color: var(--thi-accent);
  margin-bottom: 12px;
}

.thi-card-title {
  color: var(--thi-title);
  font-weight: 800;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 8px 0;
}

.thi-card-text {
  color: var(--thi-body);
  font-size: 14px;
  line-height: 1.43;
  margin: 0;
}

/* Rating boxes — Google score row above the reviews */
.thi-rating-grid {
  --thi-gap: 20px;
  margin-bottom: 30px;
}

.thi-rating-box {
  border-top: 3px solid var(--thi-gold);
  padding: 18px;
  text-align: center;
}

.thi-rating-box-accent {
  border-top-color: var(--thi-accent);
}

.thi-rating-loc,
.thi-rating-label {
  font-size: 13px;
  color: var(--thi-body);
}

.thi-rating-label {
  margin-bottom: 6px;
}

.thi-rating-score {
  font-size: 38px;
  font-weight: 900;
  color: var(--thi-title);
  line-height: 1.1;
}

.thi-rating-stars {
  font-size: 18px;
  color: var(--thi-gold);
}

.thi-rating-box-accent .thi-rating-stars {
  color: var(--thi-accent);
}

.thi-rating-link,
.thi-rating-link:hover,
.thi-rating-link:focus {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: var(--thi-title);
  text-decoration: underline;
}

/* Review cards — customer quotes */
.thi-review-card {
  display: flex;
  flex-direction: column;
  padding: 22px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.thi-review-stars {
  font-size: 18px;
  color: var(--thi-gold);
  margin-bottom: 10px;
}

.thi-review-text {
  font-size: 14px;
  line-height: 1.6;
}

.thi-review-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-top: 14px;
}

.thi-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--thi-title);
  color: #fff;
  font-weight: 800;
}

.thi-review-name {
  color: var(--thi-title);
  font-weight: 700;
}

.thi-review-service {
  font-size: 14px;
  color: var(--thi-body);
}

/* Trust strip — icon/label bar under the hero */
.thi-trust-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 16px 36px;
  text-align: left;
  background: var(--thi-card-bg);
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  padding: 24px 28px;
}

.thi-trust-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 8px;
}

.thi-trust-icon {
  font-size: 26px;
  line-height: 1;
  color: var(--thi-gold);
}

.thi-trust-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--thi-title);
}

.thi-trust-sub {
  font-size: 12px;
  line-height: 1.4;
  color: var(--thi-body);
}

@media (min-width: 992px) {
  .thi-trust-item {
    flex: 0 1 calc(33.333% - 24px);
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .thi-trust-item {
    flex: 0 1 calc(50% - 18px);
  }
}
@media (max-width: 767px) {
  .thi-trust-bar {
    justify-content: flex-start;
  }
  .thi-trust-item {
    width: 100%;
  }
}