/**
 * 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;
}

/* Waehrungs-Suffix neben dem Gebots-Eingabefeld */
.dmc-mp-bid-currency {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	font-weight: 700;
	color: var(--dmc-muted);
}

/* 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 Bunker-Net-Stil (Dark/Cyan) ---- */
.dmc-mp-quill { background: rgba(7,11,14,.6); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid var(--dmc-border, rgba(110,200,210,.13)); border-radius: 12px; overflow: hidden; }
.dmc-mp-quill .ql-toolbar.ql-snow { border: 0 !important; border-bottom: 1px solid var(--dmc-border, rgba(110,200,210,.13)) !important; background: var(--dmc-glass2, rgba(22,34,41,.70)); 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: var(--dmc-text, #d6e4e8); line-height: 1.6; }
.dmc-mp-quill .ql-editor.ql-blank::before { color: var(--dmc-muted, #7e949c); font-style: normal; }
.dmc-mp-quill .ql-editor a { color: var(--dmc-accent, #22d3ee); }
.dmc-mp-quill .ql-editor blockquote { border-left: 3px solid var(--dmc-accent, #22d3ee); color: var(--dmc-muted, #7e949c); }
/* 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: var(--dmc-accent, #22d3ee); }
.dmc-mp-quill .ql-snow.ql-toolbar button:hover .ql-fill,
.dmc-mp-quill .ql-snow.ql-toolbar button.ql-active .ql-fill { fill: var(--dmc-accent, #22d3ee); }
.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: var(--dmc-accent, #22d3ee); }
.dmc-mp-quill .ql-snow .ql-picker-options { background: var(--dmc-glass2, rgba(22,34,41,.70)); border-color: var(--dmc-border, rgba(110,200,210,.13)) !important; }
/* Link-Tooltip */
.ql-snow .ql-tooltip { background: #0a1116 !important; border-color: rgba(110,200,210,.26) !important; color: #d6e4e8 !important; box-shadow: 0 8px 24px rgba(0,0,0,.5) !important; }
.ql-snow .ql-tooltip input[type=text] { background: rgba(7,11,14,.6); border: 1px solid rgba(110,200,210,.26); color: #d6e4e8; }
.ql-snow .ql-tooltip a.ql-action, .ql-snow .ql-tooltip a.ql-remove, .ql-snow .ql-tooltip a.ql-preview { color: #22d3ee; }
/* ---- 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(4px); backdrop-filter: blur(4px); }
.dmc-confirm { width: 100%; max-width: 420px; background: var(--dmc-glass2, rgba(22,34,41,.70)); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid rgba(110,200,210,.26); border-radius: 16px; box-shadow: 0 18px 50px rgba(0,0,0,.55), 0 0 26px rgba(34,211,238,.12); padding: 20px; }
.dmc-confirm-title { font-family: 'Chakra Petch', sans-serif; font-size: 16px; font-weight: 700; letter-spacing: .03em; 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, #fb7185) !important; border-color: var(--dmc-red, #fb7185) !important; color: #200505 !important; }

/* ======================================================== *
 *  Responsive (Mobile) - nur Ueberschreibungen, kein Desktop-Eingriff
 * ======================================================== */
@media (max-width: 600px) {
	/* Toolbar/Filter/Suche umbrechen, Suche full-width */
	.dmc-mp-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.dmc-mp-filters {
		display: flex;
		flex-wrap: wrap;
	}

	.dmc-mp-filter {
		flex: 1 1 auto;
		min-height: 40px;
	}

	.dmc-mp-search {
		flex: 1 1 100%;
		min-width: 0;
		width: 100%;
	}

	/* Karten-Grid: eine Spalte (bzw. min 220px) */
	.dmc-mp-grid {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	}

	/* Galerie/Thumbs duerfen nicht ueberlaufen */
	.dmc-mp-gallery-main img,
	.dmc-mp-no-image {
		max-width: 100%;
	}

	.dmc-mp-gallery-thumb {
		width: 56px;
		height: 56px;
	}

	/* Bid-Box-Eingabe + Button stapeln, full-width */
	.dmc-mp-bid-row {
		flex-direction: column;
		align-items: stretch;
	}

	.dmc-mp-bid-row .dmc-btn {
		width: 100%;
	}

	/* Sidebar-/Bid-Box-Buttons full-width */
	.dmc-mp-bidbox .dmc-btn,
	.dmc-mp-sidebar .dmc-btn,
	.dmc-mp-delete-wrap .dmc-btn {
		width: 100%;
	}

	/* Formular full-width */
	.dmc-mp-form {
		max-width: none;
	}

	/* Verkaeufer-Zeile umbrechen, lange Namen brechen */
	.dmc-mp-seller {
		flex-wrap: wrap;
	}

	.dmc-mp-seller-name {
		word-break: break-word;
	}

	/* Typ-Umschalter darf umbrechen */
	.dmc-mp-typeswitch {
		flex-wrap: wrap;
	}

	.dmc-mp-typeswitch .dmc-btn {
		flex: 1 1 auto;
	}

	/* Quill-Editor mobil nutzbar: Toolbar umbrechen */
	.dmc-mp-quill .ql-toolbar.ql-snow {
		display: flex;
		flex-wrap: wrap;
		row-gap: 4px;
	}

	/* eigene Editor-Toolbar bricht ebenfalls um (ist bereits flex-wrap, hier abgesichert) */
	.dmc-mp-editor-toolbar {
		flex-wrap: wrap;
	}

	/* Pager darf umbrechen */
	.dmc-mp-pager {
		flex-wrap: wrap;
	}

	/* Bestaetigungs-Dialog: volle Breite, gestapelte full-width Buttons */
	.dmc-confirm {
		max-width: 100%;
	}

	.dmc-confirm-actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.dmc-confirm-actions .dmc-btn {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 420px) {
	/* sehr schmal: Karten einspaltig */
	.dmc-mp-grid {
		grid-template-columns: 1fr;
	}

	.dmc-mp-loginwall {
		padding: 24px 14px;
	}

	.dmc-confirm-overlay {
		padding: 12px;
	}
}
/* Verbleibende Zeit auf Browse-Karten (Auktionen). */
.dmc-mp-card-time { margin-top: 8px; font-size: 12.5px; font-weight: 700; font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .02em; color: var(--dmc-muted, #9aa7b4); }
.dmc-mp-card-time.is-ending { color: var(--dmc-red, #fb7185); }