.nct-configurator{--nct-border:#e5e9f0; margin:24px 0!important; padding:0!important; background:#fff!important; color:#18243b!important; border:1px solid var(--nct-border);border-radius:18px;box-shadow:0 12px 36px #172c4810; overflow:visible;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.nct-configurator .nct-config-head{padding:30px 28px 20px;border-bottom:1px solid var(--nct-border)}
.nct-configurator h2{font-size:27px!important;line-height:1.3!important;letter-spacing:-.7px;margin:8px 0 10px!important;color:#17243b!important}
.nct-configurator .nct-config-head p{color:#66748b;margin:0;line-height:1.65;font-size:14px}
.nct-configurator .nct-config-steps{display:flex;gap:10px;align-items:center;overflow-x:auto;white-space:nowrap;padding:16px 28px;border-bottom:1px solid var(--nct-border)}
.nct-configurator .nct-config-step{flex:0 0 auto;padding:10px 14px;border:1px solid #e7ecf4;background:#f8fafd;color:#44526b;border-radius:9px;font-size:12px;cursor:pointer}
.nct-configurator .nct-config-step:hover,.nct-configurator .nct-config-step:focus-visible{border-color:#6186dd;color:#254b9e;background:#edf3ff}
.nct-configurator .nct-config-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,31%);gap:24px;padding:24px;align-items:start}
.nct-configurator .nct-config-sections{display:grid;gap:22px;min-width:0}
.nct-configurator .nct-config-section{border:1px solid var(--nct-border);border-radius:12px;background:#fff;min-width:0;scroll-margin-top:24px}
.nct-configurator .nct-config-section>header{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #edf0f5;background:#fbfcfe;border-radius:12px 12px 0 0}
.nct-configurator .nct-config-number{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border:1px solid #dbe5f9;border-radius:8px;background:#eef3fd;color:#3766b2;font-size:12px;font-weight:700}
.nct-configurator h3{display:flex;align-items:center;gap:10px;margin:0!important;font-size:15px!important;line-height:1.5!important;font-weight:650;color:#1c2d46!important}
.nct-configurator h3 svg{width:18px;height:18px;flex:0 0 auto;color:#7c8daa}
.nct-configurator .nct-config-fields{display:grid;gap:20px;padding:20px;min-width:0}
.nct-configurator .nct-config-field{min-width:0;padding:0;margin:0;display:grid;gap:10px}
.nct-configurator .nct-config-field>.form-group{margin:0!important;float:none!important;width:100%!important;max-width:100%;padding:0!important}
.nct-configurator .nct-config-field label{display:block;margin:0 0 9px;font-size:13px;line-height:1.5;font-weight:600;color:#41516b}
.nct-configurator .nct-config-field .radio,.nct-configurator .nct-config-field .checkbox{padding:9px 12px;border:1px solid #e8edf4;border-radius:8px;margin:8px 0}
.nct-configurator .nct-config-field input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.nct-configurator .nct-config-field textarea,.nct-configurator .nct-config-field select{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #dbe2ec;border-radius:8px;background:#fff;color:#24344b;font:inherit;font-size:14px;box-shadow:none}
.nct-configurator .nct-config-field input[type=radio],.nct-configurator .nct-config-field input[type=checkbox]{margin-inline-end:9px;accent-color:#315fb9}
.nct-configurator .nct-config-summary{position:sticky;top:24px;min-width:0;border:1px solid #dce5f3;background:#f7faff;border-radius:12px;padding:20px;display:grid;gap:20px}
.nct-configurator #orderSummary{position:static!important;width:auto!important;max-width:100%;margin:0!important;box-shadow:none!important}
.nct-configurator [data-config-selections]{display:grid;gap:14px;border-top:1px solid #e1e7f1;padding-top:16px;min-width:0}
.nct-configurator [data-config-selections] p{margin:0!important;display:grid;gap:5px;font-size:12px;overflow-wrap:anywhere}
.nct-configurator [data-config-selections] strong{color:#6c7a91;font-weight:500}
.nct-configurator [data-config-selections] span{color:#263c5c;font-weight:600;line-height:1.5}
.nct-configurator .nct-config-submit:empty{display:none}.nct-configurator .nct-config-submit>*{width:100%;justify-content:center;margin:0!important;white-space:normal}
.nct-configurator .nct-checkout{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;min-width:0}.nct-configurator .nct-checkout-head{padding:0!important}.nct-configurator .nct-checkout-head h3{font-size:14px!important}
.nct-configurator .nct-select{display:block;width:100%;min-width:0}.nct-configurator .nct-select-trigger{width:100%;min-height:46px}
@media(max-width:900px){.nct-configurator .nct-config-layout{grid-template-columns:1fr}.nct-configurator .nct-config-summary{position:static}.nct-configurator [data-config-selections]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.nct-configurator .nct-config-head{padding:22px 18px}.nct-configurator .nct-config-steps{padding:14px 18px}.nct-configurator .nct-config-layout{padding:14px;gap:18px}.nct-configurator .nct-config-fields{padding:16px}.nct-configurator .nct-config-section>header{padding:16px}.nct-configurator [data-config-selections]{grid-template-columns:1fr}}

.nct-configurator .nct-config-jump{display:none}.nct-configurator .nct-config-steps{overflow:visible}
@media(max-width:1100px){.nct-configurator .nct-config-steps{display:none}.nct-configurator .nct-config-jump{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--nct-border);margin:0}.nct-configurator .nct-config-jump>span{flex:none;font-weight:650;font-size:13px}.nct-configurator .nct-config-jump .nct-select{flex:1;min-width:0}.nct-configurator .nct-config-jump select{max-width:100%}}
.nct-configurator{container-type:inline-size}
@container(max-width:1000px){.nct-configurator .nct-config-steps{display:none}.nct-configurator .nct-config-jump{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--nct-border);margin:0}.nct-configurator .nct-config-jump>span{flex:none;font-weight:650;font-size:13px}.nct-configurator .nct-config-jump .nct-select{flex:1;min-width:0}.nct-configurator .nct-config-jump select{max-width:100%}}

/* Scope all spacing to the module middle; the theme sidebar keeps its own design. */
.nct-configurator[data-layout=middle] .nct-config-layout{display:block!important;padding:24px!important}
.nct-configurator .nct-config-sections{display:grid!important;gap:24px!important}
.nct-configurator .nct-config-fields{display:grid!important;gap:24px!important;padding:22px!important}
.nct-configurator .nct-config-field{margin:0!important;min-width:0!important;float:none!important;width:100%!important}
.nct-configurator .nct-config-field>.form-group{display:grid!important;gap:10px!important;margin:0!important}
.nct-configurator .nct-config-field label{margin:0!important;line-height:1.55!important}
.nct-configurator .nct-config-field .form-group>label:has(input[type=radio]){padding:12px 14px!important;border:1px solid #e5e9f0;border-radius:10px}
.nct-configurator .nct-config-submit{display:flex;gap:16px;padding:0 24px 24px}
.nct-configurator .nct-config-submit>*{min-height:46px}
.nct-configurator .nct-checkout-footer{display:flex!important;flex-wrap:wrap;gap:18px!important;padding-top:20px!important;margin-top:20px!important}
.nct-configurator .nct-config-description{margin:18px 0 0!important;padding:16px 0 0!important;border-top:1px solid #edf0f5;font-size:14px;line-height:1.7}
.nct-configurator .nct-select .nrd-ps{display:contents!important}
.nct-configurator .nct-select .nrd-ps-field,.nct-configurator .nct-select .nrd-ps-menu,.nct-configurator .nct-select .select2-container,.nct-configurator .nct-select .chosen-container{display:none!important}
[data-nct-replaced][hidden]{display:none!important}
.nct-configurator [data-native-summary]>.order-summary{position:static!important;width:100%!important;margin:0!important;max-height:none!important}
.nct-configurator [data-native-summary] .summary-container{overflow:visible!important;max-height:none!important}
@media(max-width:600px){.nct-configurator[data-layout=middle] .nct-config-layout{padding:14px!important}.nct-configurator .nct-config-fields{padding:18px!important;gap:22px!important}.nct-configurator .nct-config-submit{padding:0 14px 18px}}

/* A theme may initialize its select enhancer before or after ours. */
.nct-configurator .nrd-ps:has(.nct-select){display:contents!important}
.nct-configurator .nrd-ps:has(.nct-select)>.nrd-ps-field,.nct-configurator .nrd-ps:has(.nct-select)>.nrd-ps-menu{display:none!important}
.nct-configurator .form-group:has(.nct-select)>.select2-container,.nct-configurator .form-group:has(.nct-select)>.chosen-container{display:none!important}
