/* Shared reflow and touch corrections; keep content visible rather than clipping it. */
body { overflow-x: visible; }
.content-column, .navbar-brand, .header-actions, .resource-search-row input,
.home-search-row input, .resource-filter-grid > div { min-width: 0; }
.navbar-brand { white-space: normal; }
.navbar-brand img { flex-shrink: 0; }
h1, h2, h3, .breadcrumbs li, .resource-actions a, .resource-card-links,
.contact-form, .privacy-banner { overflow-wrap: anywhere; }
.breadcrumbs li { min-width: 0; }
.home-search-row, .resource-search-row { flex-wrap: wrap; }
.home-search-row input, .resource-search-row input { flex: 1 1 12rem; }
.resource-actions a, .footer-links a, .footer-links button:not([hidden]),
.resource-filter-options > summary, .resource-reset:not([hidden]), .mobile-navigation-panel a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.mobile-navigation-panel a { display: flex; }
.footer-links { flex-wrap: wrap; }
.resource-actions a { display: inline-block; padding-block: 0.5rem; }
.resource-card-links a, .resource-card-title a, .home-category-list a {
  display: inline-block;
  min-height: 44px;
  padding-block: 0.35rem;
}
.resource-card-links a { margin-right: 0.5rem; }
.resource-review { column-gap: 0.4rem; }
.privacy-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.privacy-banner-actions { display: flex; flex-wrap: wrap; margin-top: 0; }
.privacy-banner-actions button { flex: 1 1 14rem; white-space: normal; }
html { scroll-padding-bottom: var(--privacy-clearance, 1rem); }
body { padding-bottom: var(--privacy-clearance, 0px); }
@media (max-width: 991.98px) {
  .site-header .container { flex-wrap: wrap; }
  .header-actions { flex-wrap: wrap; }
  .mobile-navigation { margin-left: auto; }
  .mobile-navigation-panel {
    max-height: 50vh;
    max-height: 50dvh;
    overscroll-behavior: contain;
  }
  .mobile-navigation[open][data-positioned] .mobile-navigation-panel {
    position: fixed;
    top: var(--menu-top);
    right: 1rem;
    width: calc(100% - 2rem);
    max-width: 24rem;
    max-height: var(--menu-space);
  }
}
@media (max-width: 767.98px) {
  .home-search-row, .resource-search-row {
    display: flex;
    flex-wrap: wrap;
  }
  .home-search-row button, .resource-search-row button { flex: 1 0 auto; }
  .resource-actions { gap: 0.25rem 1rem; }
}
@media print { body { padding-bottom: 0; } }
