
/* v5.1.85 — footer contact overflow fix
   Keeps support panel content inside the card and visually balanced. */

body.vlg-theme .vlg-footer-contact-panel,
body.vlg-theme .vlg-footer-contact-list,
body.vlg-theme .vlg-footer-contact-row,
body.vlg-theme .vlg-footer-contact-row > div {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body.vlg-theme .vlg-footer-contact-panel {
  overflow: hidden;
}

body.vlg-theme .vlg-footer-contact-list {
  overflow: hidden;
}

body.vlg-theme .vlg-footer-contact-row {
  width: 100%;
  overflow: hidden;
  align-items: center;
}

body.vlg-theme .vlg-footer-contact-row > div {
  overflow: hidden;
}

body.vlg-theme .vlg-footer-contact-row strong,
body.vlg-theme .vlg-footer-contact-row a,
body.vlg-theme .vlg-footer-contact-row span:last-child {
  max-width: 100%;
}

body.vlg-theme .vlg-footer-contact-row--email {
  padding: 16px 12px !important;
}

body.vlg-theme .vlg-footer-contact-row--email .vlg-footer-contact-icon {
  width: 72px !important;
  min-width: 72px !important;
  height: 72px !important;
}

body.vlg-theme .vlg-footer-contact-row--email > div {
  min-width: 0 !important;
}

body.vlg-theme .vlg-footer-contact-row--email a {
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

@media (min-width: 768px) {
  body.vlg-theme .vlg-footer-contact-row--phone,
  body.vlg-theme .vlg-footer-contact-row--email,
  body.vlg-theme .vlg-footer-contact-row--hours {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body.vlg-theme .vlg-footer-contact-row--email a {
    font-size: 12.5px !important;
    letter-spacing: -0.015em !important;
    line-height: 1.35 !important;
  }

  body.vlg-theme .vlg-footer-contact-row--phone a,
  body.vlg-theme .vlg-footer-contact-row--hours span:last-child {
    font-size: clamp(14px, 1.2vw, 16px) !important;
  }
}

@media (max-width: 767px) {
  body.vlg-theme .vlg-footer-contact-row--email,
  body.vlg-theme .vlg-footer-contact-row--phone,
  body.vlg-theme .vlg-footer-contact-row--hours {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.vlg-theme .vlg-footer-contact-row--email .vlg-footer-contact-icon,
  body.vlg-theme .vlg-footer-contact-row--phone .vlg-footer-contact-icon,
  body.vlg-theme .vlg-footer-contact-row--hours .vlg-footer-contact-icon {
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
  }

  body.vlg-theme .vlg-footer-contact-row--email a {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
  }
}
