/* ==========================================================
   GWW BUSINESS CONTACT — ICON + LEFT BORDER FIX V1.23.3.78
   Business-only. Runs on Basic, Intermediate and Advanced.
   ========================================================== */

html.gww-biz-contact-v3278 .gww78-contact-card {
  --gww78-border-color: #4f7bd8;
  --gww78-border-width: 2px;
  position: relative !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
  border-left-style: solid !important;
  border-left-width: var(--gww78-border-width) !important;
  border-left-color: var(--gww78-border-color) !important;
}

/* Belt-and-suspenders overlay: keeps the left edge visible even when an older
   tier stylesheet paints over the native border. */
html.gww-biz-contact-v3278 .gww78-contact-card::before {
  content: "" !important;
  position: absolute !important;
  z-index: 30 !important;
  pointer-events: none !important;
  left: 0 !important;
  top: 12px !important;
  bottom: 12px !important;
  width: var(--gww78-border-width) !important;
  background: var(--gww78-border-color) !important;
  border-radius: 999px !important;
}

html.gww-biz-contact-v3278 .gww78-contact-card,
html.gww-biz-contact-v3278 .gww78-contact-card * {
  box-sizing: border-box;
}

/* Rows that have a stand-alone icon get a permanent icon gutter.  The action
   or text can no longer slide under / behind the icon. */
html.gww-biz-contact-v3278 .gww78-icon-row {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-left: 44px !important;
  padding-right: 0 !important;
}

html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell {
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  z-index: 10 !important;
}

html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell,
html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell * {
  overflow: visible !important;
}

html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell i,
html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell svg,
html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell [class*="icon"],
html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell [class*="fa-"] {
  position: static !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  float: none !important;
}

html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-main-cell {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

html.gww-biz-contact-v3278 .gww78-icon-row a.gww78-main-cell,
html.gww-biz-contact-v3278 .gww78-icon-row button.gww78-main-cell,
html.gww-biz-contact-v3278 .gww78-icon-row .gww78-main-cell > a,
html.gww-biz-contact-v3278 .gww78-icon-row .gww78-main-cell > button {
  width: 100% !important;
  max-width: 100% !important;
}

/* The email/contact CTA owns its envelope icon.  Keep that icon in normal
   flex flow and allow the company name to wrap rather than clip. */
html.gww-biz-contact-v3278 .gww78-contact-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

html.gww-biz-contact-v3278 .gww78-contact-cta i,
html.gww-biz-contact-v3278 .gww78-contact-cta svg,
html.gww-biz-contact-v3278 .gww78-contact-cta [class*="icon"],
html.gww-biz-contact-v3278 .gww78-contact-cta [class*="fa-"] {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* Map CTA has no stand-alone icon; make sure it stays inside the card. */
html.gww-biz-contact-v3278 .gww78-map-cta {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  white-space: normal !important;
}

@media (max-width: 767.98px) {
  html.gww-biz-contact-v3278 .gww78-contact-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  html.gww-biz-contact-v3278 .gww78-icon-row {
    padding-left: 42px !important;
  }

  html.gww-biz-contact-v3278 .gww78-icon-row > .gww78-icon-cell {
    left: 6px !important;
  }

  html.gww-biz-contact-v3278 .gww78-contact-cta {
    font-size: clamp(14px, 4.2vw, 17px) !important;
  }
}
