.bp-footerbuilder {
  width: 100%;
  box-sizing: border-box;
}

.bp-footerbuilder *,
.bp-footerbuilder *::before,
.bp-footerbuilder *::after {
  box-sizing: border-box;
}

.bp-fb-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--bp-fb-gap, 24px);
  margin: 0 0 28px;
  align-items: start;
}

.bp-fb-row:last-child {
  margin-bottom: 0;
}

.bp-fb-row-nested {
  margin: 0;
}

.bp-fb-col {
  min-width: 0;
  order: var(--bp-fb-order-d, 0);
}

.bp-fb-col-d-1 { grid-column: span 1; }
.bp-fb-col-d-2 { grid-column: span 2; }
.bp-fb-col-d-3 { grid-column: span 3; }
.bp-fb-col-d-4 { grid-column: span 4; }
.bp-fb-col-d-5 { grid-column: span 5; }
.bp-fb-col-d-6 { grid-column: span 6; }
.bp-fb-col-d-7 { grid-column: span 7; }
.bp-fb-col-d-8 { grid-column: span 8; }
.bp-fb-col-d-9 { grid-column: span 9; }
.bp-fb-col-d-10 { grid-column: span 10; }
.bp-fb-col-d-11 { grid-column: span 11; }
.bp-fb-col-d-12 { grid-column: span 12; }

.bp-fb-block {
  margin-bottom: 18px;
}

.bp-fb-block:last-child {
  margin-bottom: 0;
}

.bp-fb-block-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 1rem;
  font-weight: 700;
}

.bp-fb-html-content p:last-child,
.bp-fb-html-content ul:last-child,
.bp-fb-html-content ol:last-child {
  margin-bottom: 0;
}

.bp-fb-cms-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bp-fb-cms-list li {
  margin: 0 0 8px;
}

.bp-fb-cms-list a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.bp-fb-cms-list a:hover {
  text-decoration: underline;
}

.bp-fb-socials {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bp-fb-social-gap, 10px);
  align-items: center;
}

.bp-fb-socials-column {
  flex-direction: column;
  align-items: flex-start;
}

.bp-fb-socials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(44px, max-content));
}

.bp-fb-socials-align-start { justify-content: center; }
.bp-fb-socials-align-center { justify-content: center; }
.bp-fb-socials-align-end { justify-content: flex-end; }
.bp-fb-socials-column.bp-fb-socials-align-center { align-items: center; }
.bp-fb-socials-column.bp-fb-socials-align-end { align-items: flex-end; }

.bp-fb-social {
  --bp-fb-social-size: 36px;
  --bp-fb-social-color: currentColor;
  --bp-fb-social-bg: transparent;
  --bp-fb-social-border: currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--bp-fb-social-size);
  min-width: var(--bp-fb-social-size);
  padding: 6px 12px;
  border: 1px solid var(--bp-fb-social-border);
  background: var(--bp-fb-social-bg);
  color: var(--bp-fb-social-color);
  border-radius: 999px;
  text-decoration: none;
  line-height: 1.2;
  transition: transform .15s ease, opacity .15s ease, filter .15s ease;
}

.bp-fb-social:hover {
  text-decoration: none;
  transform: translateY(-1px);
  opacity: .88;
}

.bp-fb-social-shape-circle,
.bp-fb-social-shape-icon {
  width: var(--bp-fb-social-size);
  height: var(--bp-fb-social-size);
  padding: 0;
  border-radius: 999px;
}

.bp-fb-social-shape-square {
  width: var(--bp-fb-social-size);
  height: var(--bp-fb-social-size);
  padding: 0;
  border-radius: 0;
}

.bp-fb-social-shape-rounded {
  border-radius: 8px;
}

.bp-fb-social-shape-icon {
  border-color: transparent;
  background: transparent;
}

.bp-fb-social-icon-top .bp-fb-social {
  flex-direction: column;
  min-height: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}

.bp-fb-social-icon-after .bp-fb-social {
  flex-direction: row;
}

.bp-fb-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--bp-fb-social-size) - 12px);
  height: calc(var(--bp-fb-social-size) - 12px);
  min-width: calc(var(--bp-fb-social-size) - 12px);
  border-radius: 999px;
  overflow: hidden;
  font-size: .78rem;
  line-height: 1;
}

.bp-fb-social-icon svg,
.bp-fb-info-icon svg {
  width: 1.5em;
  height: 1.5em;
  fill: currentColor;
}

.bp-fb-social-label {
  font-size: .875rem;
}

.bp-fb-social-label-hidden .bp-fb-social-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.bp-fb-info-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bp-fb-info-title {
  margin-bottom: 4px;
}

.bp-fb-info-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.7;
}

.bp-fb-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35em;
  line-height: 1.35;
}

.bp-fb-info-phone a {
  text-decoration: none;
}

.bp-fb-info-phone a:hover {
  text-decoration: underline;
}

.bp-fb-inner-row-block > .bp-fb-block-title {
  margin-bottom: 12px;
}

@media (max-width: 991px) {
  .bp-fb-col-t-1 { grid-column: span 1; }
  .bp-fb-col-t-2 { grid-column: span 2; }
  .bp-fb-col-t-3 { grid-column: span 3; }
  .bp-fb-col-t-4 { grid-column: span 4; }
  .bp-fb-col-t-5 { grid-column: span 5; }
  .bp-fb-col-t-6 { grid-column: span 6; }
  .bp-fb-col-t-7 { grid-column: span 7; }
  .bp-fb-col-t-8 { grid-column: span 8; }
  .bp-fb-col-t-9 { grid-column: span 9; }
  .bp-fb-col-t-10 { grid-column: span 10; }
  .bp-fb-col-t-11 { grid-column: span 11; }
  .bp-fb-col-t-12 { grid-column: span 12; }
}

@media (max-width: 767px) {
  .bp-fb-row {
    gap: var(--bp-fb-mobile-gap, 16px);
  }

  .bp-fb-col {
    order: var(--bp-fb-order-m, 0);
  }

  .bp-fb-col-m-1 { grid-column: span 1; }
  .bp-fb-col-m-2 { grid-column: span 2; }
  .bp-fb-col-m-3 { grid-column: span 3; }
  .bp-fb-col-m-4 { grid-column: span 4; }
  .bp-fb-col-m-5 { grid-column: span 5; }
  .bp-fb-col-m-6 { grid-column: span 6; }
  .bp-fb-col-m-7 { grid-column: span 7; }
  .bp-fb-col-m-8 { grid-column: span 8; }
  .bp-fb-col-m-9 { grid-column: span 9; }
  .bp-fb-col-m-10 { grid-column: span 10; }
  .bp-fb-col-m-11 { grid-column: span 11; }
  .bp-fb-col-m-12 { grid-column: span 12; }

  .bp-fb-mobile-stack > .bp-fb-col {
    grid-column: 1 / -1;
  }

  .bp-fb-socials {
    gap: calc(var(--bp-fb-social-gap, 10px) * .8);
  }
}
