/* Product-specific controls; the layout, typography and purchase shell come from
   editor-ui.css and poster-select.css, shared with Musikposter No2. */
.fd-app {--line:var(--me-line);--accent:#8a7965;--muted:var(--me-muted)}
.fd-app button,.fd-app input,.fd-app select {font:inherit;accent-color:var(--accent);caret-color:var(--accent)}
.fd-app button {touch-action:manipulation}
.fd-app .fd-photo-buttons {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}
.fd-app .fd-photo-buttons button {position:relative;min-width:0;min-height:76px;aspect-ratio:1;border:1px solid var(--line);border-radius:4px;background:#f6f3ed;cursor:pointer;overflow:hidden;padding:0}
.fd-app .fd-photo-buttons button[aria-pressed=true] {outline:2px solid var(--accent);outline-offset:2px}
.fd-app .fd-photo-buttons img {display:block;width:100%;height:100%;object-fit:cover}
.fd-app .fd-photo-number {position:absolute;left:4px;top:4px;padding:1px 5px;background:#fffefa;color:var(--me-ink);border-radius:2px;font-size:12px}
.fd-app .fd-photo-placeholder {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 2px 4px;color:var(--me-ink);height:100%;font-size:12px}
.fd-app .fd-photo-buttons button[data-filled=true] .fd-photo-placeholder {display:none}
.fd-app .edit-heading {display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}
.fd-app .edit-heading h3 {font-size:13px;margin:0;color:var(--me-ink)}
.fd-app #progress,.fd-app .hint,.fd-app .preview-note,.fd-app .fd-draft-note {color:var(--me-muted);font-size:12px;line-height:1.6}
.fd-app .hint {margin:10px 0 18px}
.fd-app #photo-input,.fd-app .sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.fd-app .fd-upload-area {display:block;width:100%;min-height:60px;margin:10px 0 16px;padding:16px;border:2px dashed #d4cdc2;border-radius:5px;background:#f6f3ed;color:var(--me-muted);font-size:13px;cursor:pointer}
.fd-app .fd-upload-area:is(:hover,.is-dragging) {border-color:var(--accent);background:#eee9e1}
.fd-app #photo-tools {display:grid;grid-template-columns:minmax(90px,120px) minmax(0,1fr);gap:16px;margin-top:16px}
.fd-app .crop-wrap {align-self:start;position:relative;overflow:hidden;background:#f6f3ed;border-radius:4px}
.fd-app #crop {display:block;width:100%;height:auto;cursor:grab;touch-action:none}
.fd-app #crop:active {cursor:grabbing}
.fd-app #crop-empty {position:absolute;bottom:8px;font-size:11px}
.fd-app fieldset {min-width:0;border:0;margin:0;padding:0}
.fd-app #adjustments label {display:flex;justify-content:space-between;gap:8px;margin:0 0 4px;font-size:12px}
.fd-app input[type=range] {display:block;width:100%;height:28px;margin:0 0 10px;cursor:pointer}
.fd-app .minor-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.fd-app .minor-actions button {min-height:40px;padding:8px 10px;border:1px solid #ddd7cf;border-radius:4px;background:#f1eee7;color:var(--me-ink);font-size:12px;cursor:pointer}
.fd-app #resolution {grid-column:1/-1;margin:0 0 12px}
.fd-app .text-fields label,.fd-app .fd-label {display:block;margin:0 0 8px;color:var(--me-ink);font-size:13px}
.fd-app .text-fields input {width:100%;min-height:44px;margin:0 0 18px;padding:10px 12px;border:1px solid #ddd7cf;border-radius:4px;background:#fffefa;color:var(--me-ink);font-size:14px}
.fd-app .theme-options {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 22px}
.fd-app .theme-options .md-editor-color {background:transparent;cursor:pointer}
.fd-app .theme-options [aria-pressed=true] {border-color:#938779;background:#eee9e1}
.fd-app .md-editor-color-swatch > span {width:14px;height:14px;border-radius:50%}
.fd-app .fd-size {margin:0 0 18px}
.fd-app .fd-size > select {width:100%;min-height:44px}
.fd-app #poster {display:block;width:100%;height:auto;touch-action:pan-y pinch-zoom}
.fd-app .paper {background:#f7f3eb}
.fd-app .preview-note {margin:12px 0 0}
.fd-app .md-editor-preview-note {text-align:center}
.fd-app #upload-error,.fd-app #text-error,.fd-app #purchase-error {color:#8c261e;font-size:13px;line-height:1.5}
.fd-app #upload-error:not(:empty),.fd-app #purchase-error:not(:empty) {background:#fff0ed;border:1px solid #e5b8af;border-radius:4px;padding:12px}
.fd-app #upload-status,.fd-app #purchase-status,.fd-app #status {font-size:13px;line-height:1.5}
.fd-app :is(#status,#upload-status,#upload-error,#text-error,#purchase-status,#purchase-error):empty {display:none}
@media(max-width:900px){.fd-app .text-fields input {font-size:16px}}
@media(max-width:390px){.fd-app #photo-tools {grid-template-columns:90px minmax(0,1fr);gap:12px}.fd-app .minor-actions button {font-size:11px}}
@media(prefers-reduced-motion:reduce){.fd-app *{scroll-behavior:auto!important;transition:none!important}}
