/* Directory readability and uncropped media. Keep after the legacy mobile layer. */
body .di-directory-results .di-card { min-width: 0; display: flex; flex-direction: column; }
body .di-directory-results .di-card > img {
  display: block; box-sizing: border-box; width: 100% !important;
  height: auto !important; aspect-ratio: 4 / 3; max-height: none !important;
  object-fit: contain !important; object-position: center; background: #f3f6f8;
  margin: 0; padding: 0;
}
body .di-directory-results .di-card-body { flex: 1; min-width: 0; min-height: 0; }
body .di-directory-results .di-card h3 { overflow-wrap: anywhere; }
body .di-directory-results a:focus-visible,
body .difi-sport-page a:focus-visible {
  outline: 3px solid #087da9; outline-offset: -3px; border-radius: 5px;
}
body .di-page-hero h1, body.difi-home-index .di-hero h1 {
  white-space: normal !important; overflow-wrap: break-word; max-width: 100% !important;
}
@media (max-width: 780px) {
  body .di-directory-results { box-sizing: border-box; width: calc(100% - 28px) !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
  body .di-directory-results .di-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
  body .di-directory-results .di-card-body { padding: 12px; }
  body .di-directory-results .di-card h3 { font-size: 16px !important; line-height: 1.3 !important; margin: 8px 0 10px; }
  body .di-directory-results .di-card-body > span { font-size: 10px !important; line-height: 1.4; overflow-wrap: anywhere; }
  body .di-directory-results .di-card p { font-size: 13px !important; line-height: 1.45 !important; }
  body .di-directory-results .di-card a { min-height: 44px; }
  body .di-directory-results .di-filters input,
  body .di-directory-results .di-filters select,
  body.difi-home-index .difi-home-search input { font-size: 16px !important; }
  body .di-directory-results .di-filters button { min-height: 44px !important; height: auto !important; font-size: 13px !important; }
  body .di-page-hero p { display: block; overflow: visible; -webkit-line-clamp: unset; }
  body .difi-sport-page .difi-sport-card--category > img { aspect-ratio: 4 / 3; object-fit: contain; background: #f3f6f8; }
}
@media (prefers-reduced-motion: reduce) {
  body .di-directory-results .di-card { transition: none; transform: none; }
}
