.scp-configurator {
	--scp-accent: var(--wp--preset--color--primary, #315b45);
	--scp-border: #c9cecb;
	--scp-error: #a02222;
	--scp-radius: 4px;
	display: block;
}
.scp-configurator .scp-dimensions { display: grid; gap: 1rem; }
.scp-configurator .scp-field { display: flex; flex-direction: column; gap: .3rem; }
.scp-configurator input[type="text"], .scp-configurator select { width: 100%; max-width: 100%; padding: .65rem; border: 1px solid var(--scp-border); border-radius: var(--scp-radius); font: inherit; color: inherit; background: transparent; }
.scp-configurator .scp-group { margin: 1.2rem 0; padding: .8rem; min-width: 0; border: 1px solid var(--scp-border); border-radius: var(--scp-radius); }
.scp-configurator legend, .scp-configurator .scp-field > label { font-weight: 600; }
.scp-configurator .scp-choice { display: inline-flex; align-items: center; gap: .5rem; margin: .3rem .6rem .3rem 0; cursor: pointer; }
.scp-configurator .scp-choice-content { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .6rem; border: 2px solid var(--scp-border); border-radius: var(--scp-radius); }
.scp-configurator input:checked + .scp-choice-content { border-color: var(--scp-accent); }
.scp-configurator input:focus-visible + .scp-choice-content, .scp-configurator input:focus-visible, .scp-configurator select:focus-visible { outline: 2px solid var(--scp-accent); outline-offset: 3px; }
.scp-configurator .scp-color { width: 1.5rem; height: 1.5rem; border: 1px solid var(--scp-border); border-radius: 50%; flex-shrink: 0; }
.scp-configurator .scp-option-image { width: 2.5rem; height: 2.5rem; object-fit: contain; }
.scp-configurator .scp-error { display: block; color: var(--scp-error); font-size: .9em; }
.scp-configurator [aria-invalid="true"] { border-color: var(--scp-error); }
.scp-configurator .scp-live-price { margin-top: 1.2rem; }
.scp-configurator .scp-price { display: block; font-size: 1.2em; font-weight: 600; }
.scp-configurator button:disabled { opacity: .5; cursor: not-allowed; }
@media (min-width: 40rem) { .scp-configurator .scp-dimensions { grid-template-columns: 1fr 1fr; } }
.scp-configurator .single_add_to_cart_button { padding: .7rem 1rem; border: 1px solid var(--scp-accent); border-radius: var(--scp-radius); background: var(--scp-accent); color: var(--scp-button-text, #fff); font: inherit; cursor: pointer; }
.scp-configurator .single_add_to_cart_button:focus-visible { outline: 2px solid var(--scp-accent); outline-offset: 3px; }
