/* Products, categories, choices, and promo only. Load after pos-alpha.css. */
.catalog-ux-dialog,
.catalog-ux-promo-dialog,
.catalog-ux-choices {
  --b7-line: #e4e5e1;
  --b7-espresso: #24241f;
  --menu-ink: #20201e;
  color: #20201e;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.catalog-ux-dialog,
.catalog-ux-promo-dialog {
  box-sizing: border-box;
  width: min(680px, calc(100vw - 48px));
  padding: 24px;
  border: 1px solid #e4e5e1;
  border-radius: 24px;
  background: #fff;
}
.catalog-ux-dialog:not([open]),
.catalog-ux-promo-dialog:not([open]) { display: none; }
.catalog-ux-dialog > header,
.catalog-ux-promo-dialog > header { padding: 0 0 16px; border-bottom: 1px solid #e4e5e1; }
.catalog-ux-dialog > header button,
.catalog-ux-promo-dialog > header button { min-width: 44px; flex: none; }
.catalog-ux-dialog form,
.catalog-ux-promo-dialog .menu-v2-form { display: grid; gap: 16px; padding: 16px 0 0; margin: 0; border: 0; background: #fff; }
.catalog-ux-dialog :is(label, fieldset, details),
.catalog-ux-promo-dialog :is(label, fieldset, details) { min-width: 0; }
.catalog-ux-dialog :is(input, select, textarea),
.catalog-ux-promo-dialog :is(input, select, textarea) { max-width: 100%; border-color: #d7d9d2; border-radius: 10px; color: #20201e; }
.catalog-ux-dialog :is(button, select, summary),
.catalog-ux-promo-dialog :is(button, select, summary),
.catalog-ux-choices button { min-height: 44px; }
.catalog-ux-dialog :is(input[type=checkbox], input[type=radio]),
.catalog-ux-promo-dialog :is(input[type=checkbox], input[type=radio]) { width: 20px; height: 20px; min-height: 20px; }
.catalog-ux-dialog :is(.button-primary, .button-primary:hover),
.catalog-ux-promo-dialog :is(.button-primary, .button-primary:hover) { color: #fff; background: #24241f; border-color: #24241f; }
.catalog-ux-dialog :focus-visible,
.catalog-ux-promo-dialog :focus-visible,
.catalog-ux-choices :focus-visible { outline: 3px solid #a85127; outline-offset: 3px; }
.catalog-ux-dialog :is(.menu-b7-form-grid, .catalog-ux-fields) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.catalog-ux-dialog .admin-modifier-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalog-ux-dialog .admin-modifier-form > :is(p,button,.admin-modifier-reason,[data-settings-actions]) { grid-column: 1 / -1; }
.catalog-ux-dialog footer { position: sticky; bottom: -24px; display: flex; justify-content: flex-end; gap: 12px; margin: 0 -24px -24px; padding: 16px 24px; border-top: 1px solid #e4e5e1; background: #fff; }
.catalog-ux-dialog [data-catalog-feedback]:not(:empty) { padding: 12px; border-radius: 10px; background: #fff0df; color: #684322; }
.catalog-ux-hint { margin: 8px 0 16px; color: #60645f; font-size: .875rem; line-height: 1.6; }
.catalog-ux-details { grid-column: 1 / -1; margin: 0; padding: 0; border: 1px solid #e4e5e1; border-radius: 16px; background: #fff; }
.catalog-ux-details > summary { min-height: 44px; box-sizing: border-box; padding: 12px 16px; cursor: pointer; color: #20201e; font-weight: 700; }
.catalog-ux-details > summary span { margin-left: 8px; color: #60645f; font-size: .8rem; font-weight: 500; }
.catalog-ux-details > :not(summary) { margin: 0; padding: 16px; }
.catalog-ux-details > fieldset { border: 0; }
.catalog-ux-details .menu-b7-media { display: grid; gap: 16px; }
.catalog-ux-details legend { color: #60645f; font-size: .8125rem; }
.catalog-ux-promo-dialog .catalog-ux-fields { display: grid; gap: 16px; }
.catalog-ux-promo-dialog fieldset label { min-height: 44px; }
.catalog-ux-technical { font-size: .8125rem; color: #60645f; }
.catalog-ux-technical summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; text-decoration: underline; }
.catalog-ux-technical code { display: block; padding-bottom: 8px; overflow-wrap: anywhere; }
.catalog-ux-choices { border-radius: 20px; background: #fff; }
.catalog-ux-choices .section-heading { align-items: flex-start; gap: 16px; }
.catalog-ux-choice-card { padding: 20px; border: 1px solid #e4e5e1; border-radius: 16px; }
.catalog-ux-choice-card > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.catalog-ux-choice-card > header > button { flex: none; }
.catalog-ux-choice-card :is(p,small) { color: #60645f; line-height: 1.6; }
.catalog-ux-choice-card .availability-badge { color: #385e4c; background: #eaf3e9; }
.catalog-ux-choice-list { margin: 16px 0; }
.catalog-ux-choice-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid #e4e5e1; }
.catalog-ux-choice-row label { min-width: 0; max-width: 100%; }
.catalog-ux-choice-row select { min-height: 44px; max-width: 100%; }
.catalog-ux-choice-row p { margin: 4px 0 0; font-size: .8125rem; }
.catalog-ux-choice-row button { flex: none; }
@media (max-width: 600px) {
  .catalog-ux-dialog,
  .catalog-ux-promo-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: 20px 16px; }
  .catalog-ux-dialog :is(.menu-b7-form-grid, .catalog-ux-fields, .admin-modifier-form) { grid-template-columns: 1fr; }
  .catalog-ux-dialog footer { bottom: -20px; margin: 0 -16px -20px; padding: 16px; }
  .catalog-ux-dialog footer button { flex: 1; }
  .catalog-ux-choices .section-heading { flex-wrap: wrap; }
  .catalog-ux-choice-card { padding: 16px; }
}
