/* Item options sheet */
#item-sheet { padding-top: 0; }
.sheet-photo { width: calc(100% + 32px); margin: 0 -16px 12px; aspect-ratio: 16 / 10; height: auto; max-height: 34vh; border-radius: 18px 18px 0 0; }
#item-sheet-body > h3:first-child { margin-top: 56px; }
.sheet-price { font-size: 18px; font-weight: 800; color: var(--pink); margin: 4px 0 8px; }
.option-group { margin: 14px 0; border: none; padding: 0; }
.option-group legend { font-weight: 800; font-size: 15px; margin-bottom: 4px; padding: 0; }
.opt-hint { font-weight: 600; font-size: 12px; color: var(--muted); margin-left: 4px; }
.family-upgrade { background: #fff8e6; border: 1px solid #f0e0a0; border-radius: 12px; padding: 8px 12px; }
.family-upgrade legend { padding-top: 8px; float: left; width: 100%; }
.family-upgrade legend + * { clear: both; }

/* One option row = whole row is the tap target: [control] name ........ +$price */
.option-choice {
  display: flex !important; flex-direction: row; align-items: center; gap: 12px; width: 100%;
  min-height: 44px; padding: 8px 0; margin: 0; font-size: 15px; font-weight: 600; text-align: left; cursor: pointer;
  border-bottom: 1px solid #f3eaed;
}
.option-choice:last-child { border-bottom: none; }
.option-choice > input[type="radio"], .option-choice > input[type="checkbox"] { order: 0; }
.option-choice .opt-name { flex: 1 1 auto; text-align: left; font-weight: 600; }
.option-choice .opt-desc { display: block; font-weight: 400; font-size: 12px; color: var(--muted); margin-top: 2px; }
.option-choice .opt-price { flex: 0 0 auto; color: var(--pink); font-weight: 700; font-size: 14px; margin-left: auto; text-align: right; }
.option-choice.is-tbd .opt-price { color: var(--muted); font-size: 11px; font-weight: 600; max-width: 45%; }
.make-meal { background: #f0fff4; border: 1px solid #b7e6c5; border-radius: 12px; padding: 10px 12px; margin: 10px 0; }
