/* All rules are scoped to the opt-in local component. */
.om-configurator { max-width: 60em; padding: clamp(1em, 4vw, 2em); margin: 1em auto; border: 1px solid #cbd5df; border-radius: .75em; color: #142b3b; background: #fff; font: 16px/1.5 system-ui, sans-serif; }
.om-configurator, .om-configurator * { box-sizing: border-box; }
.om-configurator h2 { margin: 0 0 1em; font-size: 1.5em; }
.om-configurator .om-configurator__notice { padding: .75em 1em; background: #fff3da; border-left: .25em solid #986000; }
.om-configurator .om-configurator__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13em), 1fr)); gap: 1em; margin: 1em 0; }
.om-configurator .om-configurator__field { display: flex; flex-direction: column; gap: .3em; }
.om-configurator label { font-weight: 650; }
.om-configurator :is(input, select) { width: 100%; padding: .7em; border: 1px solid #667887; border-radius: .25em; font: inherit; color: inherit; background: white; }
.om-configurator input[aria-invalid="true"] { border: 2px solid #ad1924; }
.om-configurator .om-configurator__error { color: #ad1924; font-size: .9em; }
.om-configurator small { color: #465c6b; }
.om-configurator button { padding: .75em 1.2em; border: 0; border-radius: .3em; font: inherit; font-weight: 650; color: white; background: #146eaa; cursor: pointer; }
.om-configurator button:hover { background: #105783; }
.om-configurator button:disabled { background: #e5ebef; color: #465c6b; cursor: not-allowed; }
.om-configurator .om-configurator__tabs { display: flex; flex-wrap: wrap; gap: .5em; margin: 1em 0; }
.om-configurator .om-configurator__tabs button { background: #e5ebef; color: #142b3b; }
.om-configurator .om-configurator__tabs button[aria-pressed="true"] { background: #146eaa; color: #fff; }
.om-configurator.om-configurator--pilot { max-width: 100%; }
.om-configurator--pilot > div > .om-configurator { margin: 1em 0; }
.om-configurator details { margin: 1em 0; }
.om-configurator summary { cursor: pointer; text-decoration: underline; }
.om-configurator :is(input, select, button, summary):focus-visible { outline: 3px solid #be6500; outline-offset: 3px; }
.om-configurator .om-configurator__result { margin-top: 1.25em; font-weight: 650; }
.om-configurator .om-configurator__data { overflow: auto; max-height: 28em; padding: 1em; background: #f2f6f8; font: .82em/1.6 ui-monospace, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.om-configurator .om-configurator__cart-link { display: inline-block; margin: 0 1em 1em 0; padding: .7em 0; font-weight: 650; }
.om-configurator .om-configurator__status { margin: 1em 0 .25em; overflow-wrap: anywhere; }
.om-configurator .om-configurator__status[data-state="success"] { color: #246731; }
.om-configurator .om-configurator__status[data-state="error"], .om-configurator .om-configurator__status[data-state="unknown"] { color: #ad1924; }
.om-configurator [hidden] { display: none !important; }
.om-configurator--pilot { scroll-margin-top: 120px; }
