/* EFS Konfigurator – kafelki wariantów. Kolor wiodący: --efs-accent na .efs-sw lub wyżej. */
.variations select.efs-sw-select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.efs-sw { --efs-accent: #13406b; display: flex; flex-wrap: wrap; gap: .5em; margin: .25em 0 .5em; }
.efs-sw .efs-sw-item {
	display: inline-flex; flex-direction: column; align-items: center; gap: .3em;
	min-width: 3.2em; padding: .45em .8em; cursor: pointer;
	background: #fff; color: #1d2327; border: 1px solid #d5d9de; border-radius: 6px;
	font-size: .9em; line-height: 1.25; text-transform: none; letter-spacing: normal; user-select: none;
}
.efs-sw .efs-sw-item.has-img { padding: .35em; width: 5.5em; }
.efs-sw .efs-sw-item img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; display: block; margin: 0; }
.efs-sw .efs-sw-item.has-img .efs-sw-label { font-size: .85em; text-align: center; }
.efs-sw .efs-sw-item:hover:not(.is-disabled) { border-color: var(--efs-accent); }
.efs-sw .efs-sw-item:focus-visible { outline: 2px solid var(--efs-accent); outline-offset: 2px; }
.efs-sw .efs-sw-item.is-on { border-color: var(--efs-accent); box-shadow: inset 0 0 0 1px var(--efs-accent); font-weight: 600; }
.efs-sw .efs-sw-item.is-disabled { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
