/* Contact rows adapt to the actual number of retained cards. */
.contacts-redesign .source-content .contacts-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  align-items:stretch;
}
.contacts-redesign .source-content .contact-card:has(.contacts-grid){grid-column:auto}
.contacts-redesign .source-content .contact-card .contacts-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  margin:0;
  flex:1;
}
.contacts-redesign .source-content [data-contact-group="2"] .contact-card h3+.list-icon li:first-child{min-height:0}
.contacts-redesign .source-content [data-contact-group="2"] .list-icon{margin-bottom:0}
.contacts-redesign .source-content .contact-card a{overflow-wrap:anywhere}
.contacts-redesign .source-content :is(h2,h3,li):empty{display:none}
/* A heading with no contact cards must not leave a blank section. */
.contacts-redesign .source-content .contacts-grid:not(:has(.contact-card)){display:none}
.contacts-redesign .source-content hr:has(+ .contacts-grid:not(:has(.contact-card))){display:none}
@media(max-width:700px){
  .contacts-redesign .source-content .contacts-grid,
  .contacts-redesign .source-content .contact-card .contacts-grid{grid-template-columns:minmax(0,1fr)}
  .contacts-redesign .source-content .contact-card .contact-card{padding:0}
}
