.phone-contact-card .phone-contact-copy { min-width: 0; }
.phone-contact-card .phone-number {
  color: #102440;
  text-decoration: underline;
  text-decoration-color: #a6bfe2;
  text-underline-offset: .16em;
}
.phone-contact-card .phone-availability {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.phone-contact-card .phone-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 999px;
  padding: 3px 9px;
  background: #edf2fa;
  color: #435876;
  font-size: .75rem;
  font-weight: 750;
  line-height: 1.4;
}
.phone-contact-card[data-phone-hours="open"] .phone-badge {
  background: #e3f6ed;
  color: #136446;
}
.phone-contact-card[data-phone-hours="closed"] .phone-badge {
  background: #fff2df;
  color: #7d4815;
}
.phone-badge::before {
  content: "";
  flex: 0 0 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
@media (prefers-reduced-motion: no-preference) {
  .phone-contact-card[data-phone-hours="open"] .phone-badge::before,
  .phone-contact-card[data-phone-hours="closed"] .phone-badge::before {
    animation: phone-status-pulse 2.8s ease-out infinite;
  }
}
@keyframes phone-status-pulse {
  from { box-shadow: 0 0 0 0 currentColor; }
  65%, to { box-shadow: 0 0 0 4px transparent; }
}
.phone-contact-card .phone-next { color: #52647b; font-size: .8rem; line-height: 1.5; }
.phone-contact-card .phone-email { color: #0645bd; font-size: .83rem; font-weight: 750; text-decoration: underline; }
.phone-contact-card .phone-email[hidden] { display: none; }
