/* Sahla Product Intake — storefront fallback (only when Store Manager is absent) */
.spi-fields { margin: 0 0 18px; display: grid; gap: 14px; }
.spi-group { display: block; }
.spi-title { display: block; font-weight: 700; font-size: 14px; margin-bottom: 8px; }
.spi-title b { color: #d33; font-weight: 700; }
.spi-radio { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.spi-pills, .spi-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.spi-pill, .spi-swatch {
	display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 16px;
	border: 1.5px solid #d8dadd; border-radius: 999px; background: #fff; cursor: pointer;
	font-size: 14px; line-height: 1; user-select: none; transition: border-color .15s, background .15s;
}
.spi-radio:checked + .spi-pill, .spi-radio:checked + .spi-swatch { border-color: #111827; background: #111827; color: #fff; }
.spi-radio:focus-visible + .spi-pill, .spi-radio:focus-visible + .spi-swatch { outline: 2px solid #2563eb; outline-offset: 2px; }
.spi-dot { width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); flex: 0 0 auto; }
.spi-measures { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.spi-measure label { display: block; font-size: 13px; margin-bottom: 4px; color: #374151; }
.spi-measure input { width: 100%; min-height: 42px; border: 1.5px solid #d8dadd; border-radius: 10px; padding: 0 12px; font-size: 15px; }
