/*
 * Unikat Filament Manager — Frontend (Kundensicht)
 * DEPLOY-MARKER: public/ufm-frontend.css v1.5.0 (2026-06-01)
 * Mobile-first (Maßstab: Galaxy S25 Ultra). Theme-überschreibbar via .ufm-*.
 */

.ufm-woo-picker { margin: 18px 0; }

.ufm-zone { margin-bottom: 22px; }
.ufm-zone__head {
	display: flex; align-items: center; justify-content: space-between;
	gap: 10px; margin-bottom: 10px;
}
.ufm-zone__title { font-weight: 700; font-size: 1.02em; }
.ufm-zone__req { color: #d63638; margin-left: 2px; }
.ufm-zone__chosen {
	font-size: .85em; color: #555;
	background: #f4f4f5; border-radius: 999px; padding: 2px 12px;
	white-space: nowrap;
}
.ufm-zone__chosen.is-empty { color: #999; }

/* Swatch-Grid: große, klickbare Karten */
.ufm-swatches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
	gap: 10px;
}
@media (min-width: 600px) {
	.ufm-swatches { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); }
}

.ufm-swatch-card {
	position: relative;
	border: 2px solid #e3e3e6;
	border-radius: 14px;
	padding: 10px 8px 8px;
	text-align: center;
	cursor: pointer;
	background: #fff;
	transition: border-color .15s ease, transform .12s ease, box-shadow .15s ease;
	user-select: none;
}
.ufm-swatch-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.ufm-swatch-card .ufm-swatch { width: 56px; height: 56px; margin: 0 auto 8px; }
.ufm-swatch-card__name { font-size: .82em; font-weight: 600; line-height: 1.2; }
.ufm-swatch-card__meta { font-size: .72em; color: #777; margin-top: 2px; }
.ufm-swatch-card__sur { display:block; font-size: .72em; color: #8a5a00; margin-top: 4px; }

/* Ausgewählter Zustand */
.ufm-swatch-card.is-selected {
	border-color: #111;
	box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}
.ufm-swatch-card.is-selected::after {
	content: "✓";
	position: absolute; top: 6px; right: 8px;
	width: 20px; height: 20px; line-height: 20px;
	background: #111; color: #fff; border-radius: 50%;
	font-size: 12px; text-align: center;
}

/* verstecktes echtes Radio (Zugänglichkeit + Fallback ohne JS) */
.ufm-swatch-card input[type="radio"] {
	position: absolute; opacity: 0; pointer-events: none;
}

/* optionales Zonen-Bild */
.ufm-zone__image {
	width: 100%; max-width: 360px; border-radius: 12px;
	margin: 0 0 12px; display: block;
}

/* Auswahl-Zusammenfassung */
.ufm-summary {
	margin-top: 14px; padding: 12px 14px;
	background: #fafafa; border: 1px solid #ececef; border-radius: 12px;
}
.ufm-summary__title { font-weight: 700; font-size: .9em; margin-bottom: 8px; }
.ufm-summary__row {
	display: flex; justify-content: space-between; gap: 10px;
	font-size: .88em; padding: 3px 0;
}
.ufm-summary__row .ufm-summary__zone { color: #555; }
.ufm-summary__row .ufm-summary__val { font-weight: 600; }
.ufm-summary__total {
	display: flex; justify-content: space-between;
	margin-top: 8px; padding-top: 8px; border-top: 1px dashed #d8d8dc;
	font-weight: 700;
}
.ufm-summary__total.is-zero { display: none; }
