/**
 * DME Community - Marketplace (Klassenprefix dmc-mp-).
 * Guides-Dark-Look; nutzt die CSS-Variablen aus community.css (.dmc).
 * Handle: dmc-marketplace, abhaengig von dmc-community.
 */

.dmc-mp {
	display: block;
}

.dmc-mp-header {
	margin-bottom: 12px;
}

.dmc-mp-header h2 {
	margin: 0;
}

.dmc-mp-disclaimer {
	font-size: 0.88em;
	border-left: 3px solid var(--dmc-gold);
	padding: 8px 12px;
	background: var(--dmc-bg2);
	border-radius: var(--dmc-radius);
	margin: 0 0 18px;
}

/* Toolbar (Filter/Suche) */
.dmc-mp-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 16px;
}

.dmc-mp-filters {
	display: inline-flex;
	gap: 6px;
}

.dmc-mp-filter {
	padding: 7px 14px;
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
	background: var(--dmc-card);
	color: var(--dmc-muted);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
}

.dmc-mp-filter.is-active {
	color: var(--dmc-accent);
	border-color: var(--dmc-accent);
	box-shadow: 0 0 0 2px var(--dmc-accent-dim);
}

.dmc-mp-search {
	flex: 1 1 200px;
	min-width: 160px;
}

/* Karten-Grid */
.dmc-mp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--dmc-gap);
}

.dmc-mp-card {
	background: var(--dmc-bg2);
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
	text-decoration: none;
	color: inherit;
}

.dmc-mp-card:hover {
	border-color: var(--dmc-accent);
	box-shadow: var(--dmc-glow);
	transform: translateY(-2px);
	text-decoration: none;
}

.dmc-mp-card-thumb {
	aspect-ratio: 16 / 10;
	background: var(--dmc-bg) center / cover no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dmc-muted);
	font-size: 0.85em;
	border-bottom: 1px solid var(--dmc-border);
}

.dmc-mp-card-body {
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.dmc-mp-card-title {
	font-weight: 700;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dmc-mp-card-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 0.85em;
	color: var(--dmc-muted);
}

.dmc-mp-card-price {
	margin-top: auto;
	font-weight: 700;
	color: var(--dmc-gold);
}

.dmc-mp-card-bid {
	color: var(--dmc-accent);
	font-weight: 700;
}

/* Status-Badges */
.dmc-mp-status-active { color: var(--dmc-accent); border-color: var(--dmc-accent); }
.dmc-mp-status-sold { color: var(--dmc-gold); border-color: var(--dmc-gold); }
.dmc-mp-status-closed { color: var(--dmc-muted); }
.dmc-mp-status-cancelled { color: var(--dmc-red); border-color: var(--dmc-red); }

.dmc-mp-type-sell { color: var(--dmc-blue); border-color: var(--dmc-blue); }
.dmc-mp-type-request { color: var(--dmc-gold); border-color: var(--dmc-gold); }

/* Seller-Inline (Name + Badges) */
.dmc-mp-seller {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.dmc-mp-seller .dmc-badges,
.dmc-mp-seller .dmc-badge {
	display: inline-flex;
	align-items: center;
}

.dmc-mp-seller-name {
	color: var(--dmc-text);
	font-weight: 600;
}

/* Detail-Ansicht */
.dmc-mp-detail {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 24px;
}

@media (max-width: 760px) {
	.dmc-mp-detail {
		grid-template-columns: 1fr;
	}
}

.dmc-mp-back {
	display: inline-block;
	margin-bottom: 14px;
}

/* Galerie */
.dmc-mp-gallery-main {
	width: 100%;
	aspect-ratio: 4 / 3;
	background: var(--dmc-bg) center / contain no-repeat;
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
}

.dmc-mp-gallery-main img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.dmc-mp-gallery-thumbs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.dmc-mp-gallery-thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
	cursor: pointer;
}

.dmc-mp-gallery-thumb.is-active {
	border-color: var(--dmc-accent);
	box-shadow: 0 0 0 2px var(--dmc-accent-dim);
}

.dmc-mp-no-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dmc-muted);
	background: var(--dmc-bg);
	border: 1px dashed var(--dmc-border);
	border-radius: var(--dmc-radius);
}

