/* Datei: /public/marktplatz/market.css
   Creator-Marktplatz (public/marktplatz/*, public/admin/market/). Schrift nie fetter als 700. */

.ct-market-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.ct-market-tab {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: var(--ct-radius-md);
    border: 1px solid var(--ct-border-soft); background: var(--ct-bg-soft); color: var(--ct-text-muted); font-weight: 600;
}
.ct-market-tab:hover { color: var(--ct-text); border-color: var(--ct-border); }
.ct-market-tab.is-active { color: var(--ct-black); background: var(--ct-primary); border-color: var(--ct-primary); }

/* Filter */
.ct-market-filter { display: grid; gap: 12px; }
.ct-market-types { display: flex; flex-wrap: wrap; gap: 6px; }
.ct-market-chip {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px;
    border: 1px solid var(--ct-border-soft); color: var(--ct-text-muted); font-size: 14px;
}
.ct-market-chip:hover { color: var(--ct-text); }
.ct-market-chip.is-active { color: var(--ct-primary); border-color: var(--ct-primary); }
.ct-market-search { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.ct-market-search input[type="search"] { flex: 1 1 240px; margin: 0; }
.ct-market-search select { flex: 0 0 auto; width: auto; margin: 0; }

/* Raster */
.ct-market-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.ct-market-card {
    display: flex; flex-direction: column; overflow: hidden; border-radius: var(--ct-radius-lg);
    background: var(--ct-bg-card); border: 1px solid var(--ct-border-soft); color: var(--ct-text); transition: 140ms ease;
}
.ct-market-card:hover { border-color: var(--ct-primary); color: var(--ct-text); transform: translateY(-2px); }
.ct-market-card__body { display: grid; gap: 2px; padding: 10px 12px 12px; }
.ct-market-card__body strong { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ct-market-card__body .text-muted { font-size: 13px; }
.ct-market-meta { font-size: 12px; color: var(--ct-text-muted); text-transform: uppercase; letter-spacing: 0.3px; }

/* Vorschau */
.ct-market-preview {
    position: relative; aspect-ratio: 16 / 10; display: flex; align-items: center; justify-content: center;
    background: repeating-conic-gradient(rgba(255, 255, 255, 0.04) 0 25%, transparent 0 50%) 0 0 / 20px 20px, var(--ct-bg-soft);
    color: var(--ct-text-muted); overflow: hidden;
}
.ct-market-preview > i { font-size: 34px; }
.ct-market-preview img, .ct-market-preview video { width: 100%; height: 100%; object-fit: contain; }
.ct-market-preview--emote img { width: 60%; height: 60%; image-rendering: auto; }
.ct-market-preview--sound { flex-direction: column; gap: 12px; padding: 12px; }
.ct-market-preview--sound audio { width: 100%; max-width: 320px; }

/* Detail */
.ct-market-detail { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 16px; align-items: start; }
.ct-market-detail__media { display: grid; gap: 14px; }
.ct-market-detail__info h2 { margin: 4px 0 2px; }
.ct-market-file { margin: 0; display: grid; gap: 6px; }
.ct-market-file .ct-market-preview { border-radius: var(--ct-radius-md); }
.ct-market-file figcaption { font-size: 13px; color: var(--ct-text-muted); }
.ct-market-emote-sizes { display: flex; align-items: flex-end; gap: 18px; flex-wrap: wrap; }
.ct-market-emote-sizes span { display: grid; justify-items: center; gap: 4px; }
.ct-market-emote-sizes small { color: var(--ct-text-muted); }
.ct-market-desc { white-space: normal; }
.ct-market-tags { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.ct-market-license { padding: 10px 12px; border-radius: var(--ct-radius-md); background: var(--ct-bg-soft); border: 1px solid var(--ct-border-soft); margin: 12px 0; }
.ct-market-license strong { font-weight: 600; }
.ct-market-price { color: var(--ct-text-muted); font-size: 14px; }
.ct-market-take { width: 100%; justify-content: center; }
.ct-market-hint { font-size: 13px; margin-top: 8px; }
.ct-market-report { margin-top: 16px; font-size: 14px; }
.ct-market-report summary { cursor: pointer; color: var(--ct-text-muted); }

/* Leer / Zustände */
.ct-market-empty, .ct-market-state { text-align: center; padding: 36px 20px; }
.ct-market-empty > i, .ct-market-state > i { font-size: 36px; color: var(--ct-text-muted); margin-bottom: 8px; }

/* Creator-Bereich */
.ct-market-apply { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr); gap: 16px; align-items: start; }
.ct-market-howto ol { padding-left: 20px; margin: 8px 0 12px; display: grid; gap: 6px; }
.ct-market-edit { display: grid; gap: 16px; max-width: 980px; }
.ct-market-edit fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ct-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 300; cursor: pointer; }
.ct-check input[type="checkbox"], .ct-check input[type="radio"] { width: auto; margin: 4px 0 0; padding: 0; flex: 0 0 auto; accent-color: var(--ct-primary); }
.ct-check > span { flex: 1 1 auto; min-width: 0; text-align: left; }

.ct-market-files { display: grid; gap: 8px; }
.ct-market-files__row {
    display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 12px; align-items: center;
    padding: 8px; border-radius: var(--ct-radius-md); background: var(--ct-bg-soft); border: 1px solid var(--ct-border-soft); color: var(--ct-text);
}
.ct-market-files__row--link:hover { border-color: var(--ct-primary); color: var(--ct-text); }
.ct-market-files__row .ct-market-preview { border-radius: var(--ct-radius-sm); }
.ct-market-files__row .ct-market-preview > i { font-size: 22px; }
.ct-market-files__row .ct-market-preview--sound audio { display: none; }
.ct-market-files__row strong { font-weight: 600; }

.ct-market-add { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin-top: 16px; }
.ct-market-add__form { padding: 12px; border-radius: var(--ct-radius-md); border: 1px dashed var(--ct-border); }
.ct-market-add__form h3 { margin: 0 0 8px; font-size: 16px; }

.ct-market-typepick { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.ct-market-typepick__opt { margin: 0; cursor: pointer; }
.ct-market-typepick__opt input { position: absolute; opacity: 0; pointer-events: none; }
.ct-market-typepick__opt span {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: var(--ct-radius-md);
    border: 1px solid var(--ct-border); color: var(--ct-text-muted); font-weight: 600;
}
.ct-market-typepick__opt input:checked + span { color: var(--ct-black); background: var(--ct-primary); border-color: var(--ct-primary); }
.ct-market-typepick__opt input:focus-visible + span { outline: 2px solid var(--ct-primary); outline-offset: 2px; }

/* Status */
.ct-market-badge {
    display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap;
    background: var(--ct-badge-bg); color: var(--ct-text-muted);
}
.ct-market-badge--submitted { background: var(--ct-info-bg); color: var(--ct-info); }
.ct-market-badge--published { background: var(--ct-success-bg); color: var(--ct-success); }
.ct-market-badge--rejected, .ct-market-badge--blocked { background: var(--ct-danger-bg); color: var(--ct-danger); }
.ct-market-badge--withdrawn { background: var(--ct-warning-bg); color: var(--ct-warning); }

/* Shop */
.ct-market-shophead { display: flex; gap: 16px; align-items: center; }
.ct-market-shophead h2 { margin: 0 0 4px; }
.ct-market-shophead__avatar {
    flex: 0 0 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--ct-primary); color: var(--ct-black); font-size: 28px; font-weight: 700;
}

/* Admin */
.ct-market-review { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 16px; padding: 14px 0; border-top: 1px solid var(--ct-border-soft); }
.ct-market-review:first-of-type { border-top: 0; }
.ct-market-review p { margin-top: 6px; }
.ct-market-review__files { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin-top: 10px; }
.ct-market-decide { display: grid; gap: 8px; align-content: start; }
.ct-market-decide input[type="text"] { margin: 0; }
td .ct-market-decide { min-width: 220px; }

@media (max-width: 900px) {
    .ct-market-detail, .ct-market-apply, .ct-market-review { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .ct-market-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .ct-market-files__row { grid-template-columns: 64px minmax(0, 1fr); }
    .ct-market-files__row > form, .ct-market-files__row > .btn, .ct-market-files__row > .ct-market-badge { grid-column: 2; justify-self: start; }
    .ct-market-shophead { flex-direction: column; text-align: center; }
}

/* KI-Kennzeichnung (Marktplatz-Regeln Nr. 4) */
.ct-market-ai {
    display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px; font-size: 12px; font-weight: 600;
    border: 1px solid var(--ct-border-soft); color: var(--ct-text-muted); white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
}
.ct-market-ai--none { color: var(--ct-success); border-color: var(--ct-success-border); background: var(--ct-success-bg); }
.ct-market-ai--assisted { color: var(--ct-info); border-color: var(--ct-info-border); background: var(--ct-info-bg); }
.ct-market-ai--generated { color: var(--ct-warning); border-color: var(--ct-warning-border); background: var(--ct-warning-bg); }
.ct-market-ai--missing { color: var(--ct-danger); border-color: var(--ct-danger-border); background: var(--ct-danger-bg); }
.ct-market-aipick { border: 1px solid var(--ct-border-soft); border-radius: var(--ct-radius-md); padding: 10px 12px 12px; margin: 14px 0 0; display: grid; gap: 6px; }
.ct-market-aipick legend { padding: 0 6px; font-weight: 600; }
.ct-market-aipick label[for] { margin-top: 6px; }
.ct-market-aipick .ct-check { margin: 0; font-size: 14px; align-items: flex-start; }
.ct-market-noai { margin: 0; white-space: nowrap; }
.ct-market-terms { border-color: var(--ct-warning-border); }
.ct-market-blocked { margin: 8px 0 0; padding: 8px 10px; font-size: 13px; }
.ct-market-decide select { margin: 0; }

/* Öffentliches Meldeformular (/marktplatz-melden) */
.ct-market-reportform { display: grid; gap: 4px; max-width: 640px; }
.ct-market-reportform .btn { justify-self: start; }
.ct-market-checklist { margin-top: 10px; font-size: 14px; }
.ct-market-checklist summary { cursor: pointer; color: var(--ct-text-muted); }
.ct-market-checklist ul { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 4px; }
.ct-market-request { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; }
.ct-market-terms ul { margin: 0 0 10px; padding-left: 20px; }
/* Datei-Zeile mit "Austauschen" + Papierkorb */
.ct-market-files__row { grid-template-columns: 96px minmax(0, 1fr) auto auto; }
.ct-market-files__row--link { grid-template-columns: 96px minmax(0, 1fr) auto; }
.ct-market-replace { margin: 0; }
.ct-market-replace label { margin: 0; cursor: pointer; }
@media (max-width: 560px) {
    .ct-market-files__row, .ct-market-files__row--link { grid-template-columns: 64px minmax(0, 1fr); }
}
