/* ============================================================
   LINK Nonprofit Directory — Card + Edge Buffer Correction V41
   Scoped ONLY to /lakenorman/nonprofits/
   Preserves V38 mission grouping and V40 sitewide readability.
   ============================================================ */

body.link-directory-page {
  overflow-x: hidden !important;
}

.link-directory-page main,
.link-directory-page .directory-main,
.link-directory-page .directory-content,
.link-directory-page .directory-map-section,
.link-directory-page .directory-list-section,
.link-directory-page .directory-controls,
.link-directory-page .directory-toolbar,
.link-directory-page .directory-stats {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

/* Small, consistent breathing room so copy never touches/crosses viewport edge. */
.link-directory-page .directory-main,
.link-directory-page .directory-content,
.link-directory-page .directory-map-section,
.link-directory-page .directory-list-section {
  width: calc(100% - 64px) !important;
  max-width: calc(100% - 64px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mission section itself cannot exceed the buffered content area. */
.link-directory-page .link-mission-section,
.link-directory-page .link-mission-heading,
.link-directory-page .link-mission-grid,
.link-directory-page .directory-grid {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Slightly smaller cards than V40. */
.link-directory-page .link-mission-grid,
.link-directory-page .directory-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.link-directory-page .directory-card {
  min-width: 0 !important;
  min-height: 405px !important;
  max-width: 100% !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.link-directory-page .directory-card-logo {
  min-height: 136px !important;
  height: 136px !important;
  padding: 16px 18px !important;
  box-sizing: border-box !important;
}

.link-directory-page .directory-card-logo img {
  width: 100% !important;
  height: 100px !important;
  max-width: 260px !important;
  max-height: 100px !important;
  object-fit: contain !important;
}

.link-directory-page .directory-card-body {
  min-width: 0 !important;
  padding: 18px 20px 16px !important;
  box-sizing: border-box !important;
}

.link-directory-page .directory-card h3 {
  margin: 9px 0 !important;
  font-size: clamp(23px, 1.5vw, 27px) !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere !important;
}

.link-directory-page .directory-card p {
  margin: 10px 0 !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

.link-directory-page .directory-category {
  font-size: 16px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

.link-directory-page .directory-verified {
  display: block !important;
  max-width: 100% !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

.link-directory-page .directory-chips {
  max-width: 100% !important;
  gap: 6px !important;
}

.link-directory-page .directory-chips span {
  max-width: 100% !important;
  padding: 6px 9px !important;
  font-size: 14px !important;
  overflow-wrap: anywhere !important;
}

.link-directory-page .directory-action-count {
  font-size: 15px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

.link-directory-page .directory-card-footer {
  padding: 15px 20px 20px !important;
  box-sizing: border-box !important;
}

.link-directory-page .directory-card-footer a,
.link-directory-page .directory-primary {
  max-width: 100% !important;
  min-height: 44px !important;
  padding: 10px 13px !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Mission headings stay readable but slightly tighter. */
.link-directory-page .link-mission-heading {
  gap: 10px 16px !important;
  margin-bottom: 15px !important;
}

.link-directory-page .link-mission-heading h2 {
  font-size: clamp(28px, 2.1vw, 36px) !important;
}

.link-directory-page .link-mission-heading p {
  font-size: 18px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

.link-directory-page .link-mission-kicker,
.link-directory-page .link-mission-count {
  font-size: 14px !important;
}

/* Prevent any form/search/filter control from causing horizontal overflow. */
.link-directory-page input,
.link-directory-page select,
.link-directory-page textarea,
.link-directory-page button,
.link-directory-page a {
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 1180px) {
  .link-directory-page .link-mission-grid,
  .link-directory-page .directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .link-directory-page .directory-main,
  .link-directory-page .directory-content,
  .link-directory-page .directory-map-section,
  .link-directory-page .directory-list-section {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  .link-directory-page .link-mission-grid,
  .link-directory-page .directory-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .link-directory-page .directory-card {
    min-height: 0 !important;
  }

  .link-directory-page .directory-card-logo {
    min-height: 122px !important;
    height: 122px !important;
  }

  .link-directory-page .directory-card-logo img {
    height: 90px !important;
    max-height: 90px !important;
  }

  .link-directory-page .directory-card h3 {
    font-size: 23px !important;
  }

  .link-directory-page .directory-card p {
    font-size: 17px !important;
  }
}