/* Detail-Sidebar / Bid-Box */
.dmc-mp-sidebar {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dmc-mp-detail-title {
	font-size: 1.35em;
	font-weight: 700;
	margin: 0 0 4px;
}

/* Beschreibung: gerendertes Rich-Text-HTML (wp_kses_post). */
.dmc-mp-detail-desc {
	word-break: break-word;
	overflow-wrap: anywhere;
	color: var(--dmc-text);
	line-height: 1.55;
}

.dmc-mp-detail-desc > *:first-child {
	margin-top: 0;
}

.dmc-mp-detail-desc > *:last-child {
	margin-bottom: 0;
}

.dmc-mp-detail-desc p {
	margin: 0 0 0.8em;
}

.dmc-mp-detail-desc h1,
.dmc-mp-detail-desc h2,
.dmc-mp-detail-desc h3,
.dmc-mp-detail-desc h4 {
	margin: 1em 0 0.5em;
	line-height: 1.25;
	color: var(--dmc-text);
}

.dmc-mp-detail-desc ul,
.dmc-mp-detail-desc ol {
	margin: 0 0 0.8em;
	padding-left: 1.4em;
}

.dmc-mp-detail-desc li {
	margin: 0.2em 0;
}

.dmc-mp-detail-desc a {
	color: var(--dmc-accent);
	text-decoration: underline;
}

.dmc-mp-detail-desc img {
	max-width: 100%;
	height: auto;
	border-radius: var(--dmc-radius);
}

.dmc-mp-detail-desc blockquote {
	margin: 0 0 0.8em;
	padding: 6px 12px;
	border-left: 3px solid var(--dmc-gold);
	color: var(--dmc-muted);
}

.dmc-mp-bidbox {
	background: var(--dmc-bg2);
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
	padding: 16px;
	box-shadow: var(--dmc-glow);
}

.dmc-mp-price-big {
	font-size: 1.4em;
	font-weight: 800;
	color: var(--dmc-gold);
}

.dmc-mp-bid-current {
	font-size: 1.2em;
	font-weight: 800;
	color: var(--dmc-accent);
}

.dmc-mp-countdown {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: var(--dmc-accent);
}

.dmc-mp-countdown.is-ending {
	color: var(--dmc-red);
}

.dmc-mp-bid-row {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}

.dmc-mp-bid-row .dmc-input {
	flex: 1;
}

/* Gebotshistorie */
.dmc-mp-bidhist {
	margin-top: 8px;
}

.dmc-mp-bidhist-item {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px solid var(--dmc-border);
	font-size: 0.88em;
}

.dmc-mp-bidhist-item:last-child {
	border-bottom: none;
}

.dmc-mp-bidhist-amount {
	color: var(--dmc-accent);
	font-weight: 700;
}

/* Anlegen-Formular */
.dmc-mp-form {
	max-width: 640px;
}

.dmc-mp-typeswitch {
	display: inline-flex;
	gap: 6px;
	margin-bottom: 14px;
}

.dmc-mp-auction-fields {
	border-top: 1px dashed var(--dmc-border);
	margin-top: 8px;
	padding-top: 12px;
}

.dmc-mp-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.dmc-mp-checkbox input {
	width: auto;
}

.dmc-mp-filepreview {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 8px;
}

.dmc-mp-filepreview img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
}

.dmc-mp-loading {
	color: var(--dmc-muted);
	padding: 24px 0;
	text-align: center;
}

.dmc-mp-empty {
	color: var(--dmc-muted);
	padding: 24px;
	text-align: center;
	border: 1px dashed var(--dmc-border);
	border-radius: var(--dmc-radius);
}

/* Pagination */
.dmc-mp-pager {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
}

/* Login-Wall (nicht eingeloggt) */
.dmc-mp-loginwall {
	text-align: center;
	max-width: 520px;
	margin: 24px auto;
	padding: 32px 24px;
}

.dmc-mp-loginwall-icon {
	font-size: 2.4em;
	line-height: 1;
	margin-bottom: 10px;
}

.dmc-mp-loginwall h3 {
	margin: 0 0 8px;
}

.dmc-mp-loginwall p {
	margin: 0 0 18px;
}

/* "Du erstellst dieses Angebot als …" */
.dmc-mp-asuser {
	margin: 0 0 16px;
	padding: 8px 12px;
	background: var(--dmc-bg2);
	border: 1px solid var(--dmc-border);
	border-left: 3px solid var(--dmc-accent);
	border-radius: var(--dmc-radius);
	color: var(--dmc-muted);
	font-size: 0.9em;
}

.dmc-mp-asuser-name {
	color: var(--dmc-accent);
}

/* Rich-Text-Editor (Beschreibung) */
.dmc-mp-editor {
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
	background: var(--dmc-card);
	overflow: hidden;
}

.dmc-mp-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	padding: 6px;
	background: var(--dmc-bg2);
	border-bottom: 1px solid var(--dmc-border);
}

