/* Catalog additions inherit existing CoAgent typography, themes and controls. */
/* Photo-first editor: fixed product facts stay distinct from optional variants. */
#workspace-dialog:has(#pc-form),#workspace-dialog:has(#pc-photo-form){max-width:720px}
.catalog-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.catalog-editor-heading h2{margin:4px 0 0}.catalog-eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted)}.catalog-editor-close{min-width:44px;font-size:22px}
.catalog-media-first{padding:18px;border:1px dashed var(--border);border-radius:14px;background:var(--bg)}
#pc-form .field small,#pc-form h3 small,#pc-photo-form h3 small{font-weight:400;font-size:11px;color:var(--muted)}
.catalog-fixed-details .catalog-option-types{margin:14px 0}.catalog-fact-row{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(100px,1.5fr) 44px;gap:8px;margin:10px 0}.catalog-fact-row input{min-width:0;width:100%}.catalog-fact-row .button{padding:8px;min-height:44px;font-size:20px}
.catalog-price-fields{display:grid;gap:14px;align-content:start}.catalog-fact-card{border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:14px}.catalog-fact-card>label{display:grid;gap:8px}.catalog-fact-card .catalog-section-title{margin-bottom:10px}.catalog-fact-card .catalog-section-title .button{min-width:44px}.catalog-measurement{display:flex;gap:10px}.catalog-measurement input{min-width:0;flex:1}.catalog-measurement select{max-width:48%;min-height:44px}.catalog-fact-card .catalog-upload-slot{margin-top:14px}
.catalog-stock-note{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.catalog-optional-tag{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}
.catalog-inline-check{display:flex!important;align-items:center;gap:4px}.catalog-variant-price{gap:7px}.catalog-variant-price input:disabled{opacity:.6;background:var(--bg)}
.catalog-extra-details,.catalog-variant-extra{border:1px solid var(--border);border-radius:12px;padding:14px}.catalog-extra-details>summary,.catalog-variant-extra>summary{cursor:pointer;font-size:13px;min-height:28px}.catalog-extra-details summary small{display:block;margin:5px 0 0 15px}.catalog-extra-details>.business-form{margin-top:16px}.catalog-variant-extra .field{margin-top:12px}
.catalog-url-picker{width:100%;font-size:12px;color:var(--muted)}.catalog-url-picker summary{cursor:pointer;padding:8px 0;min-height:36px}.catalog-url-picker>div{display:flex;gap:8px;margin:6px 0}.catalog-url-picker input{min-width:0;flex:1}.catalog-url-picker small{font-size:10px}.catalog-link-preview{display:grid;align-content:center;gap:8px;text-align:center;aspect-ratio:1;background:var(--bg);border-radius:10px;color:var(--muted);font-size:12px}.catalog-link-preview small{font-size:10px}
/* Two clear columns inside the editor, regardless of the dashboard breakpoint. */
.catalog-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-detail-facts>div{padding:12px;border:1px solid var(--border);border-radius:10px;overflow-wrap:anywhere}.catalog-detail-facts dt{font-size:11px;color:var(--muted)}.catalog-detail-facts dd{margin:5px 0 0;font-size:13px}
#pc-form,#pc-form .business-form{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:520px){#pc-form,#pc-form .business-form{grid-template-columns:1fr}.catalog-fact-row{grid-template-columns:minmax(70px,.8fr) minmax(80px,1.2fr) 40px;gap:6px}.catalog-media-first{padding:12px}.catalog-optional-tag{display:none}.catalog-url-picker>div{flex-wrap:wrap}.catalog-url-picker input{flex-basis:100%}}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.catalog-search{position:relative;display:block;flex:1;max-width:460px;min-width:0}.catalog-search>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none}.catalog-toolbar input{width:100%;min-width:0;padding-left:36px}.catalog-toolbar>span{white-space:nowrap}
.catalog-photo-empty{display:grid;place-items:center;width:100%;height:100%;min-height:170px;color:var(--muted,#777);background:var(--surface,#f5f3fa)}
.catalog-variant{border:1px solid var(--border,#e7e4ed);border-radius:12px;padding:16px;margin:12px 0;min-width:0}
.catalog-variant legend{font-size:13px;padding:0 7px;color:var(--muted,#777)}
.catalog-variant input[type=checkbox],#pc-form input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}
.catalog-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.catalog-photos figure{margin:0}.catalog-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.catalog-photos figcaption{margin-top:8px}
.catalog-upload-slot{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.catalog-upload-slot>small,.catalog-all-images h3 small{color:var(--muted);font-size:11px;font-weight:400}.catalog-upload-button{position:relative;display:inline-flex;align-items:center;border:1px dashed var(--border,#d5c6eb);padding:10px 12px;border-radius:10px;color:var(--accent,#a470ff);font-size:12px;cursor:pointer;overflow:hidden}.catalog-upload-button input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;padding:0}.catalog-upload-button:focus-within{outline:2px solid var(--accent,#873bfa);outline-offset:2px}.catalog-upload-button.disabled{opacity:.5;cursor:not-allowed}.catalog-mini-photos{display:flex;flex-wrap:wrap;gap:5px;width:100%}.catalog-mini-photos img{width:44px;height:44px;object-fit:cover;border-radius:7px}.catalog-photos figcaption{display:flex;flex-direction:column;gap:8px;font-size:11px}.catalog-photo-selected{border:1px dashed var(--border);border-radius:10px;padding:6px}.catalog-all-images{border-top:1px solid var(--border);padding-top:18px}.catalog-all-images h3{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#pc-form .form-error,#pc-photo-form .form-error{grid-column:1/-1}
#pc-form h3,#pc-photo-form h3{margin:0 0 4px}#pc-form .help-copy,#pc-photo-form .help-copy{margin:0;line-height:1.6}#pc-photo-form .catalog-variant{margin:6px 0;padding:12px}#pc-photo-form .catalog-variant .business-form{display:block;margin:0}#pc-photo-form .catalog-photos{margin:10px 0}#pc-photo-form .catalog-upload-slot{margin-top:4px}#pc-photo-form [data-upload-progress]:empty,#pc-form [data-upload-progress]:empty,#pc-photo-form .form-error:empty,#pc-form .form-error:empty{display:none}
@media(max-width:600px){.catalog-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-variant{padding:10px}.catalog-toolbar{gap:10px}}

/* Keep complete products visible across tall apparel, food and decor photos. */
.product-card .product-image img { object-fit: contain; background: #fff; }

/* Simple editor: optional options, explicit stock, and a persistent save action. */
#pc-form>.wide,#pc-photo-form>.wide{grid-column:1/-1}
#workspace-dialog:has(#pc-form)>.dialog-close,#workspace-dialog:has(#pc-photo-form)>.dialog-close{display:none}
.catalog-editor-section{border-top:1px solid var(--border);padding-top:22px;margin-top:8px}
.catalog-section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.catalog-variants-toggle,.catalog-publish-toggle{display:flex!important;align-items:center;gap:12px;cursor:pointer;line-height:1.4}
.catalog-variants-toggle{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.catalog-variants-toggle span,.catalog-publish-toggle span{display:grid;gap:4px}.catalog-variants-toggle small,.catalog-publish-toggle small{font-size:11px;color:var(--muted);font-weight:400}
.catalog-options-builder{margin:16px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}
.catalog-dimension{display:grid;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border)}.catalog-dimension label{display:grid;gap:7px}
.catalog-option-types{display:flex;gap:8px;flex-wrap:wrap}.catalog-option-types .button{padding:8px 12px;min-height:40px;font-size:12px}
.catalog-option-types .selected{border-color:var(--accent,#873bfa);color:var(--accent,#873bfa);background:var(--surface)}
.catalog-value-chips{display:flex;gap:6px;flex-wrap:wrap}.catalog-value-chips:empty{display:none}
.catalog-bulk-stock{display:flex;gap:8px;align-items:center}.catalog-bulk-stock input{max-width:145px;min-height:40px}.catalog-bulk-stock .button{min-height:40px}
.catalog-option-available{display:flex;align-items:center;gap:8px;font-size:12px;grid-column:1/-1}
.catalog-save-bar{position:sticky;bottom:-28px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface);border-top:1px solid var(--border);padding:20px 0 4px;margin-top:12px}
.catalog-save-bar .form-actions{display:flex;gap:10px;margin:0;flex-shrink:0}.catalog-save-bar .button{min-height:46px}
#pc-form .catalog-publish-toggle input{appearance:none;-webkit-appearance:none;display:block;flex-shrink:0;width:42px;height:24px;border:0;border-radius:20px;background:var(--border);position:relative;cursor:pointer;margin:0}
#pc-form .catalog-publish-toggle input:before{content:'';position:absolute;width:18px;height:18px;top:3px;left:3px;background:white;border-radius:50%;transition:transform .15s}
#pc-form .catalog-publish-toggle input:checked{background:var(--accent,#873bfa)}#pc-form .catalog-publish-toggle input:checked:before{transform:translateX(18px)}
#pc-form .catalog-publish-toggle input:focus-visible{outline:2px solid var(--accent,#873bfa);outline-offset:3px}
@media(max-width:600px){.catalog-options-builder{padding:12px}.catalog-save-bar{flex-wrap:wrap;bottom:-18px;gap:14px}.catalog-save-bar .form-actions{width:100%}.catalog-save-bar .form-actions .primary{flex:1}.catalog-bulk-stock{width:100%}.catalog-bulk-stock input{max-width:none;min-width:0;flex:1}}

/* Sprint 2 listing controls: preserve CoAgent tokens and avoid horizontal overflow. */
.catalog-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}.catalog-summary>div{padding:18px;display:flex;flex-direction:column;gap:9px}.catalog-summary span{color:var(--muted);font-size:12px}.catalog-summary strong{font-size:27px}
.catalog-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:18px}.catalog-filter{display:flex;flex-direction:column;gap:6px;min-width:125px;flex:1;font-size:11px;color:var(--muted)}.catalog-filter select{width:100%;min-height:42px;max-width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:9px;padding:9px}
.catalog-badges{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.catalog-stock-count{display:block;color:var(--muted);margin-bottom:12px}.catalog-card-meta{display:flex;gap:10px;flex-wrap:wrap}.catalog-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-photo-empty{display:flex;flex-direction:column;justify-content:center;gap:12px;background:linear-gradient(135deg,var(--surface),var(--bg))}.catalog-photo-empty>span{font-size:50px;color:var(--muted)}
.catalog-actions{position:relative}.catalog-actions summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:8px;min-width:44px;min-height:44px;display:grid;place-items:center}.catalog-actions[open]>div{position:absolute;right:0;bottom:48px;z-index:5;background:var(--surface);border:1px solid var(--border);padding:8px;border-radius:10px;display:grid;gap:6px;min-width:150px;box-shadow:0 8px 25px #0002}.catalog-actions summary:focus-visible{outline:2px solid var(--lime)}
.product-grid.catalog-list{grid-template-columns:1fr}.catalog-list .product-card{display:grid;grid-template-columns:160px minmax(0,1fr)}.catalog-list .product-image{height:100%;min-height:180px}.product-card .notice-actions{flex-wrap:wrap}.product-card{min-width:0}.product-card h2{overflow-wrap:anywhere}
@media(max-width:720px){.catalog-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.catalog-filter{min-width:calc(50% - 12px)}.catalog-toolbar{flex-wrap:wrap}.catalog-list .product-card{grid-template-columns:100px minmax(0,1fr)}.catalog-list .product-info{padding:12px}.catalog-list .product-info h2{font-size:16px}.catalog-list .product-image{min-height:130px}.catalog-badges .pill{font-size:10px}.catalog-toolbar .button,.product-card .button{min-height:44px}}
