  .program-finder { padding: 1rem 0; }
  .filters { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); align-items: start; }
  .filter-row { display: grid; gap: .5rem; }
  .filter-label { font-weight: 700; }
  fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .25rem; }
  #q, select { padding: .5rem .75rem; }
  .count { margin: 1rem 0; font-weight: 600; }
  .results { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
  .card { display: grid; gap: .5rem; border: 1px solid #e5e7eb; border-radius: .75rem; padding: 1rem; background: #fff; }
  .card img { width: 100%; height: 160px; object-fit: cover; border-radius: .5rem; }
  .card h3 { margin: 0; font-size: 1.05rem; }
  .muted { color: #6b7280; font-size: .9rem; }
  .pills { display: flex; flex-wrap: wrap; gap: .375rem; }
  .pill { font-size: .8rem; border: 1px solid #e5e7eb; padding: .2rem .5rem; border-radius: 999px; }
  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
  
  /* Left rail sticks within viewport as you scroll */
.sticky-rail { position: sticky; top: 1rem; }

/* brand touches */
.program-finder .badge-pill {
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: .25rem .5rem;
  font-size: .8rem;
}

.program-finder .card-title a {
  text-decoration: none;
}
.program-finder .card-title a:hover {
  text-decoration: underline;
}

/*Highlight focus for accessibility */
.program-finder .form-check-input:focus,
.program-finder .form-select:focus,
.program-finder .form-control:focus {
  box-shadow: 0 0 0 .2rem rgba(0,112,85,.25); /* #007055 */
  border-color: #007055;
}

/* ===============================
   Program Finder Card — Image Fix
   - lock image box to 480x300 (8:5)
   - let image upscale + crop cleanly
   - remove any overlay/shadow artifacts
   =============================== */

/*Image box: fixed aspect ratio + clipping */
.shop-box .shop-image {
  position: relative;
  aspect-ratio: 8 / 5;      /* 480 / 300 */
  overflow: hidden;         /* clip anything that leaks */
}

.shop-box {
    overflow: hidden;
}

/*Image fills the box and can upscale */
.shop-box .shop-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;        /* fill & crop as needed */
  max-width: none;          /* override global img { max-width:100% } */
}

/*Remove overlays/gradients/shadows over the image area */
.shop-box .shop-image .shop-overlay { 
  display: none !important; 
}
.shop-box .shop-image::before,
.shop-box .shop-image::after {
  content: none !important;
}

/*Ensure footer isn’t dimmed by any stray overlay */
.shop-box .shop-footer {
  position: relative;
  z-index: 1;
}

/*If theme adds a shadow on the image itself, remove it */
.shop-box .shop-image {
  box-shadow: none !important;
}

.text-muted {
    padding-left: 1px;
    padding-right: 1px;
}

/*fixes spans to match previous a stylings for program types*/
.tag-cloud span.pf-badge {
  display: inline-block;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  margin: 0 6px 10px 0;
  padding: 7px 18px;
  border-radius: 4px;
  border: 1px solid var(--extra-medium-gray);
}

/*show all results mobile remove*/

.pagination {
    flex-wrap: wrap;
}

/* Full-card link for Program Finder cards */
.program-card-link,
.program-card-link:hover,
.program-card-link:focus {
  color: inherit;
}

/* Preserve the old title hover/focus cue now that the whole card is linked */
.program-card-link:hover .program-card-title,
.program-card-link:focus .program-card-title {
  text-decoration: underline;
  color: var(--sru-blue);
}

.alert.alert-warning {
  color: var(--bs-warning-text-emphasis);
}