/* Catalog views: menu, products, modifiers. */
.catalog-gap { margin-bottom: 16px; }
.block { display: block; }
.cat-name { font-weight: 600; color: var(--ink); }
.cat-actions .btn[aria-disabled="true"] { opacity: .4; cursor: not-allowed; }

.menu-preview { display: grid; gap: 18px; }
.menu-preview-cat h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 4px; }
.menu-preview-cat .list li { padding: 8px 0; }
.menu-preview-cat .list li.sold-out > span:first-child { color: var(--muted); text-decoration: line-through; text-decoration-thickness: 1px; }

.price-edit { display: flex; gap: 6px; align-items: flex-start; flex-wrap: wrap; }
.price-edit .field-error { flex-basis: 100%; }

.rule-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 4px; }
.rule-foot strong { color: var(--ink); font-size: 1.1rem; }
.rule-errors ul { margin: 10px 0 0; padding: 10px 14px 10px 30px; background: var(--bad-soft); color: var(--bad); border-radius: var(--radius-sm); font-weight: 600; font-size: .88rem; }
.rule-errors:empty { display: none; }
.mod-group .btn.ghost { margin-top: 4px; padding-left: 0; color: var(--muted); }

.choice-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.choice-list li { display: flex; gap: 8px; align-items: baseline; }
.linkish { background: none; border: 0; padding: 0; color: var(--accent-dark); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; font: inherit; }
.linkish:hover { color: var(--accent-darker); }

@media (max-width: 820px) {
  .price-input { width: 84px; }
}