.dmc-mp-editor-btn {
	min-width: 32px;
	height: 30px;
	padding: 0 8px;
	border: 1px solid var(--dmc-border);
	border-radius: var(--dmc-radius);
	background: var(--dmc-card);
	color: var(--dmc-muted);
	font: inherit;
	font-size: 0.9em;
	line-height: 1;
	cursor: pointer;
	transition: color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.dmc-mp-editor-btn:hover {
	color: var(--dmc-accent);
	border-color: var(--dmc-accent);
	box-shadow: var(--dmc-glow);
}

.dmc-mp-editor-sep {
	width: 1px;
	align-self: stretch;
	margin: 2px 4px;
	background: var(--dmc-border);
}

.dmc-mp-editor-area {
	min-height: 140px;
	max-height: 420px;
	overflow-y: auto;
	padding: 12px;
	color: var(--dmc-text);
	line-height: 1.55;
	outline: none;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.dmc-mp-editor-area:focus {
	box-shadow: inset 0 0 0 2px var(--dmc-accent-dim);
}

.dmc-mp-editor-area.is-empty::before {
	content: attr(data-placeholder);
	color: var(--dmc-muted);
	pointer-events: none;
}

.dmc-mp-editor-area p { margin: 0 0 0.7em; }
.dmc-mp-editor-area h1,
.dmc-mp-editor-area h2,
.dmc-mp-editor-area h3 { margin: 0.6em 0 0.4em; }
.dmc-mp-editor-area ul,
.dmc-mp-editor-area ol { margin: 0 0 0.7em; padding-left: 1.4em; }
.dmc-mp-editor-area a { color: var(--dmc-accent); text-decoration: underline; }

/* Verstecktes Serialisierungs-Feld des Editors. */
.dmc-mp-editor-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Loeschen-Button (Eigentuemer / Moderator) */
.dmc-mp-delete-wrap {
	margin-top: 8px;
}

/* No-JS-Fallback */
.dmc-mp-noscript-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dmc-mp-noscript-list li {
	padding: 8px 0;
	border-bottom: 1px solid var(--dmc-border);
}

/* ---- Quill 2 (Beschreibungs-Editor) im dunklen Guides-Stil ---- */
.dmc-mp-quill { background: #0b0e13; border: 1px solid #22292f; border-radius: 4px; overflow: hidden; }
.dmc-mp-quill .ql-toolbar.ql-snow { border: 0 !important; border-bottom: 1px solid #22292f !important; background: #0f161b; padding: 8px; }
.dmc-mp-quill .ql-container.ql-snow { border: 0 !important; font-family: inherit; font-size: 14px; }
.dmc-mp-quill .ql-editor { min-height: 160px; color: #e8e8f0; line-height: 1.6; }
.dmc-mp-quill .ql-editor.ql-blank::before { color: #6b7280; font-style: normal; }
.dmc-mp-quill .ql-editor a { color: #45f882; }
.dmc-mp-quill .ql-editor blockquote { border-left: 3px solid #45f882; color: #adb0bc; }
/* Toolbar-Icons */
.dmc-mp-quill .ql-snow .ql-stroke { stroke: #9aa7b4; }
.dmc-mp-quill .ql-snow .ql-fill, .dmc-mp-quill .ql-snow .ql-stroke.ql-fill { fill: #9aa7b4; }
.dmc-mp-quill .ql-snow .ql-picker { color: #9aa7b4; }
.dmc-mp-quill .ql-snow.ql-toolbar button:hover .ql-stroke,
.dmc-mp-quill .ql-snow.ql-toolbar button.ql-active .ql-stroke,
.dmc-mp-quill .ql-snow .ql-picker-label:hover .ql-stroke { stroke: #45f882; }
.dmc-mp-quill .ql-snow.ql-toolbar button:hover .ql-fill,
.dmc-mp-quill .ql-snow.ql-toolbar button.ql-active .ql-fill { fill: #45f882; }
.dmc-mp-quill .ql-snow .ql-picker-label:hover, .dmc-mp-quill .ql-snow .ql-picker-label.ql-active,
.dmc-mp-quill .ql-snow .ql-picker-item:hover, .dmc-mp-quill .ql-snow .ql-picker-item.ql-selected { color: #45f882; }
.dmc-mp-quill .ql-snow .ql-picker-options { background: #0f161b; border-color: #22292f !important; }
/* Link-Tooltip */
.ql-snow .ql-tooltip { background: #0f161b !important; border-color: #22292f !important; color: #e8e8f0 !important; box-shadow: 0 8px 24px rgba(0,0,0,.5) !important; }
.ql-snow .ql-tooltip input[type=text] { background: #0b0e13; border: 1px solid #2a3138; color: #e8e8f0; }
.ql-snow .ql-tooltip a.ql-action, .ql-snow .ql-tooltip a.ql-remove, .ql-snow .ql-tooltip a.ql-preview { color: #45f882; }
/* ---- Bestaetigungs-Dialog (dmcConfirm, ersetzt window.confirm) ---- */
.dmc-confirm-overlay { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(5,8,11,.72); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.dmc-confirm { width: 100%; max-width: 420px; background: #0f161b; border: 1px solid #2a3138; border-radius: 12px; box-shadow: 0 18px 50px rgba(0,0,0,.55); padding: 20px; }
.dmc-confirm-title { font-size: 16px; font-weight: 800; color: #fff; margin: 0 0 8px; }
.dmc-confirm-body { color: #c7ced6; font-size: 14px; line-height: 1.55; }
.dmc-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.dmc-confirm-actions .dmc-btn { min-width: 120px; }
.dmc-confirm-ok--danger { background: var(--dmc-red, #ff5050) !important; border-color: var(--dmc-red, #ff5050) !important; color: #200505 !important; }