/* Shared recipe cards; the existing card stylesheet loads on first search open. */
.header-search__backdrop { display: none; }
.header-search__submit-icon { display: none; }
.header-search__panel { display: flex; flex-direction: column; overflow: hidden; }
.header-search__panel-head, .header-search__legend { flex: none; }
.header-search__popup { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.header-search__results.recipe-list { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
.header-search__results .recipe-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); padding: 0; align-items: stretch; }
.header-search__results .recipe-card__image { position: relative; width: 100%; aspect-ratio: auto; align-self: stretch; }
.header-search__results .recipe-card__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.header-search__results .recipe-card__body { min-width: 0; padding: .65rem .55rem; }
.header-search__results .recipe-card__body h3 { margin: 0 0 .3rem; font-size: 1rem; line-height: 1.35; }
.header-search__results .recipe-card__summary { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: .3rem 0; overflow: hidden; font-size: .875rem; line-height: 1.4; }
.header-search__results :is(.recipe-card__categories,.recipe-card__eyebrow,.recipe-card__badges,.recipe-card__nutrition-label) { display: none; }
.header-search__results .recipe-card__compact-label { display: inline; }
.header-search__results .recipe-card__footer { padding-right: 1.6rem; }
.header-search__results .recipe-card__facts .recipe-card__nutrition { display: flex; flex-wrap: wrap; gap: .3em; padding: .25rem 0; background: transparent; border: 0; white-space: normal; }
.header-search__results .recipe-card__nutrition :is(dt,dd) { margin: 0; font-size: .8125rem; line-height: 1.3; letter-spacing: normal; text-transform: none; }
.header-search__results .recipe-card__nutrition dd { order: -1; font-weight: 700; }
.header-search__results .recipe-card:has([aria-selected="true"]) { outline: 2px solid var(--color-mint-600); outline-offset: -2px; }
.header-search__legend .card-nutrition-legend { display: block; margin: .5rem 0; font-size: .8rem; }
.header-search__legend .card-nutrition-legend p { margin: .4rem 0; }
@media (max-width: 47.99rem) {
  .mobile-search-open .site-header { position: relative; z-index: 120; }
  .mobile-search-open .header-search { position: static; }
  .mobile-search-open .header-search__backdrop { position: fixed; z-index: 121; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: rgb(31 15 42 / 48%); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
  .header-search[open] .header-search__panel { position: fixed; z-index: 122; top: var(--search-top, 8px); right: 0; left: 0; width: 100%; height: var(--search-height, min(48svh, calc(100dvh - 16px))); max-height: calc(100dvh - 16px); padding: .75rem; padding-left: max(.75rem, env(safe-area-inset-left)); padding-right: max(.75rem, env(safe-area-inset-right)); padding-bottom: max(.75rem, env(safe-area-inset-bottom)); border-radius: 0 0 1.25rem 1.25rem; background: #f5f1f9; color: var(--color-purple-900); }
  .header-search__panel-head { align-items: center; gap: .5rem; }
  .header-search__form { flex-wrap: nowrap; gap: .5rem; }
  .header-search__field { flex: 1 1 auto; min-width: 0; }
  .header-search__field-icon { display: none; }
  .header-search__input { padding-inline: .75rem !important; }
  .header-search__submit { display: inline-flex; flex: 0 0 2.75rem; width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0; }
  .header-search__submit-icon { display: block; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-width: 2; }
  .header-search__submit-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .header-search__close { flex: 0 0 2.75rem; min-height: 2.75rem; min-width: 2.75rem; background: white; }
  .header-search__input { background: white; color: var(--color-purple-900); }
  .header-search__legend { display: none; }
  .header-search__popup { flex: 1; margin-top: .5rem; padding-top: 0; border-top: 0; touch-action: pan-y; -webkit-overflow-scrolling: touch; }
}
