/* Sey Commerce — variation swatches (product pages, cards). Colors come from the theme's tokens when present. */
.sey-swatch-field { position: relative; }
.sey-swatch-field.is-ready > select {
	position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important;
	padding: 0 !important; margin: 0 !important; border: 0 !important; opacity: 0; pointer-events: none; overflow: hidden;
}
.sey-swatches { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sey-swatch {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 40px;
	padding: 0 14px; border: 1px solid var(--c-line, #d9d9d9); border-radius: var(--r-sm, 8px);
	background: var(--c-white, #fff); color: var(--c-ink, #111); font: inherit; font-size: 14px; font-weight: 500; line-height: 1;
	cursor: pointer; transition: border-color .15s, box-shadow .15s, opacity .15s;
}
.sey-swatch:hover { border-color: var(--c-ink, #111); }
.sey-swatch:focus-visible { outline: 2px solid var(--c-ink, #111); outline-offset: 2px; }
.sey-swatch.is-selected { border-color: var(--c-ink, #111); box-shadow: inset 0 0 0 1px var(--c-ink, #111); }
.sey-swatch.is-disabled { opacity: .4; text-decoration: line-through; }

.sey-swatch--color { min-width: 0; width: 36px; height: 36px; min-height: 0; padding: 3px; border-radius: 50%; }
.sey-swatch--color.is-selected { box-shadow: 0 0 0 1px var(--c-ink, #111); }
.sey-swatch__dot {
	display: block; width: 100%; height: 100%; border-radius: 50%;
	background: var(--sey-swatch, #e2e2e2); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
}
.sey-swatch--color.is-disabled { text-decoration: none; }
.sey-swatch--color.is-disabled .sey-swatch__dot {
	background: linear-gradient(to top right, transparent calc(50% - 1px), rgba(0, 0, 0, .55) 50%, transparent calc(50% + 1px)), var(--sey-swatch, #e2e2e2);
}
.sey-swatches__current { display: block; margin-top: 6px; font-size: 13px; color: var(--c-muted, #666); min-height: 1em; }

/* Product cards */
.sey-card-swatches { position: relative; z-index: 3; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 0 4px; padding: 0; list-style: none; }
.sey-card-swatches li { margin: 0; padding: 0; line-height: 1; }
.sey-card-swatch {
	display: block; width: 16px; height: 16px; border-radius: 50%;
	background: var(--sey-swatch, #e2e2e2); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);
	transition: transform .15s;
}
.sey-card-swatch:hover, .sey-card-swatch:focus-visible { transform: scale(1.2); }
.sey-card-swatches__more { font-size: 12px; color: var(--c-muted, #666); }

.sey-swatch-field .screen-reader-text, .sey-card-swatches .screen-reader-text, .sey-swatch .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) { .sey-swatch, .sey-card-swatch { transition: none; } }
