/*
 * Render-compatibility for canonical Divi Library buttons.
 * Labels, URLs, colors, typography, borders, spacing and hover states are
 * stored on globals 17827, 20086 and 29890 or, for the nested-global exception,
 * inside global banner 29457. CSS only repairs generated Divi wrappers, icon
 * placement, shared-pair geometry and accessibility states.
 */
#page-container #et-boc :is(.rrb-global-button, .rrb-cta__button).et_pb_button {
  padding: 7px 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

:is(.rrb-global-button, .rrb-cta__button).et_pb_button::before {
  position: absolute !important;
  top: 50% !important;
  left: 14px !important;
  margin: 0 !important;
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  font-size: 19px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  transform: translateY(-50%) !important;
}

.rrb-global-button--offer.et_pb_button::before,
.rrb-global-button--configurator.et_pb_button::before,
.rrb-cta__button--offer.et_pb_button::before {
  display: block !important;
  content: attr(data-icon) !important;
  font-family: FontAwesome !important;
  font-weight: 900 !important;
}

.rrb-global-button--phone.et_pb_button::before,
.rrb-cta__button--phone.et_pb_button::before {
  display: block !important;
  content: attr(data-icon) !important;
  font-family: ETmodules !important;
  font-weight: 400 !important;
}

:is(.rrb-global-button, .rrb-cta__button).et_pb_button::after {
  display: none !important;
}

:is(.rrb-global-button, .rrb-cta__button).et_pb_button:focus-visible {
  outline: 3px solid #066aab !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}

@keyframes rrb-configurator-flash {
  0%, 100% {
    filter: drop-shadow(0 0 0 rgba(6, 106, 171, 0));
  }

  48% {
    filter: drop-shadow(0 0 9px rgba(6, 106, 171, .72));
  }
}

.rrb-global-button--configurator.et_pb_button:is(:hover, :focus-visible) {
  animation: rrb-configurator-flash 340ms ease-out 1 both !important;
}

/* Direct offer + phone Library references share one symmetric desktop row. */
.rrb-button-pair {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.rrb-button-pair > * {
  grid-column: 1 / -1;
  min-width: 0;
}

.rrb-button-pair > .et_pb_button_module_wrapper:has(> .rrb-global-button--offer) {
  grid-column: 1;
}

.rrb-button-pair > .et_pb_button_module_wrapper:has(> .rrb-global-button--phone) {
  grid-column: 2;
}

#page-container #et-boc .rrb-button-pair > .et_pb_button_module_wrapper:has(> :is(.rrb-global-button--offer, .rrb-global-button--phone)) {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  display: flex !important;
  align-items: stretch;
}

#page-container #et-boc .rrb-button-pair > .et_pb_button_module_wrapper > :is(.rrb-global-button--offer, .rrb-global-button--phone) {
  width: 100% !important;
  min-width: 0;
  height: 100%;
}

@media (min-width: 768px) {
  #page-container #et-boc .rrb-button-pair > .et_pb_button_module_wrapper > :is(.rrb-global-button--offer, .rrb-global-button--phone),
  #page-container #et-boc .rrb-cta__actions > .et_pb_button_module_wrapper > .rrb-cta__button {
    white-space: nowrap !important;
  }
}

/* Divi emits one wrapper per banner-owned action; stretch only that relation. */
#page-container #et-boc .rrb-cta__actions > .et_pb_button_module_wrapper {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
}

#page-container #et-boc .rrb-cta__actions > .et_pb_button_module_wrapper > .rrb-cta__button {
  width: 100% !important;
  min-width: 0;
}

/* Divi loads a later default preset on glossary entries; reassert native padding. */
#page-container #et-boc .rrb-cta__actions .rrb-cta__button.et_pb_button.et_pb_module {
  padding: 7px 40px !important;
}

@media (max-width: 767px) {
  .rrb-button-pair {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .rrb-button-pair > .et_pb_button_module_wrapper:has(> :is(.rrb-global-button--offer, .rrb-global-button--phone)) {
    grid-column: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.rrb-global-button, .rrb-cta__button).et_pb_button {
    transition: none !important;
  }

  .rrb-global-button--configurator.et_pb_button:is(:hover, :focus-visible) {
    animation: none !important;
    filter: none !important;
  }
}
