/* Your Flow kit v1: the tasting step and its no-times panel (port of proto/css/step-tasting.css).
   Styles only .yf-tasting-* and .yf-notimes-* classes, and the shared control classes only as
   children of its own (section 4.12 rule 2). Every colour is a token; no colour literal appears here. */

.yf-tasting-plate-line { margin: 0 0 18px; font-size: 14px; font-weight: 600; color: var(--yf-ink-soft); }
.yf-tasting-taken-error, .yf-tasting-status { margin: 0 0 14px; }
.yf-tasting-fallback { margin: 0 0 14px; }
.yf-tasting-fallback:empty { display: none; }
/* A failure line that is brought into view scrolls in clear of the sticky action bar. */
.yf-tasting-taken-error, .yf-tasting-status, .yf-tasting-fallback { scroll-margin-bottom: 200px; }

/* ---- day tabs and time rows ---- */
.yf-tasting-slots { margin: 0 0 24px; }
.yf-tasting-rows-wrap { padding-top: 12px; }
.yf-tasting-rows { display: block; }
.yf-tasting-row--taken { opacity: .55; cursor: not-allowed; }
.yf-tasting-row--taken .yf-option__aside { font-weight: 700; }

/* ---- party size, venue and note ---- */
.yf-tasting-field { margin: 0 0 20px; }
.yf-tasting-field .yf-label { display: block; margin: 0 0 8px; }
.yf-tasting-venue-chip { margin: 10px 0 20px; }
.yf-tasting-note-trigger { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 2px 0 24px; }
.yf-tasting-note-preview { margin: 0; overflow-wrap: break-word; }
.yf-tasting-note-input { min-height: 120px; padding-top: 12px; padding-bottom: 12px; resize: vertical; font-family: var(--yf-font-body); line-height: 1.5; }
.yf-tasting-note-sheet { display: flex; flex-direction: column; gap: 16px; }
.yf-tasting-note-save { width: auto; align-self: flex-start; min-width: 140px; }

/* A focused time or answer scrolls clear of the sticky action bar below it. The margin sits on the
   control itself, because the browser scrolls the focused input and not its row. */
.yf-tasting-rows .yf-option input,
.yf-tasting-field .yf-stepper button,
.yf-tasting-extras .yf-input,
.yf-tasting-extras .yf-chip,
.yf-tasting-note-trigger .yf-link { scroll-margin-bottom: 200px; }

/* ---- no times: the drawing, the ways to reach the business, an optional question ---- */
.yf-notimes-art { display: flex; justify-content: center; padding: 6px 0 18px; }
.yf-notimes-art svg { width: 128px; height: 128px; }
.yf-notimes-contact { display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 0 0 16px; }
.yf-notimes-line { margin: 0; font-size: 16px; font-weight: 700; color: var(--yf-ink); text-align: center; overflow-wrap: anywhere; }
.yf-notimes-line .yf-link { display: inline-flex; align-items: center; min-height: 44px; }
.yf-notimes-retry { margin: 0 0 16px; text-align: center; }
.yf-notimes-question { margin: 8px 0 24px; }
.yf-notimes-form .yf-btn { width: auto; min-width: 160px; }
.yf-notimes-status { margin: 0 0 12px; }
.yf-notimes-sent { margin: 0; font-size: 14px; font-weight: 700; color: var(--yf-ink); }

@media (min-width: 768px) {
  .yf-tasting-rows-wrap { padding-top: 14px; }
}
