.container-fluid.kpb-container--full {
  max-width: none;
}

/* Edge-to-edge on desktop; theme-default horizontal inset on mobile/tablet. */
.container-fluid.kpb-container--inset-none,
.banner-home.banner-landing-hero .container-fluid.kpb-container--inset-none,
.banner-home.landing-hero-roadside .container-fluid.kpb-container--inset-none,
.banner-home.landing-hero-insurance .container-fluid.kpb-container--inset-none {
  padding-left: 16px;
  padding-right: 16px;
}

.container-fluid.kpb-container--inset-compact,
.banner-home.banner-landing-hero .container-fluid.kpb-container--inset-compact,
.banner-home.landing-hero-roadside .container-fluid.kpb-container--inset-compact,
.banner-home.landing-hero-insurance .container-fluid.kpb-container--inset-compact {
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 768px) {
  .container-fluid.kpb-container--inset-compact,
  .banner-home.banner-landing-hero .container-fluid.kpb-container--inset-compact,
  .banner-home.landing-hero-roadside .container-fluid.kpb-container--inset-compact,
  .banner-home.landing-hero-insurance .container-fluid.kpb-container--inset-compact {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (min-width: 1200px) {
  .container-fluid.kpb-container--inset-compact,
  .banner-home.banner-landing-hero .container-fluid.container-fluid--sm.kpb-container--inset-compact,
  .banner-home.landing-hero-roadside .container-fluid.container-fluid--sm.kpb-container--inset-compact,
  .banner-home.landing-hero-insurance .container-fluid.container-fluid--sm.kpb-container--inset-compact {
    padding-left: 60px;
    padding-right: 60px;
  }
}

@media (min-width: 1280px) {
  .container-fluid.kpb-container--inset-none,
  .banner-home.banner-landing-hero .container-fluid.kpb-container--inset-none,
  .banner-home.landing-hero-roadside .container-fluid.kpb-container--inset-none,
  .banner-home.landing-hero-insurance .container-fluid.kpb-container--inset-none,
  .banner-home.banner-landing-hero .container-fluid.container-fluid--sm.kpb-container--inset-none,
  .banner-home.landing-hero-roadside .container-fluid.container-fluid--sm.kpb-container--inset-none,
  .banner-home.landing-hero-insurance .container-fluid.container-fluid--sm.kpb-container--inset-none {
    padding-left: 0;
    padding-right: 0;
  }
}

.kpb-section--gap-tight {
  --kpb-column-gap: 24px;
  --kpb-row-gutter-x: 1.25rem;
}

.kpb-section--gap-normal {
  --kpb-column-gap: 40px;
  --kpb-row-gutter-x: 1.625rem;
}

.kpb-section--gap-relaxed {
  --kpb-column-gap: 60px;
  --kpb-row-gutter-x: 2.5rem;
}

@media (min-width: 1200px) {
  .kpb-section--gap-relaxed {
    --kpb-column-gap: 85px;
  }
}

.block-text-image.block-landing-image-text .text {
  padding-top: 0;
}

@media (min-width: 768px) {
  .block-text-image.block-landing-image-text .text {
    padding-left: var(--kpb-column-gap, 40px);
  }

  .block-text-image.block-landing-image-text.block-text-image--img-right .text {
    padding: 0 var(--kpb-column-gap, 40px) 0 0;
  }
}

.block-text-image.block-landing-image-text.kpb-section--spacing-none {
  padding: 0;
}

.block-text-image.block-landing-image-text.kpb-section--spacing-compact {
  padding: 32px 0;
}

.block-text-image.block-landing-image-text.kpb-section--spacing-comfortable {
  padding: 48px 0;
}

.block-text-image.block-landing-image-text.kpb-section--spacing-spacious {
  padding: 64px 0;
}

@media (min-width: 768px) {
  .block-text-image.block-landing-image-text.kpb-section--spacing-compact {
    padding: 48px 0;
  }

  .block-text-image.block-landing-image-text.kpb-section--spacing-comfortable {
    padding: 80px 0;
  }

  .block-text-image.block-landing-image-text.kpb-section--spacing-spacious {
    padding: 120px 0;
  }
}

.banner-home.banner-landing-hero.kpb-section--spacing-none,
.banner-home.landing-hero-roadside.kpb-section--spacing-none,
.banner-home.landing-hero-insurance.kpb-section--spacing-none {
  padding-top: 0;
  padding-bottom: 0;
}

.banner-home.banner-landing-hero.kpb-section--spacing-compact,
.banner-home.landing-hero-roadside.kpb-section--spacing-compact,
.banner-home.landing-hero-insurance.kpb-section--spacing-compact {
  padding-top: 80px;
  padding-bottom: 0;
}

.banner-home.banner-landing-hero.kpb-section--spacing-comfortable,
.banner-home.landing-hero-roadside.kpb-section--spacing-comfortable,
.banner-home.landing-hero-insurance.kpb-section--spacing-comfortable {
  padding-top: 120px;
  padding-bottom: 0;
}

.banner-home.banner-landing-hero.kpb-section--spacing-spacious,
.banner-home.landing-hero-roadside.kpb-section--spacing-spacious,
.banner-home.landing-hero-insurance.kpb-section--spacing-spacious {
  padding-top: 170px;
  padding-bottom: 0;
}

@media (min-width: 1200px) {
  .banner-home.banner-landing-hero.kpb-section--spacing-compact,
  .banner-home.landing-hero-roadside.kpb-section--spacing-compact,
  .banner-home.landing-hero-insurance.kpb-section--spacing-compact {
    padding-top: calc(80px + 2vh);
  }

  .banner-home.banner-landing-hero.kpb-section--spacing-comfortable,
  .banner-home.landing-hero-roadside.kpb-section--spacing-comfortable,
  .banner-home.landing-hero-insurance.kpb-section--spacing-comfortable {
    padding-top: calc(126px + 3vh);
  }

  .banner-home.banner-landing-hero.kpb-section--spacing-spacious,
  .banner-home.landing-hero-roadside.kpb-section--spacing-spacious,
  .banner-home.landing-hero-insurance.kpb-section--spacing-spacious {
    padding-top: calc(160px + 5vh);
  }
}

@media (min-width: 1400px) {
  .banner-home.banner-landing-hero.kpb-section--spacing-spacious,
  .banner-home.landing-hero-roadside.kpb-section--spacing-spacious,
  .banner-home.landing-hero-insurance.kpb-section--spacing-spacious {
    padding-top: calc(180px + 6vh);
  }
}

.banner-home.banner-landing-hero.kpb-section--gap-tight > .container-fluid .row,
.banner-home.banner-landing-hero.kpb-section--gap-normal > .container-fluid .row,
.banner-home.banner-landing-hero.kpb-section--gap-relaxed > .container-fluid .row,
.banner-home.landing-hero-roadside.kpb-section--gap-tight > .container-fluid .row,
.banner-home.landing-hero-roadside.kpb-section--gap-normal > .container-fluid .row,
.banner-home.landing-hero-roadside.kpb-section--gap-relaxed > .container-fluid .row,
.banner-home.landing-hero-insurance.kpb-section--gap-tight > .container-fluid .row,
.banner-home.landing-hero-insurance.kpb-section--gap-normal > .container-fluid .row,
.banner-home.landing-hero-insurance.kpb-section--gap-relaxed > .container-fluid .row,
.banner-home .kpb-hero-features-wrap {
  margin-top: 48px;
}

@media (min-width: 768px) {
  .banner-home.banner-landing-hero.kpb-section--gap-tight > .container-fluid .row,
  .banner-home.banner-landing-hero.kpb-section--gap-normal > .container-fluid .row,
  .banner-home.banner-landing-hero.kpb-section--gap-relaxed > .container-fluid .row,
  .banner-home.landing-hero-roadside.kpb-section--gap-tight > .container-fluid .row,
  .banner-home.landing-hero-roadside.kpb-section--gap-normal > .container-fluid .row,
  .banner-home.landing-hero-roadside.kpb-section--gap-relaxed > .container-fluid .row,
  .banner-home.landing-hero-insurance.kpb-section--gap-tight > .container-fluid .row,
  .banner-home.landing-hero-insurance.kpb-section--gap-normal > .container-fluid .row,
  .banner-home.landing-hero-insurance.kpb-section--gap-relaxed > .container-fluid .row,
  .banner-home .kpb-hero-features-wrap {
    margin-top: 72px;
  }
}

@media (min-width: 1024px) {
  .banner-home.banner-landing-hero.kpb-section--gap-tight > .container-fluid .row,
  .banner-home.banner-landing-hero.kpb-section--gap-normal > .container-fluid .row,
  .banner-home.banner-landing-hero.kpb-section--gap-relaxed > .container-fluid .row,
  .banner-home.landing-hero-roadside.kpb-section--gap-tight > .container-fluid .row,
  .banner-home.landing-hero-roadside.kpb-section--gap-normal > .container-fluid .row,
  .banner-home.landing-hero-roadside.kpb-section--gap-relaxed > .container-fluid .row,
  .banner-home.landing-hero-insurance.kpb-section--gap-tight > .container-fluid .row,
  .banner-home.landing-hero-insurance.kpb-section--gap-normal > .container-fluid .row,
  .banner-home.landing-hero-insurance.kpb-section--gap-relaxed > .container-fluid .row,
  .banner-home .kpb-hero-features-wrap {
    margin-top: 90px;
  }
}

/* Unified landing hero layout — insurance + roadside share identical column spacing. */
.banner-home.landing-hero-insurance .banner-image,
.banner-home.landing-hero-roadside .banner-image {
  margin: 28px 12px -20px;
}

@media (min-width: 768px) {
  .banner-home.landing-hero-insurance > .container-fluid > .row,
  .banner-home.landing-hero-roadside > .container-fluid > .row {
    align-items: flex-start !important;
  }

  .banner-home.landing-hero-insurance > .container-fluid > .row > .col-md-7,
  .banner-home.landing-hero-roadside > .container-fluid > .row > .col-md-7,
  .banner-home.landing-hero-insurance > .container-fluid > .row > .col-md-5,
  .banner-home.landing-hero-roadside > .container-fluid > .row > .col-md-5 {
    padding-left: calc(var(--bs-gutter-x, 1.625rem) * 0.5);
    padding-right: calc(var(--bs-gutter-x, 1.625rem) * 0.5);
  }

  .banner-home.landing-hero-insurance .banner-image,
  .banner-home.landing-hero-roadside .banner-image {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .banner-home.landing-hero-insurance > .container-fluid > .row > .col-md-5,
  .banner-home.landing-hero-roadside > .container-fluid > .row > .col-md-5 {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Banner Landing Hero block — same image column overrides. */
.banner-home.banner-landing-hero .banner-image {
  margin: 28px 12px -20px;
}

.banner-home.banner-landing-hero .row > .col-md-5:has(.banner-image) {
  padding-left: 8px;
  padding-right: 8px;
}

@media (min-width: 768px) {
  .banner-home.banner-landing-hero .banner-image {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .banner-home.banner-landing-hero .row > .col-md-5:has(.banner-image) {
    padding-left: calc(var(--bs-gutter-x, 1.625rem) * 0.5);
    padding-right: calc(var(--bs-gutter-x, 1.625rem) * 0.5);
  }
}

@media (max-width: 767px) {
  .banner-home.banner-landing-hero .row > .col-md-5:has(.banner-image) {
    padding-left: 0;
    padding-right: 0;
  }
}
