/* Product management: readable fields and controls within the existing design. */
.catalog-manager { font-size: 16px; line-height: 1.5; }
.catalog-manager .setting-section-head { align-items: center; gap: 20px; }
.catalog-manager .setting-section-head h3 { font-size: 24px; line-height: 1.3; }
.catalog-manager .setting-section-head p:not(.eyebrow) { font-size: 15px; line-height: 1.6; }
.catalog-manager .eyebrow { font-size: 12px; }
.catalog-manager .btn, .catalog-manager .text-btn { min-height: 44px; padding: 11px 16px; font-size: 15px; line-height: 1.4; }
.catalog-manager button:focus-visible, .catalog-upload:focus-within { outline: 3px solid var(--orange); outline-offset: 3px; }
.catalog-manager button:disabled { cursor: not-allowed; opacity: .55; }
.catalog-editor { grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 24px; padding: 24px; scroll-margin-top: 184px; }
.catalog-fields { display: grid; gap: 22px; }
.catalog-fields label { display: grid; align-content: start; gap: 8px; min-width: 0; margin: 0; font-size: 15px; font-weight: 650; line-height: 1.5; color: var(--ink); }
.catalog-category-field { display: grid; align-content: start; gap: 8px; min-width: 0; }
.catalog-fields .inline-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.catalog-fields input:not([type="checkbox"]), .catalog-fields select, .catalog-fields textarea { min-width: 0; min-height: 48px; padding: 12px 14px; font-family: inherit; font-size: 16px; line-height: 1.5; font-weight: 400; }
.catalog-fields textarea { min-height: 100px; resize: vertical; }
.catalog-fields input::placeholder, .catalog-fields textarea::placeholder { color: #77776f; opacity: 1; }
.catalog-fields input[data-money] { font-variant-numeric: tabular-nums; }
.catalog-fields .field-help { margin: 0; color: #6b6b63; font-size: 13px; font-weight: 400; line-height: 1.55; }
.catalog-availability { display: grid; gap: 8px; }
.catalog-upload { position: relative; overflow: hidden; gap: 8px; }
.catalog-upload input[type="file"] { display: block; position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.catalog-upload strong { font-size: 16px; }
.catalog-upload small { max-width: 185px; font-size: 13px; line-height: 1.5; text-align: center; color: #6b6b63; }
.catalog-image-preview button { min-height: 40px; padding: 8px 12px; font-size: 14px; }
.catalog-gallery { gap: 12px; }
.catalog-gallery button { width: 56px; height: 56px; }
.catalog-fields .bundle-editor { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 18px; }
.catalog-fields .bundle-editor > div { grid-column: 1 / -1; gap: 4px; }
.catalog-fields .bundle-editor strong { font-size: 16px; }
.catalog-fields .bundle-editor small { font-size: 13px; line-height: 1.55; color: #6b6b63; }
.catalog-fields label.checkline { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.catalog-fields .checkline input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; min-height: 20px; padding: 0; margin: 0; accent-color: var(--orange); cursor: pointer; }
.catalog-fields .catalog-featured { padding: 16px; border: 1px solid #e3ded4; border-radius: 10px; background: #fff; }
.catalog-featured > span { display: grid; gap: 3px; }
.catalog-featured strong { font-size: 15px; font-weight: 650; }
.catalog-featured small { font-size: 13px; font-weight: 400; color: #6b6b63; }
.modifier-builder { padding-top: 20px; }
.modifier-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.modifier-head > strong { font-size: 17px; }
.catalog-manager #addModifierGroup { padding-inline: 8px; }
.catalog-manager .config-help { font-size: 14px; line-height: 1.6; color: #6b6b63; }
.catalog-modifier-group { display: grid; gap: 16px; padding: 18px; margin-top: 14px; border: 1px solid #e3ded4; border-radius: 12px; background: #fff; }
.catalog-modifier-top { display: grid; grid-template-columns: minmax(0, 1fr) 165px; align-items: start; gap: 16px; }
.catalog-modifier-options { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.catalog-manager .modifier-remove-group { color: #a43229; padding-inline: 10px; }
.catalog-choice-list { display: grid; gap: 12px; }
.catalog-choice-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(135px, .55fr) 44px; gap: 12px; align-items: end; }
.catalog-manager .modifier-remove-choice { display: grid; place-items: center; width: 44px; height: 48px; padding: 0; border: 1px solid #e3ded4; border-radius: 10px; background: #fff; color: #a43229; }
.modifier-remove-choice svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.catalog-choice-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.catalog-manager .modifier-add-choice { padding-inline: 0; }
.catalog-form-actions { display: flex; justify-content: flex-end; gap: 12px; padding-top: 22px; }
.catalog-form-actions .btn { min-height: 48px; padding: 12px 22px; }
.catalog-saved { padding-top: 28px; }
.catalog-saved-head h4 { font-size: 22px; }
.catalog-saved-head > span { font-size: 13px; padding: 7px 12px; white-space: nowrap; }
.catalog-list { gap: 14px; }
.catalog-item { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 16px; align-items: start; }
.catalog-item-photo { width: 72px; height: 72px; border-radius: 10px; }
.catalog-item-info { display: grid; gap: 5px; }
.catalog-item-info strong { font-size: 16px; line-height: 1.4; }
.catalog-item-info small { font-size: 13px; line-height: 1.5; }
.catalog-item-info strong, .catalog-item-info small { white-space: normal; overflow-wrap: anywhere; }
.catalog-item-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 10px; border-top: 1px solid #eee9e0; }
.catalog-item-actions button { min-height: 44px; padding: 9px 14px; border-radius: 8px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; }
.catalog-empty strong { font-size: 16px; }
.catalog-empty small { font-size: 14px; }
@media (max-width: 1200px) {
  .catalog-editor { grid-template-columns: 180px minmax(0, 1fr); gap: 20px; padding: 20px; }
  .catalog-upload, .catalog-image-preview { height: 200px; }
  .catalog-list { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .catalog-editor { grid-template-columns: minmax(0, 1fr); }
  .catalog-media { max-width: 320px; width: 100%; }
  .catalog-modifier-top { grid-template-columns: minmax(0, 1fr) 150px; }
}
@media (max-width: 600px) {
  .catalog-manager .setting-section-head { display: grid; gap: 12px; }
  .catalog-manager .setting-section-head h3 { font-size: 22px; }
  .catalog-manager #newCatalogProduct { justify-self: start; }
  .catalog-editor { padding: 16px; gap: 22px; scroll-margin-top: 158px; }
  .catalog-media { max-width: none; }
  .catalog-fields .inline-fields, .catalog-fields .bundle-editor, .catalog-modifier-top { grid-template-columns: minmax(0, 1fr); }
  .catalog-fields { gap: 20px; }
  .catalog-fields .bundle-editor, .catalog-modifier-group { padding: 14px; }
  .catalog-choice-row { grid-template-columns: minmax(0, 1fr) 44px; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid #eee9e0; }
  .catalog-choice-row > label:first-child { grid-column: 1 / -1; }
  .catalog-modifier-options { align-items: flex-start; }
  .catalog-form-actions { flex-direction: column-reverse; }
  .catalog-form-actions .btn { width: 100%; }
  .catalog-saved-head { align-items: center; gap: 12px; }
}
