/* Dinner discovery shares the site's existing palette and recipe cards. */
.dinner-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 1.75rem;
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--bs-primary);
    border-radius: .75rem;
    background: var(--bs-tertiary-bg);
}
.dinner-callout h2, .dinner-heading h1 {
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 600;
}
.dinner-callout h2 { margin: 0 0 .4rem; font-size: 1.75rem; }
.dinner-callout p { margin: 0; color: var(--bs-secondary-color); max-width: 55ch; }
.dinner-callout .btn { flex-shrink: 0; }
.dinner-heading { margin: 1rem 0 1.75rem; }
.dinner-heading h1 { font-size: clamp(2rem, 5vw, 3rem); }
.dinner-heading p { max-width: 65ch; }
.dinner-form {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr auto;
    align-items: end;
    gap: 1rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    background: var(--bs-tertiary-bg);
}
.dinner-form > div { min-width: 0; }
.dinner-form .form-control, .dinner-form .form-select, .dinner-form .btn { min-height: 44px; }
.dinner-form-note { grid-column: 1 / -1; margin: 0; font-size: .875rem; }
.dinner-results-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1.25rem; }
.dinner-results-heading h2, .dinner-empty h2 { font-size: 1.35rem; margin: 0; }
.dinner-empty { padding: 2rem 0; }
.dinner-empty p { margin-top: .75rem; }
@media (max-width: 991px) {
    .dinner-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 575px) {
    .dinner-callout { align-items: stretch; flex-direction: column; padding: 1.25rem; gap: 1rem; }
    .dinner-form { grid-template-columns: 1fr; padding: 1.25rem; }
    .dinner-results-heading { align-items: start; flex-direction: column; gap: .5rem; }
}

.dinner-form .form-select { width: 100%; padding-right: 1.5rem; }
