.dining-shell .social-page > .button, .dining-group-link { margin-top: 1rem; }
.dining-shell .social-section > .social-form { margin-top: 1rem; }
.dining-date-form { grid-template-columns: minmax(0, 1fr) auto; align-items: end; max-width: 34rem; }
.dining-date-form > div:not(.social-actions):empty { display: none; }
.dining-date-form .social-actions { padding: 0; }
.dining-menu-list { margin-top: 1rem; }
.dining-menu-list > .social-card > strong { font-size: 1.05rem; overflow-wrap: anywhere; }
.dining-price { margin: 0; color: var(--forest); font-size: .86rem; overflow-wrap: anywhere; }
.dining-note { font-size: .85rem; }
.dining-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: .6rem; }
.dining-choice { display: flex; align-items: flex-start; gap: .65rem; padding: .8rem; border: 1px solid var(--line); border-radius: 12px; font-size: .85rem; line-height: 1.6; cursor: pointer; overflow-wrap: anywhere; }
.dining-choice input { width: 1.15rem; height: 1.15rem; padding: 0; margin: .1rem 0 0; flex-shrink: 0; accent-color: var(--forest); }
.dining-poll { margin-top: 1rem; width: 100%; }
.dining-poll-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .8rem; width: 100%; }
.dining-poll-option { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; min-width: 0; }
.dining-poll-option > strong { overflow-wrap: anywhere; }
.dining-poll-option p { margin: 0; }
.dining-poll-option .button { margin-top: auto; }
.dining-poll-option.is-selected { border-color: var(--forest); background: var(--forest-soft); }
.dining-poll-option:has(.dining-ballot-checkbox) { flex-direction: row; cursor: pointer; }
.dining-ballot-checkbox { width: 1.25rem; height: 1.25rem; margin: .15rem 0 0; flex-shrink: 0; accent-color: var(--forest); }
.dining-option-copy { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; min-width: 0; overflow-wrap: anywhere; }
.dining-poll .social-form { width: 100%; max-width: none; margin-top: 1rem; }
.dining-poll .social-form fieldset { min-width: 0; }
.dining-selection-actions { margin-bottom: .75rem; }
.dining-selection-count { margin-bottom: 0; }
.dining-vote-count { font-size: .88rem; font-weight: 650; }
.dining-result { padding: .7rem .9rem; border-radius: 12px; background: var(--cream); font-size: .9rem; line-height: 1.7; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .dining-date-form { grid-template-columns: 1fr; }
  .dining-date-form .social-actions { justify-content: flex-start; }
  .dining-poll-options { grid-template-columns: 1fr; }
  .dining-shell .social-page-heading .social-actions { width: 100%; }
}
