/* NEXGEN DESIGNER DARK THEME — 2026-10-06 v1
   Applies only to the private 3D designer release. */
:root{
  --nx-dark-bg:#050505;
  --nx-dark-shell:#08090b;
  --nx-dark-panel:#0d0f12;
  --nx-dark-panel-2:#121519;
  --nx-dark-panel-3:#171b20;
  --nx-dark-line:#252a30;
  --nx-dark-line-2:#313840;
  --nx-dark-text:#f6f7f8;
  --nx-dark-muted:#9aa3ab;
  --nx-dark-soft:#707981;
  --nx-pink:#ff2d8f;
  --nx-pink-strong:#f01878;
  --nx-pink-soft:#35101f;
  --nx-success:#2fd28a;
}

html,body{
  background:var(--nx-dark-bg)!important;
  color-scheme:dark;
}

.ng3d-reference{
  --nx-pink-ui:var(--nx-pink)!important;
  background:
    radial-gradient(circle at 18% -8%,rgba(255,45,143,.08),transparent 28%),
    #050505!important;
  color:var(--nx-dark-text)!important;
}

.ng3d-reference-layout{
  color:var(--nx-dark-text)!important;
}

.ng3d-reference-topbar{
  background:linear-gradient(180deg,#0a0b0d,#050607)!important;
  border-color:#24282d!important;
  border-top-color:var(--nx-pink)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.38)!important;
}
.ng3d-reference-topbar:after{
  background:linear-gradient(90deg,var(--nx-pink),rgba(255,45,143,.28) 45%,transparent)!important;
}
.ng3d-brand-lockup small{
  border-left-color:#353a40!important;
  color:#a6afb6!important;
}

/* Main viewer shell */
.ng3d-reference-stage-card{
  background:#080a0c!important;
  border-color:#262b30!important;
  box-shadow:0 18px 44px rgba(0,0,0,.46)!important;
}
.ng3d-reference-stage-card .ng3d-stage-top{
  background:linear-gradient(180deg,#111419,#0b0d10)!important;
  border-bottom-color:#252a30!important;
  color:var(--nx-dark-text)!important;
}
.ng3d-reference-stage-card .ng3d-stage-top small{
  color:#7f8991!important;
}
.ng3d-reference-stage-card .ng3d-stage-top strong{
  color:#f6f7f8!important;
}
.ng3d-stage-colour b{color:#e9edf0!important}
.ng3d-stage-colour em{color:#717b83!important}

.ng3d-reference-stage-card .ng3d-view-actions button,
.ng3d-reference-stage-card #ng3dResetView{
  background:#14181c!important;
  border-color:#343b42!important;
  color:#cbd2d8!important;
  box-shadow:none!important;
}
.ng3d-reference-stage-card .ng3d-view-actions button:hover,
.ng3d-reference-stage-card #ng3dResetView:hover{
  background:#1c1117!important;
  border-color:var(--nx-pink)!important;
  color:#fff!important;
}
.ng3d-camera-presets{
  border-color:#343b42!important;
}
.ng3d-camera-presets button{
  border-right-color:#343b42!important;
}
.ng3d-reference-stage-card .ng3d-view-actions label{
  color:#939da5!important;
}
.ng3d-reference input[type="range"]{
  accent-color:var(--nx-pink)!important;
}

.ng3d-reference .ng3d-stage{
  background:
    radial-gradient(circle at 50% 40%,#252b31 0,#15191e 42%,#0b0d10 74%,#070809 100%)!important;
}
.ng3d-reference .ng3d-stage:before{
  opacity:.24!important;
}
.ng3d-reference .ng3d-floor{
  border-top-color:#394048!important;
  background:
    repeating-linear-gradient(90deg,#51596126 0 1px,transparent 1px 52px),
    repeating-linear-gradient(0deg,#51596126 0 1px,transparent 1px 52px)!important;
  opacity:.62!important;
}
.ng3d-reference .ng3d-stage-glow{
  background:radial-gradient(ellipse,rgba(255,45,143,.12),transparent 70%)!important;
}
.ng3d-stage-measures .ng3d-dimension span{
  background:#111419!important;
  color:#dce1e5!important;
  border-color:#3b434a!important;
  box-shadow:0 3px 12px rgba(0,0,0,.35)!important;
}
.ng3d-stage-measures .ng3d-dimension,
.ng3d-orientation-label{
  color:#7f8992!important;
}
.ng3d-drag-hint{
  background:rgba(7,8,10,.9)!important;
  border-color:#2d343a!important;
  color:#909aa2!important;
}
.ng3d-focus-chip,
.ng3d-stage.ng3d-catalog-preview .ng3d-focus-chip{
  background:rgba(12,14,17,.95)!important;
  border-color:#343b42!important;
  color:#f4f6f7!important;
  box-shadow:0 10px 26px rgba(0,0,0,.35)!important;
}
.ng3d-focus-chip small{color:var(--nx-pink)!important}
.ng3d-focus-chip b{color:#fff!important}
.ng3d-focus-chip span{color:#8f99a1!important}

/* Viewer footer */
.ng3d-viewer-footer{
  background:#090b0d!important;
  border-top-color:#252a30!important;
}
.ng3d-viewer-spec,
.ng3d-viewer-price{
  border-right-color:#252a30!important;
}
.ng3d-viewer-spec span,
.ng3d-viewer-price span{
  color:#707a83!important;
}
.ng3d-viewer-spec b{
  color:#e9edf0!important;
}
.ng3d-reference .ng3d-viewer-price b{
  color:var(--nx-pink)!important;
}

/* Right configuration rail */
.ng3d-reference-wizard{
  background:#090b0d!important;
  border-color:#262b30!important;
  color:var(--nx-dark-text)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.44)!important;
}
.ng3d-wizard-header{
  background:#0b0d10!important;
  border-bottom-color:#252a30!important;
}
.ng3d-wizard-progress>button{
  color:#6f7880!important;
}
.ng3d-wizard-progress>button i{
  background:#181c21!important;
  color:#838d95!important;
  border:1px solid #2e353b!important;
}
.ng3d-wizard-progress>button.active,
.ng3d-wizard-progress>button[aria-current="step"]{
  color:var(--nx-pink)!important;
}
.ng3d-wizard-progress>button.active i,
.ng3d-wizard-progress>button[aria-current="step"] i{
  background:var(--nx-pink)!important;
  border-color:var(--nx-pink)!important;
  color:#fff!important;
  box-shadow:0 0 0 4px rgba(255,45,143,.10)!important;
}
.ng3d-wizard-progress>button.done i{
  background:#2c101d!important;
  color:#ff72b1!important;
  border-color:#5d1838!important;
}
.ng3d-wizard-progress>em{
  background:#2a3036!important;
}
.ng3d-wizard-progress>button.done+em,
.ng3d-wizard-progress>button[aria-current="step"]+em{
  background:linear-gradient(90deg,var(--nx-pink),#742348)!important;
}

.ng3d-wizard-scroll{
  scrollbar-color:#353c43 #0b0d10;
}
.ng3d-wizard-scroll::-webkit-scrollbar{width:10px}
.ng3d-wizard-scroll::-webkit-scrollbar-track{background:#0b0d10}
.ng3d-wizard-scroll::-webkit-scrollbar-thumb{background:#353c43;border:3px solid #0b0d10;border-radius:999px}

.ng3d-wizard-title small{
  color:var(--nx-pink)!important;
}
.ng3d-reference .ng3d-wizard-title h1{
  color:#fff!important;
}
.ng3d-wizard-title p{
  color:#8f99a1!important;
}
.ng3d-config-section{
  border-top-color:#252a30!important;
}
.ng3d-config-section h2,
.ng3d-addon-head h2,
.ng3d-contact-head h2{
  color:#f2f4f5!important;
}
.ng3d-config-label{
  color:#8a949c!important;
}

/* Dimension summary */
.ng3d-dimension-cards>div{
  background:#111419!important;
  border-color:#2b3137!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.ng3d-dimension-cards b{
  color:#fff!important;
}
.ng3d-dimension-cards span{
  color:#6f7981!important;
}

/* Segmented base selectors */
.ng3d-reference .ng3d-reference-segment{
  background:transparent!important;
  border:0!important;
  gap:8px!important;
  padding:0!important;
}
.ng3d-reference .ng3d-reference-segment button{
  background:#111419!important;
  border:1px solid #2b3137!important;
  color:#c1c8ce!important;
  box-shadow:none!important;
}
.ng3d-reference .ng3d-reference-segment button:hover{
  background:#18131a!important;
  border-color:#813150!important;
  color:#fff!important;
}
.ng3d-reference .ng3d-reference-segment button.active{
  background:linear-gradient(180deg,#21111a,#171014)!important;
  border-color:var(--nx-pink)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.22)!important;
}
.ng3d-reference .ng3d-reference-segment button.active:before{
  background:var(--nx-pink)!important;
}
.ng3d-reference .ng3d-reference-segment button.active:after{
  background:var(--nx-pink)!important;
  color:#fff!important;
}
.ng3d-reference .ng3d-reference-segment button small,
.ng3d-reference .ng3d-reference-segment button.active small{
  color:#7f8991!important;
}

/* Colour choices */
.ng3d-reference .ng3d-reference-colors button{
  background:#101317!important;
  border-color:#292f35!important;
  color:#d6dce0!important;
}
.ng3d-reference .ng3d-reference-colors button:hover{
  background:#18131a!important;
  border-color:#80304f!important;
}
.ng3d-reference .ng3d-reference-colors button.active{
  background:#21111a!important;
  border-color:var(--nx-pink)!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.2)!important;
}
.ng3d-reference .ng3d-reference-colors button.active .ng3d-color-selected{
  background:var(--nx-pink)!important;
  color:#fff!important;
}
.ng3d-reference .ng3d-color-copy b,
.ng3d-reference .ng3d-reference-colors button.active .ng3d-color-copy b{
  color:#e9edf0!important;
}
.ng3d-reference .ng3d-color-copy small{
  color:#747e86!important;
}
.ng3d-reference .ng3d-color-panel{
  border-color:#3a4148!important;
  box-shadow:0 4px 10px rgba(0,0,0,.28)!important;
}

/* Wall choices and opening workflow */
.ng3d-reference .ng3d-reference-wall-tabs button{
  background:#111419!important;
  border-color:#2c3238!important;
  color:#abb4bb!important;
}
.ng3d-reference .ng3d-reference-wall-tabs button:hover{
  background:#171b20!important;
  border-color:#505860!important;
}
.ng3d-reference .ng3d-reference-wall-tabs button.active{
  background:#21111a!important;
  border-color:var(--nx-pink)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.18)!important;
}
.ng3d-reference .ng3d-reference-wall-tabs button>small{
  color:#6f7880!important;
}
.ng3d-wall-choice-icon,
.ng3d-reference .ng3d-reference-wall-tabs button.active .ng3d-wall-choice-icon{
  background:#181c20!important;
  border-color:#495159!important;
  box-shadow:none!important;
}

.ng3d-reference .ng3d-wall-target{
  background:#0f1215!important;
  border-color:#2c3339!important;
}
.ng3d-reference .ng3d-wall-target>span+span{
  border-left-color:#2c3339!important;
}
.ng3d-reference .ng3d-wall-target small{
  color:#68727a!important;
}
.ng3d-reference .ng3d-wall-target b{
  color:#e5e9ec!important;
}
.ng3d-reference .ng3d-wall-target-primary{
  background:#111419!important;
}
.ng3d-reference .ng3d-wall-target.previewing{
  border-color:var(--nx-pink)!important;
  box-shadow:inset 0 0 0 1px var(--nx-pink)!important;
}
.ng3d-reference .ng3d-wall-target.previewing .ng3d-wall-target-primary{
  background:#21111a!important;
}

.ng3d-addon-head p{
  color:#7f8991!important;
}
.ng3d-reference .ng3d-addon-live{
  background:#111419!important;
  border-color:#30363c!important;
  color:#dce1e5!important;
}
.ng3d-reference .ng3d-addon-live small{color:#747d85!important}
.ng3d-reference .ng3d-addon-live i{box-shadow:0 0 0 1px #596168!important}

.ng3d-add-opening{
  background:#111419!important;
  border-color:#31383e!important;
  color:#e7ebee!important;
}
.ng3d-add-opening:hover{
  background:#1a1218!important;
  border-color:var(--nx-pink)!important;
}
.ng3d-add-opening>span{
  background:var(--nx-pink)!important;
}
.ng3d-add-opening small,
.ng3d-clearance-note{
  color:#737d85!important;
}
.ng3d-openings-empty{
  background:#0f1215!important;
  border-color:#343a40!important;
  color:#7e8890!important;
}
.ng3d-added-opening-card{
  background:#0f1215!important;
  border-color:#2d343a!important;
}
.ng3d-added-opening-card>header{
  background:#121519!important;
  border-bottom-color:#2d343a!important;
}
.ng3d-added-opening-main,
.ng3d-added-opening-main:hover,
.ng3d-added-opening-main:focus-visible{
  background:#0f1215!important;
  color:#e2e6e9!important;
}
.ng3d-inline-position{
  background:#0b0e11!important;
  border-top-color:#2b3137!important;
}
.ng3d-added-opening.active{
  background:#1d1118!important;
  border-color:var(--nx-pink)!important;
}

/* Positioning + details */
.ng3d-reference .ng3d-placement-tools,
.ng3d-placement-block,
.ng3d-position-advanced,
.ng3d-position-advanced-body,
.ng3d-reference .ng3d-position-slider-block{
  background:#0f1215!important;
  border-color:#2d343a!important;
}
.ng3d-placement-product-card{
  background:#111419!important;
  border-color:#30363c!important;
}
.ng3d-reference .ng3d-selected-info b{
  color:#f1f3f5!important;
}
.ng3d-reference .ng3d-selected-info span,
.ng3d-reference .ng3d-placement-tip{
  color:#778189!important;
}
.ng3d-reference .ng3d-nudge button,
.ng3d-position-slider>b{
  background:#171b1f!important;
  border-color:#343b42!important;
  color:#cbd2d7!important;
}
.ng3d-reference .ng3d-nudge button:hover{
  background:#20131a!important;
  border-color:var(--nx-pink)!important;
  color:#fff!important;
}
.ng3d-position-advanced>summary{
  background:#121519!important;
  color:#dfe4e8!important;
}
.ng3d-reference .ng3d-placement-tip{
  background:#0d1013!important;
  border-color:#343b41!important;
}
.ng3d-precision-drawer,
.ng3d-placement-more,
.ng3d-review-layout-drawer,
.ng3d-design-tools-drawer{
  background:#0e1114!important;
  border-color:#2d343a!important;
  box-shadow:none!important;
}
.ng3d-precision-drawer>summary,
.ng3d-placement-more>summary,
.ng3d-review-layout-drawer>summary,
.ng3d-design-tools-drawer>summary{
  background:#111419!important;
  color:#dce1e5!important;
  border-color:#2d343a!important;
}
.ng3d-precision-drawer>summary:hover,
.ng3d-placement-more>summary:hover,
.ng3d-review-layout-drawer>summary:hover,
.ng3d-design-tools-drawer>summary:hover,
.ng3d-precision-drawer[open]>summary,
.ng3d-review-layout-drawer[open]>summary,
.ng3d-design-tools-drawer[open]>summary{
  background:#1b1218!important;
}
.ng3d-precision-body,
.ng3d-review-layout-body,
.ng3d-design-tools-body{
  background:#0a0d10!important;
}
.ng3d-precision-drawer>summary i,
.ng3d-review-layout-drawer>summary i,
.ng3d-design-tools-drawer>summary i{
  background:#28101b!important;
  color:#ff6eb0!important;
  border-color:#5c1a38!important;
}

/* Option chooser */
.ng3d-option-modal,
body>.ng3d-option-modal{
  background:rgba(0,0,0,.72)!important;
}
.ng3d-option-dialog,
body>.ng3d-option-modal .ng3d-option-dialog{
  background:#0b0e11!important;
  border-color:#30373d!important;
  color:#eff2f4!important;
  box-shadow:0 30px 90px rgba(0,0,0,.62)!important;
}
.ng3d-option-dialog-head{
  background:#0f1215!important;
  border-bottom-color:#2d343a!important;
}
.ng3d-option-dialog-head small{color:var(--nx-pink)!important}
.ng3d-option-dialog-head h2{color:#fff!important}
.ng3d-option-dialog-head p{color:#818b93!important}
.ng3d-option-close,
.ng3d-option-back{
  background:#171b1f!important;
  border-color:#353c42!important;
  color:#d4dbe0!important;
}
.ng3d-option-body,
body>.ng3d-option-modal .ng3d-option-body{
  background:#0b0e11!important;
}
.ng3d-option-footer,
body>.ng3d-option-modal .ng3d-option-footer,
.ng3d-option-dialog>footer{
  background:#0f1215!important;
  border-top-color:#2d343a!important;
}
.ng3d-option-footer>button,
.ng3d-option-dialog>footer>button{
  background:#171b1f!important;
  border-color:#353c42!important;
  color:#c8cfd4!important;
}
.ng3d-option-categories>button,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part{
  background:#111419!important;
  border-color:#2f363c!important;
  color:#dfe4e8!important;
}
.ng3d-option-categories>button:hover,
.ng3d-option-categories>button:focus-visible,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:hover,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:focus-visible{
  background:#191219!important;
  border-color:var(--nx-pink)!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.2)!important;
}
.ng3d-category-schematic,
.ng3d-option-schematic,
body>.ng3d-option-modal .ng3d-category-schematic{
  background:#171b1f!important;
  border-color:#30373d!important;
}
.ng3d-option-copy,
body>.ng3d-option-modal .ng3d-option-copy{
  background:#111419!important;
}
.ng3d-option-copy b,
.ng3d-option-copy strong{color:#f1f4f5!important}
.ng3d-option-copy small,
.ng3d-option-copy span{color:#7e8890!important}

/* Review, pricing, save/share */
.ng3d-reference .ng3d-ref,
.ng3d-reference .ng3d-base,
.ng3d-review-specs>span,
.ng3d-review-wall,
.ng3d-review-ready,
.ng3d-share-manager,
.ng3d-submitted-ref{
  background:#0f1215!important;
  border-color:#2d343a!important;
}
.ng3d-reference .ng3d-ref span,
.ng3d-reference .ng3d-base span,
.ng3d-reference .ng3d-empty,
.ng3d-reference .ng3d-sum-line,
.ng3d-review-specs small{
  color:#758088!important;
}
.ng3d-reference .ng3d-ref b,
.ng3d-reference .ng3d-viewer-price b{
  color:var(--nx-pink)!important;
}
.ng3d-reference .ng3d-base b,
.ng3d-reference .ng3d-sum-line b,
.ng3d-reference .ng3d-total strong,
.ng3d-review-specs b,
.ng3d-review-wall>header,
.ng3d-review-ready b{
  color:#edf1f3!important;
}
.ng3d-reference .ng3d-total,
.ng3d-reference .ng3d-mod-total{
  border-color:#2c3339!important;
}
.ng3d-review-price-head small{color:var(--nx-pink)!important}
.ng3d-review-price-head b{color:#e7ebee!important}
.ng3d-review-wall.has-items>header>span{
  background:#2a101c!important;
  color:#ff7bb7!important;
  border-color:#64203d!important;
}
.ng3d-reference .ng3d-copy-summary,
.ng3d-reference .ng3d-save,
.ng3d-review-edit,
.ng3d-review-contact-jump,
.ng3d-submitted-actions button{
  background:#121519!important;
  border-color:#343b42!important;
  color:#cbd2d7!important;
}
.ng3d-reference .ng3d-copy-summary:hover,
.ng3d-reference .ng3d-save:hover,
.ng3d-review-edit:hover,
.ng3d-review-contact-jump:hover,
.ng3d-submitted-actions button:hover{
  background:#21111a!important;
  border-color:var(--nx-pink)!important;
  color:#fff!important;
}
.ng3d-share-manager-head b{color:#e8ecef!important}
.ng3d-share-manager-head small{color:#778189!important}

/* Contact form */
.ng3d-contact-head small{
  color:var(--nx-pink)!important;
}
.ng3d-contact-head h2{
  color:#fff!important;
}
.ng3d-contact-head p{
  color:#818b93!important;
}
.ng3d-contact-head>span{
  background:#121519!important;
  border-color:#343b42!important;
  color:#9da6ad!important;
}
.ng3d-reference .ng3d-form label{
  color:#89939b!important;
}
.ng3d-reference .ng3d-form input,
.ng3d-reference .ng3d-form textarea{
  background:#0c0f12!important;
  border-color:#333a40!important;
  color:#f1f3f5!important;
}
.ng3d-reference .ng3d-form input::placeholder,
.ng3d-reference .ng3d-form textarea::placeholder{
  color:#5f6870!important;
}
.ng3d-reference .ng3d-form input:focus,
.ng3d-reference .ng3d-form textarea:focus{
  border-color:var(--nx-pink)!important;
  box-shadow:0 0 0 3px rgba(255,45,143,.10)!important;
}
.ng3d-reference .ng3d-final-submit,
.ng3d-reference .ng3d-wizard-next{
  background:linear-gradient(180deg,#ff2d8f,#e71975)!important;
  color:#fff!important;
  box-shadow:0 9px 24px rgba(255,45,143,.22)!important;
}
.ng3d-reference .ng3d-final-submit:hover,
.ng3d-reference .ng3d-wizard-next:hover{
  background:linear-gradient(180deg,#ff419c,#f01b7b)!important;
}
.ng3d-wizard-actions{
  background:#0b0d10!important;
  border-top-color:#252a30!important;
  box-shadow:0 -12px 30px rgba(0,0,0,.18)!important;
}
.ng3d-wizard-back{
  background:#14181c!important;
  border-color:#343b42!important;
  color:#aeb7be!important;
}
.ng3d-wizard-back:hover{
  background:#191d22!important;
  color:#fff!important;
}

/* Draft strip and small utility surfaces */
.ng3d-draft-strip{
  background:#101419!important;
  border-color:#2f373d!important;
  color:#9aa5ad!important;
}
.ng3d-draft-strip b{color:#dbe0e4!important}
.ng3d-draft-strip small{color:#6f7981!important}
.ng3d-draft-strip button{
  background:#21111a!important;
  color:#ff82ba!important;
  border-color:#6a2342!important;
}
.ng3d-price-source,
.ng3d-reference .ng3d-selected-info b i,
.ng3d-reference .ng3d-part-dims{
  background:#15191d!important;
  color:#909aa2!important;
  border-color:#333b42!important;
}

/* Keep validation warnings legible in dark mode */
.ng3d-position-slider-block.is-constrained,
.ng3d-inline-position.is-constrained{
  background:#21180d!important;
  border-color:#825b26!important;
}
.ng3d-position-slider-block.is-constrained>em,
.ng3d-inline-position.is-constrained>small{
  color:#f3b35d!important;
}
.ng3d-reference .ng3d-placement-readout.preview{
  background:rgba(17,20,24,.96)!important;
  border-color:#66304b!important;
}
.ng3d-reference .ng3d-placement-readout.preview b{
  color:#ff76b4!important;
}
.ng3d-reference .ng3d-placement-readout.preview span{
  color:#b8c0c6!important;
}

/* Mobile stays dark rather than falling back to white. */
@media(max-width:800px){
  .ng3d-reference{
    background:#050505!important;
  }
  .ng3d-reference-topbar{
    background:#070809!important;
    border-bottom-color:#262b30!important;
  }
  .ng3d-reference-wizard{
    background:#090b0d!important;
  }
  .ng3d-wizard-header,
  .ng3d-wizard-actions{
    background:#0b0d10!important;
  }
  .ng3d-reference-stage-card{
    border-color:#22282d!important;
  }
}
@media(max-width:430px){
  .ng3d-reference{
    background:#050505!important;
  }
}

/* NEXGEN DESIGNER DARK2 VISUAL QA FIXES — 2026-10-06 */

/* Header hierarchy */
.ng3d-reference .ng3d-brand-lockup small{
  display:block!important;
  max-width:none!important;
  white-space:nowrap!important;
  padding-left:15px!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:850!important;
  letter-spacing:.025em!important;
  color:#d9dfe3!important;
  border-left:1px solid #42484e!important;
}

/* The legacy stylesheet was winning on these surfaces; force the dark system through. */
.ng3d-reference .ng3d-dimension-cards>div{
  background:#111419!important;
  border:1px solid #2b3137!important;
  color:#f4f6f7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.ng3d-reference .ng3d-dimension-cards>div b{
  color:#fff!important;
}
.ng3d-reference .ng3d-dimension-cards>div span{
  color:#7b858d!important;
}

.ng3d-reference .ng3d-viewer-footer{
  background:#090b0d!important;
  border-top:1px solid #252a30!important;
  color:#edf1f3!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-spec,
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-price{
  background:#090b0d!important;
  border-right:1px solid #252a30!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-spec span,
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-price span{
  color:#778189!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-spec b{
  color:#f1f3f5!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-price b{
  color:#ff2d8f!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-price small{
  color:#7f8991!important;
}

/* Improve low-contrast section labels. */
.ng3d-reference .ng3d-config-section>h2,
.ng3d-reference .ng3d-config-label{
  opacity:1!important;
}
.ng3d-reference .ng3d-config-section>h2{
  color:#dfe4e7!important;
}
.ng3d-reference .ng3d-config-label{
  color:#97a1a9!important;
}

/* Give High Cube a stronger selected-state cue without changing its real-world dimensions. */
.ng3d-reference #ng3dHeight button[data-height="HC"].active{
  background:linear-gradient(180deg,#26111d,#171014)!important;
  border-color:#ff2d8f!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.28),0 0 0 1px rgba(255,45,143,.08)!important;
}
.ng3d-reference #ng3dHeight button[data-height="HC"].active small{
  color:#ff9bc8!important;
}

/* Slightly more breathing room for the larger 3D presentation. */
.ng3d-reference .ng3d-stage{
  min-height:510px!important;
}
.ng3d-reference .ng3d-stage canvas{
  filter:contrast(1.045) saturate(1.025)!important;
}

@media(max-width:1100px){
  .ng3d-reference .ng3d-brand-lockup small{
    font-size:12px!important;
  }
  .ng3d-reference .ng3d-stage{
    min-height:460px!important;
  }
}
@media(max-width:800px){
  .ng3d-reference .ng3d-brand-lockup small{
    white-space:normal!important;
    font-size:11px!important;
    padding-left:10px!important;
  }
  .ng3d-reference .ng3d-stage{
    min-height:400px!important;
  }
}

/* NEXGEN DESIGNER DARK3 — picker/readability visual QA, 2026-10-06 */

/* The desktop opening chooser is hoisted to <body>, so it needs body-scoped
   dark rules rather than relying on .ng3d-reference inheritance. */
body>.ng3d-option-modal{
  background:rgba(0,0,0,.80)!important;
  backdrop-filter:blur(10px)!important;
}
body>.ng3d-option-modal .ng3d-option-dialog{
  background:#0b0e11!important;
  border:1px solid #343b42!important;
  box-shadow:0 34px 110px rgba(0,0,0,.72)!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head{
  background:#0f1215!important;
  border-bottom:1px solid #2d343a!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head>div>small{
  color:#ff4a9b!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head h2{
  color:#fff!important;
  font-size:21px!important;
  font-weight:900!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head p{
  color:#9ca6ad!important;
  font-size:10.5px!important;
}
body>.ng3d-option-modal .ng3d-option-body{
  background:#0b0e11!important;
}
body>.ng3d-option-modal .ng3d-option-footer{
  background:#0f1215!important;
  border-top:1px solid #2d343a!important;
}
body>.ng3d-option-modal .ng3d-option-close,
body>.ng3d-option-modal .ng3d-option-back,
body>.ng3d-option-modal .ng3d-option-footer>button{
  background:#161b1f!important;
  border-color:#394149!important;
  color:#e0e5e8!important;
}
body>.ng3d-option-modal .ng3d-option-close:hover,
body>.ng3d-option-modal .ng3d-option-back:hover,
body>.ng3d-option-modal .ng3d-option-footer>button:hover{
  background:#21131a!important;
  border-color:#ff2d8f!important;
  color:#fff!important;
}

/* Category cards: larger product imagery, readable copy and obvious affordance. */
@media(min-width:801px){
  body>.ng3d-option-modal .ng3d-option-categories{
    max-width:820px!important;
    gap:20px!important;
  }
  body>.ng3d-option-modal .ng3d-option-categories>button{
    grid-template-rows:205px auto!important;
    min-height:290px!important;
    overflow:hidden!important;
    background:#111419!important;
    border:1px solid #343c43!important;
    border-radius:10px!important;
    color:#edf1f3!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
  }
  body>.ng3d-option-modal .ng3d-option-categories>button:hover,
  body>.ng3d-option-modal .ng3d-option-categories>button:focus-visible{
    background:#161219!important;
    border-color:#ff2d8f!important;
    box-shadow:inset 0 0 0 1px rgba(255,45,143,.28),0 14px 32px rgba(0,0,0,.24)!important;
    outline:none!important;
  }
  body>.ng3d-option-modal .ng3d-category-schematic{
    position:relative!important;
    height:205px!important;
    padding:10px 20px!important;
    background:
      radial-gradient(circle at 50% 48%,rgba(255,255,255,.055),transparent 48%),
      linear-gradient(180deg,#1a1f23,#14181c)!important;
    border-bottom:1px solid #30373d!important;
  }
  body>.ng3d-option-modal .ng3d-category-schematic .ng3d-catalog-product{
    height:100%!important;
    min-height:0!important;
    background:transparent!important;
  }
  body>.ng3d-option-modal .ng3d-category-schematic .ng3d-catalog-product>svg{
    width:100%!important;
    height:100%!important;
    max-width:340px!important;
    transform:scale(1.26)!important;
    transform-origin:center!important;
  }
  body>.ng3d-option-modal .ng3d-category-schematic .ng3d-schematic-webgl-render{
    width:96%!important;
    height:96%!important;
    max-width:340px!important;
    transform:translate(-50%,-50%) scale(1.24)!important;
    filter:drop-shadow(0 12px 16px rgba(0,0,0,.34))!important;
  }
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child{
    position:relative!important;
    min-height:84px!important;
    padding:16px 18px 17px!important;
    background:#111419!important;
    border-top:0!important;
    text-align:left!important;
  }
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>b{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
  }
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>b::after{
    content:'→';
    color:#ff2d8f!important;
    font-size:20px!important;
    line-height:1!important;
    font-weight:900!important;
  }
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>small{
    display:block!important;
    margin-top:6px!important;
    color:#9ca5ac!important;
    font-size:10.5px!important;
    line-height:1.42!important;
    font-weight:600!important;
  }
}

/* Actual door/window product cards also stay truly dark after the modal is hoisted. */
body>.ng3d-option-modal .ng3d-option-part.ng3d-part{
  background:#111419!important;
  border-color:#343c43!important;
  color:#eef2f4!important;
}
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:hover,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:focus-visible,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part.ng3d-part-previewing{
  background:#151218!important;
  border-color:#ff2d8f!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.28)!important;
}
body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product,
body>.ng3d-option-modal .ng3d-option-part .ng3d-option-schematic{
  background:#181d21!important;
  border-bottom-color:#30373d!important;
}
body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product .catalog-stage{
  fill:#181d21!important;
}
body>.ng3d-option-modal .ng3d-option-copy{
  background:#111419!important;
}
body>.ng3d-option-modal .ng3d-option-copy>b{
  color:#fff!important;
  font-weight:900!important;
}
body>.ng3d-option-modal .ng3d-catalog-dimensions,
body>.ng3d-option-modal .ng3d-option-copy>small,
body>.ng3d-option-modal .ng3d-option-copy>small span{
  color:#9ca5ac!important;
}
body>.ng3d-option-modal .ng3d-catalog-meta>em{
  color:#8e989f!important;
}
body>.ng3d-option-modal .ng3d-catalog-meta>strong{
  color:#ff4a9b!important;
}

/* Right-side Openings workflow: remove the remaining light-theme islands. */
.ng3d-reference .ng3d-wall-target,
.ng3d-reference .ng3d-wall-target>span{
  background:#101419!important;
  border-color:#30373d!important;
}
.ng3d-reference .ng3d-wall-target>span+span{
  border-left-color:#30373d!important;
}
.ng3d-reference .ng3d-wall-target-primary{
  background:#14181c!important;
}
.ng3d-reference .ng3d-wall-target small{
  color:#8d979e!important;
}
.ng3d-reference .ng3d-wall-target b{
  color:#edf1f3!important;
}
.ng3d-reference .ng3d-wall-target-primary small{
  color:#ff5aa4!important;
}
.ng3d-reference .ng3d-draft-strip{
  background:#101419!important;
  border-color:#30373d!important;
  color:#a2abb2!important;
  box-shadow:none!important;
}
.ng3d-reference .ng3d-draft-strip b{color:#eef2f4!important}
.ng3d-reference .ng3d-draft-strip small{color:#818b93!important}
.ng3d-reference .ng3d-draft-strip button{
  background:#22121a!important;
  border-color:#6d2948!important;
  color:#ff82ba!important;
}
.ng3d-reference .ng3d-addon-live b{
  color:#e8edf0!important;
}
.ng3d-reference .ng3d-addon-live small{
  color:#879199!important;
}
.ng3d-reference .ng3d-tool-row .ng3d-linkbtn{
  background:#14181c!important;
  border-color:#343c43!important;
  color:#c5cdd2!important;
}
.ng3d-reference .ng3d-tool-row .ng3d-linkbtn:hover:not(:disabled){
  background:#20131a!important;
  border-color:#ff2d8f!important;
  color:#fff!important;
}
.ng3d-reference .ng3d-tool-row .ng3d-linkbtn:disabled{
  background:#0f1215!important;
  border-color:#292f34!important;
  color:#59636a!important;
  opacity:1!important;
}

@media(max-width:800px){
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>b{
    color:#fff!important;
    font-size:14px!important;
  }
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>small{
    color:#9ca5ac!important;
    font-size:10px!important;
  }
}

/* NEXGEN DESIGNER DARK4 — human-flow QA fixes, 2026-10-06 */

/* Prevent title/price descenders from being visibly cropped. */
.ng3d-reference .ng3d-wizard-title h1{
  line-height:1.18!important;
  min-height:1.18em!important;
  overflow:visible!important;
  padding-bottom:1px!important;
}
.ng3d-reference .ng3d-viewer-price b{
  line-height:1.18!important;
  min-height:1.18em!important;
  overflow:visible!important;
  padding-bottom:1px!important;
}

/* Review summary was too compressed in the right rail; give every value room to read. */
.ng3d-reference .ng3d-review-specs{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.ng3d-reference .ng3d-review-specs>span{
  min-width:0!important;
  min-height:54px!important;
  padding:9px 10px!important;
  overflow:visible!important;
}
.ng3d-reference .ng3d-review-specs small{
  font-size:8px!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  white-space:normal!important;
  overflow:visible!important;
}
.ng3d-reference .ng3d-review-specs b{
  margin-top:4px!important;
  font-size:10.5px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
}

/* Opening cards: product art must scale inside its card instead of overflowing it. */
.ng3d-reference .ng3d-added-opening-main{
  grid-template-columns:minmax(72px,96px) minmax(0,1fr)!important;
  gap:9px!important;
  overflow:hidden!important;
}
.ng3d-reference .ng3d-added-opening-main>.ng3d-catalog-product{
  width:100%!important;
  max-width:96px!important;
  height:78px!important;
  min-height:78px!important;
  overflow:hidden!important;
}
.ng3d-reference .ng3d-added-opening-main>.ng3d-catalog-product>svg{
  width:82%!important;
  height:82%!important;
  max-width:100%!important;
}
.ng3d-reference .ng3d-added-opening-main>.ng3d-catalog-product>.ng3d-schematic-webgl-render{
  width:78%!important;
  height:78%!important;
  max-width:100%!important;
}
.ng3d-reference .ng3d-added-opening-main>span{
  min-width:0!important;
  overflow:hidden!important;
}
.ng3d-reference .ng3d-added-opening-main>span>b,
.ng3d-reference .ng3d-added-opening-main>span>small,
.ng3d-reference .ng3d-added-opening-main>span>em{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Make the small remove control a proper touch target without making it visually bulky. */
.ng3d-reference .ng3d-added-opening-card>header>button{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
}

@media(max-width:800px){
  .ng3d-reference .ng3d-added-opening-main{
    grid-template-columns:88px minmax(0,1fr)!important;
  }
  .ng3d-reference .ng3d-added-opening-main>.ng3d-catalog-product{
    max-width:88px!important;
    height:72px!important;
    min-height:72px!important;
  }
}
@media(max-width:430px){
  .ng3d-reference .ng3d-review-specs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ng3d-reference .ng3d-review-specs>span:first-child{
    grid-column:auto!important;
  }
  .ng3d-reference .ng3d-review-specs>span:last-child{
    grid-column:1/-1!important;
  }
}

/* NEXGEN DESIGNER DARK5 — final human-flow cleanup, 2026-10-06 */

/* The wall editor already exposes complete dimensions/position in the selected
   component panel. Keep the wall itself clean instead of letting tiny badges
   spill outside scaled doors/windows and get cropped at container edges. */
.ng3d-reference .ng3d-wall-editor .ng3d-edit-item .ng3d-item-dim,
.ng3d-reference .ng3d-wall-editor .ng3d-edit-item .ng3d-item-position{
  display:none!important;
}
.ng3d-reference .ng3d-wall-editor .ng3d-edit-item{
  overflow:hidden!important;
  min-width:10px!important;
  min-height:14px!important;
}
.ng3d-reference .ng3d-wall-editor .ng3d-edit-item>span{
  max-width:calc(100% - 8px)!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:7px!important;
  line-height:1.05!important;
}
.ng3d-reference .ng3d-wall-editor .ng3d-edit-item>i[data-remove-id]{
  right:2px!important;
  top:2px!important;
  width:17px!important;
  height:17px!important;
  font-size:11px!important;
  line-height:1!important;
  box-shadow:0 2px 7px rgba(0,0,0,.34)!important;
}

/* Nudge controls were squeezing "Down + 2.5%" horizontally at narrower widths.
   Stack the label/value instead so all four controls stay readable and compact. */
.ng3d-reference .ng3d-nudge button{
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:1px!important;
  padding:3px 5px!important;
  line-height:1!important;
  overflow:hidden!important;
}
.ng3d-reference .ng3d-nudge button b{
  display:block!important;
  max-width:100%!important;
  font-size:8px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ng3d-reference .ng3d-nudge button small{
  display:block!important;
  max-width:100%!important;
  font-size:6px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Keep editor chrome from reverting to legacy white styles on interaction. */
.ng3d-reference .ng3d-keyboard-help{
  background:#0d1114!important;
  border-color:#2d343a!important;
  color:#818b93!important;
}
.ng3d-reference .ng3d-keyboard-help b{
  color:#c9d0d5!important;
}
.ng3d-reference .ng3d-placement-tools{
  background:#0f1215!important;
  border-color:#2d343a!important;
}
.ng3d-reference .ng3d-delete-selected{
  background:#1a1014!important;
  border-color:#5a2635!important;
  color:#e98697!important;
}
.ng3d-reference .ng3d-delete-selected:hover{
  background:#241017!important;
  border-color:#b34668!important;
  color:#ff9caf!important;
}

@media(max-width:520px){
  .ng3d-reference .ng3d-wall-editor .ng3d-edit-item>span{
    font-size:6px!important;
  }
  .ng3d-reference .ng3d-nudge button{
    min-width:44px!important;
    min-height:44px!important;
  }
}


/* NEXGEN DESIGNER DARK6 — Jordon mobile-navigation + direct-manipulation pass, 2026-10-06 */
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening{
  order:0!important;min-height:72px!important;padding:12px 16px!important;
  border:1px solid #ff69ae!important;border-radius:12px!important;
  background:linear-gradient(180deg,#ff3a96 0%,#ef1679 100%)!important;color:#fff!important;
  box-shadow:0 10px 28px rgba(239,22,121,.26),inset 0 1px 0 rgba(255,255,255,.2)!important
}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening:hover,
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening:focus-visible{
  background:linear-gradient(180deg,#ff4ba2 0%,#f32184 100%)!important;border-color:#ff9ac8!important;
  box-shadow:0 12px 32px rgba(239,22,121,.34),0 0 0 3px rgba(255,45,143,.14)!important;outline:none!important
}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>span{
  width:42px!important;height:42px!important;min-width:42px!important;border:2px solid rgba(255,255,255,.76)!important;
  background:rgba(255,255,255,.13)!important;color:#fff!important;font-size:28px!important;line-height:1!important
}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>b{color:#fff!important;font-size:13px!important;line-height:1.15!important;font-weight:950!important}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>small{color:#ffe8f3!important;font-size:9px!important;line-height:1.3!important;font-weight:650!important}
.ng3d-reference .ng3d-opening-rail{display:flex!important;flex-direction:column!important;gap:10px!important}
.ng3d-reference #ng3dOpenAddonPicker{order:0!important}
.ng3d-reference .ng3d-added-openings{order:1!important}
.ng3d-reference .ng3d-clearance-note{order:2!important}
.ng3d-reference .ng3d-openings-empty{padding:10px 12px!important;border-style:solid!important;background:#0d1013!important}
.ng3d-reference .ng3d-openings-empty b{color:#c7cdd1!important}
.ng3d-reference .ng3d-openings-empty small{color:#7f8990!important}

.ng3d-reference .ng3d-stage.ng3d-direct-drag{cursor:grabbing!important}
.ng3d-reference .ng3d-stage.ng3d-direct-drag:after{
  content:'';position:absolute;inset:0;z-index:8;pointer-events:none;border:2px solid rgba(255,45,143,.55);
  box-shadow:inset 0 0 60px rgba(255,45,143,.08)
}
.ng3d-reference .ng3d-drag-hint{
  max-width:min(94%,560px)!important;background:rgba(8,10,12,.88)!important;border:1px solid #394047!important;
  color:#d7dde1!important;font-weight:750!important
}

@media(max-width:800px){
  .ng3d-reference .ng3d-option-modal,.ng3d-reference .ng3d-option-dialog,.ng3d-reference .ng3d-option-dialog-head,
  .ng3d-reference .ng3d-option-body,.ng3d-reference .ng3d-option-footer{background:#090c0f!important;color:#f3f5f6!important}
  .ng3d-reference .ng3d-option-dialog{border:1px solid #30373d!important;box-shadow:0 24px 70px rgba(0,0,0,.7)!important}
  .ng3d-reference .ng3d-option-dialog-head{border-bottom-color:#2b3238!important}
  .ng3d-reference .ng3d-option-dialog-head h2{color:#fff!important}
  .ng3d-reference .ng3d-option-dialog-head p{color:#9aa4ab!important}
  .ng3d-reference .ng3d-option-body{padding:12px!important}
  .ng3d-reference .ng3d-option-footer{border-top-color:#2b3238!important}

  .ng3d-reference .ng3d-option-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .ng3d-reference .ng3d-option-part.ng3d-part{
    display:grid!important;grid-template-columns:minmax(138px,44%) minmax(0,1fr)!important;grid-template-rows:150px!important;
    min-height:150px!important;width:100%!important;padding:0!important;gap:0!important;overflow:hidden!important;
    border:1px solid #323940!important;border-radius:10px!important;background:#11151a!important;color:#fff!important;
    box-shadow:0 8px 22px rgba(0,0,0,.2)!important
  }
  .ng3d-reference .ng3d-option-part.ng3d-part:hover,
  .ng3d-reference .ng3d-option-part.ng3d-part:focus-visible,
  .ng3d-reference .ng3d-option-part.ng3d-part.ng3d-part-previewing{
    background:#151219!important;border-color:#ff2d8f!important;box-shadow:inset 0 0 0 1px rgba(255,45,143,.3)!important
  }
  .ng3d-reference .ng3d-option-part .ng3d-catalog-product,.ng3d-reference .ng3d-option-part .ng3d-option-schematic{
    width:100%!important;height:150px!important;min-height:150px!important;margin:0!important;border:0!important;
    border-right:1px solid #30373d!important;border-radius:0!important;
    background:radial-gradient(ellipse at 50% 70%,rgba(255,255,255,.07),transparent 52%),linear-gradient(180deg,#171c21,#0e1216)!important;
    overflow:hidden!important
  }
  .ng3d-reference .ng3d-option-part .ng3d-catalog-product:after{display:none!important}
  .ng3d-reference .ng3d-option-part .ng3d-catalog-product>svg{
    width:100%!important;height:100%!important;max-width:none!important;transform:none!important;
    filter:drop-shadow(0 8px 9px rgba(0,0,0,.3))!important
  }
  .ng3d-reference .ng3d-option-part .ng3d-catalog-product>.ng3d-schematic-webgl-render{
    width:96%!important;height:96%!important;max-width:none!important;object-fit:contain!important;
    transform:translate(-50%,-50%)!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.34))!important
  }
  .ng3d-reference .ng3d-option-part .ng3d-option-copy{
    height:150px!important;min-height:0!important;padding:14px 14px 12px!important;display:flex!important;
    flex-direction:column!important;justify-content:center!important;background:#11151a!important;color:#fff!important;overflow:hidden!important
  }
  .ng3d-reference .ng3d-option-part .ng3d-option-copy>b{color:#fff!important;font-size:16px!important;line-height:1.1!important;font-weight:950!important}
  .ng3d-reference .ng3d-option-part .ng3d-catalog-dimensions{margin:7px 0 9px!important;color:#aeb6bc!important;font-size:11px!important;line-height:1.3!important}
  .ng3d-reference .ng3d-option-part .ng3d-catalog-meta{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:8px!important}
  .ng3d-reference .ng3d-option-part .ng3d-catalog-meta>em{color:#8f99a1!important;font-size:10px!important;line-height:1.25!important;white-space:normal!important}
  .ng3d-reference .ng3d-option-part .ng3d-catalog-meta>strong{color:#ff5da8!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important}

  .ng3d-reference .ng3d-option-categories{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .ng3d-reference .ng3d-option-categories>button{overflow:hidden!important;border:1px solid #323940!important;border-radius:10px!important;background:#11151a!important;color:#fff!important}
  .ng3d-reference .ng3d-category-schematic{height:140px!important;padding:5px!important;background:linear-gradient(180deg,#171c21,#0e1216)!important;border-bottom:1px solid #30373d!important}
  .ng3d-reference .ng3d-category-schematic .ng3d-catalog-product{width:100%!important;height:100%!important;background:transparent!important}
  .ng3d-reference .ng3d-option-categories>button>span:last-child{background:#11151a!important;padding:12px!important;text-align:left!important}
  .ng3d-reference .ng3d-option-categories>button>span:last-child>b{color:#fff!important;font-size:14px!important}
  .ng3d-reference .ng3d-option-categories>button>span:last-child>small{color:#909aa1!important;font-size:9.5px!important}
  .ng3d-reference .ng3d-opening-rail>.ng3d-clearance-note{margin:0!important}
  .ng3d-reference .ng3d-stage{height:360px!important;min-height:360px!important}
}
@media(max-width:430px){
  .ng3d-reference .ng3d-option-part.ng3d-part{
    grid-template-columns:minmax(132px,42%) minmax(0,1fr)!important;grid-template-rows:142px!important;min-height:142px!important
  }
  .ng3d-reference .ng3d-option-part .ng3d-catalog-product,
  .ng3d-reference .ng3d-option-part .ng3d-option-schematic,
  .ng3d-reference .ng3d-option-part .ng3d-option-copy{height:142px!important;min-height:142px!important}
  .ng3d-reference .ng3d-option-part .ng3d-option-copy{padding:12px!important}
  .ng3d-reference .ng3d-option-part .ng3d-option-copy>b{font-size:15px!important}
  .ng3d-reference .ng3d-option-part .ng3d-catalog-dimensions{font-size:10px!important}
  .ng3d-reference .ng3d-stage{height:330px!important;min-height:330px!important}
}


/* DARK6 hoisted mobile picker override: modal lives under body, outside .ng3d-reference. */
@media(max-width:800px){
  body>.ng3d-option-modal,
  body>.ng3d-option-modal .ng3d-option-dialog,
  body>.ng3d-option-modal .ng3d-option-dialog-head,
  body>.ng3d-option-modal .ng3d-option-body,
  body>.ng3d-option-modal .ng3d-option-footer{background:#090c0f!important;color:#f3f5f6!important}
  body>.ng3d-option-modal .ng3d-option-dialog{border:1px solid #30373d!important;box-shadow:0 24px 70px rgba(0,0,0,.7)!important}
  body>.ng3d-option-modal .ng3d-option-dialog-head{border-bottom-color:#2b3238!important}
  body>.ng3d-option-modal .ng3d-option-dialog-head h2{color:#fff!important}
  body>.ng3d-option-modal .ng3d-option-dialog-head p{color:#9aa4ab!important}
  body>.ng3d-option-modal .ng3d-option-body{padding:12px!important}
  body>.ng3d-option-modal .ng3d-option-footer{border-top-color:#2b3238!important}

  body>.ng3d-option-modal .ng3d-option-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  body>.ng3d-option-modal .ng3d-option-part.ng3d-part{
    display:grid!important;grid-template-columns:minmax(138px,44%) minmax(0,1fr)!important;grid-template-rows:150px!important;
    min-height:150px!important;width:100%!important;padding:0!important;gap:0!important;overflow:hidden!important;
    border:1px solid #323940!important;border-radius:10px!important;background:#11151a!important;color:#fff!important;
    box-shadow:0 8px 22px rgba(0,0,0,.2)!important
  }
  body>.ng3d-option-modal .ng3d-option-part.ng3d-part:hover,
  body>.ng3d-option-modal .ng3d-option-part.ng3d-part:focus-visible,
  body>.ng3d-option-modal .ng3d-option-part.ng3d-part.ng3d-part-previewing{
    background:#151219!important;border-color:#ff2d8f!important;box-shadow:inset 0 0 0 1px rgba(255,45,143,.3)!important
  }
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product,
  body>.ng3d-option-modal .ng3d-option-part .ng3d-option-schematic{
    width:100%!important;height:150px!important;min-height:150px!important;margin:0!important;border:0!important;
    border-right:1px solid #30373d!important;border-radius:0!important;
    background:radial-gradient(ellipse at 50% 70%,rgba(255,255,255,.07),transparent 52%),linear-gradient(180deg,#171c21,#0e1216)!important;
    overflow:hidden!important
  }
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product:after{display:none!important}
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product>svg{
    width:100%!important;height:100%!important;max-width:none!important;transform:none!important;
    filter:drop-shadow(0 8px 9px rgba(0,0,0,.3))!important
  }
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product>.ng3d-schematic-webgl-render{
    width:96%!important;height:96%!important;max-width:none!important;object-fit:contain!important;
    transform:translate(-50%,-50%)!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.34))!important
  }
  body>.ng3d-option-modal .ng3d-option-part .ng3d-option-copy{
    height:150px!important;min-height:0!important;padding:14px 14px 12px!important;display:flex!important;
    flex-direction:column!important;justify-content:center!important;background:#11151a!important;color:#fff!important;overflow:hidden!important
  }
  body>.ng3d-option-modal .ng3d-option-part .ng3d-option-copy>b{color:#fff!important;font-size:16px!important;line-height:1.1!important;font-weight:950!important}
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-dimensions{margin:7px 0 9px!important;color:#aeb6bc!important;font-size:11px!important;line-height:1.3!important}
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-meta{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:8px!important}
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-meta>em{color:#8f99a1!important;font-size:10px!important;line-height:1.25!important;white-space:normal!important}
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-meta>strong{color:#ff5da8!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important}

  body>.ng3d-option-modal .ng3d-option-categories{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  body>.ng3d-option-modal .ng3d-option-categories>button{overflow:hidden!important;border:1px solid #323940!important;border-radius:10px!important;background:#11151a!important;color:#fff!important}
  body>.ng3d-option-modal .ng3d-category-schematic{height:140px!important;padding:5px!important;background:linear-gradient(180deg,#171c21,#0e1216)!important;border-bottom:1px solid #30373d!important}
  body>.ng3d-option-modal .ng3d-category-schematic .ng3d-catalog-product{width:100%!important;height:100%!important;background:transparent!important}
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child{background:#11151a!important;padding:12px!important;text-align:left!important}
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>b{color:#fff!important;font-size:14px!important}
  body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>small{color:#909aa1!important;font-size:9.5px!important}
}
@media(max-width:430px){
  body>.ng3d-option-modal .ng3d-option-part.ng3d-part{
    grid-template-columns:minmax(132px,42%) minmax(0,1fr)!important;grid-template-rows:142px!important;min-height:142px!important
  }
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product,
  body>.ng3d-option-modal .ng3d-option-part .ng3d-option-schematic,
  body>.ng3d-option-modal .ng3d-option-part .ng3d-option-copy{height:142px!important;min-height:142px!important}
  body>.ng3d-option-modal .ng3d-option-part .ng3d-option-copy{padding:12px!important}
}

/* DARK7 — direct manipulation is the primary placement workflow */
.ng3d-reference .ng3d-direct-placement-help{
  display:flex;flex-direction:column;gap:4px;padding:11px 12px;margin:0 0 10px;
  border:1px solid #5c2540;border-left:3px solid #ff2d8f;border-radius:9px;
  background:linear-gradient(90deg,rgba(255,45,143,.10),rgba(255,45,143,.025));
}
.ng3d-reference .ng3d-direct-placement-help b{color:#fff;font-size:11px;line-height:1.2}
.ng3d-reference .ng3d-direct-placement-help span{color:#9ea7ad;font-size:8.5px;line-height:1.45}
@media(max-width:800px){
  .ng3d-reference .ng3d-position-slider-block{display:none!important}
  .ng3d-reference .ng3d-place-3d{display:none!important}
  .ng3d-reference .ng3d-placement-actions{grid-template-columns:1fr!important;gap:8px!important}
  .ng3d-reference .ng3d-direct-placement-help{padding:13px 14px;margin-bottom:12px;border-radius:10px}
  .ng3d-reference .ng3d-direct-placement-help b{font-size:12px}
  .ng3d-reference .ng3d-direct-placement-help span{font-size:9.5px}
  .ng3d-reference .ng3d-position-advanced>summary span b:after{content:' · optional';color:#ff69ae;font-weight:800}
}

/* DARK7 tablet touch-flow alignment */
@media(max-width:1024px){
  .ng3d-reference .ng3d-position-slider-block{display:none!important}
  .ng3d-reference .ng3d-place-3d{display:none!important}
  .ng3d-reference .ng3d-placement-actions{grid-template-columns:1fr!important;gap:8px!important}
  .ng3d-reference .ng3d-direct-placement-help{
    padding:13px 14px;margin-bottom:12px;border-radius:10px
  }
  .ng3d-reference .ng3d-direct-placement-help b{font-size:12px}
  .ng3d-reference .ng3d-direct-placement-help span{font-size:9.5px}
  .ng3d-reference .ng3d-position-advanced>summary span b:after{
    content:' · optional';color:#ff69ae;font-weight:800
  }
}

/* NEXGEN DESIGNER DARK8 — screenshot audit: review rail + narrow desktop CTA */

/* Review step must stay fully in the NexGen dark system. Remove every remaining
   white/light island from ready state, spec cards, quote card and saved draft. */
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready,
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready.ready,
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready.needs-review{
  background:#101419!important;
  background-image:none!important;
  border-color:#343b42!important;
  box-shadow:0 10px 26px rgba(0,0,0,.22)!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready-icon{
  background:#171b1f!important;
  border:1px solid #3b434a!important;
  color:#fff!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready small{
  color:#ff5aa4!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready b,
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready strong,
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready strong span{
  color:#f2f5f6!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready strong small{
  color:#8e989f!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-contact-jump{
  background:linear-gradient(180deg,#ff3493,#ee1678)!important;
  background-image:linear-gradient(180deg,#ff3493,#ee1678)!important;
  border-color:#ff61aa!important;
  color:#fff!important;
  box-shadow:0 7px 20px rgba(255,45,143,.20)!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-contact-jump:hover,
.ng3d-reference [data-wizard-step="3"] .ng3d-review-contact-jump:focus-visible{
  background:linear-gradient(180deg,#ff49a0,#f32184)!important;
  border-color:#ff92c3!important;
  color:#fff!important;
}

.ng3d-reference [data-wizard-step="3"] .ng3d-review-specs>span{
  background:#101419!important;
  background-image:none!important;
  border:1px solid #30373d!important;
  color:#eef2f4!important;
  box-shadow:none!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-specs small{
  color:#869099!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-specs b{
  color:#f2f4f5!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-layout-drawer,
.ng3d-reference [data-wizard-step="3"] .ng3d-review-layout-drawer>summary,
.ng3d-reference [data-wizard-step="3"] .ng3d-review-layout-body{
  background:#0f1215!important;
  background-image:none!important;
  border-color:#30373d!important;
  color:#e7ecef!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-layout-drawer>summary small{
  color:#7f8991!important;
}

.ng3d-reference [data-wizard-step="3"] #ng3dSummary,
.ng3d-reference [data-wizard-step="3"] .ng3d-base,
.ng3d-reference [data-wizard-step="3"] .ng3d-mod-list,
.ng3d-reference [data-wizard-step="3"] .ng3d-sum-line,
.ng3d-reference [data-wizard-step="3"] .ng3d-total{
  background:#101419!important;
  background-image:none!important;
  border-color:#30373d!important;
  color:#dce2e6!important;
}
.ng3d-reference [data-wizard-step="3"] #ng3dSummary{
  border:1px solid #30373d!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-base{
  border:0!important;
  border-bottom:1px solid #30373d!important;
  border-radius:0!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-base span,
.ng3d-reference [data-wizard-step="3"] .ng3d-sum-line span,
.ng3d-reference [data-wizard-step="3"] .ng3d-total span{
  color:#879199!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-base b,
.ng3d-reference [data-wizard-step="3"] .ng3d-base strong,
.ng3d-reference [data-wizard-step="3"] .ng3d-sum-line b,
.ng3d-reference [data-wizard-step="3"] .ng3d-total strong{
  color:#f0f3f5!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-empty{
  color:#849098!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-price-source{
  background:#171c20!important;
  color:#a5afb6!important;
  border-color:#394149!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-checks,
.ng3d-reference [data-wizard-step="3"] .ng3d-availability-note{
  background:#11161a!important;
  background-image:none!important;
  border-color:#343b42!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-checks b{
  color:#e8edef!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-checks span,
.ng3d-reference [data-wizard-step="3"] .ng3d-availability-note,
.ng3d-reference [data-wizard-step="3"] .ng3d-disclaimer{
  color:#89949b!important;
}

/* Saved-draft strip was still a white island in the screenshots. */
.ng3d-reference .ng3d-draft-strip,
.ng3d-reference .ng3d-draft-strip.has-resume{
  background:#101419!important;
  background-image:none!important;
  border-color:#30373d!important;
  color:#d7dde1!important;
}
.ng3d-reference .ng3d-draft-strip.has-resume>div>i{
  background:#ff2d8f!important;
  box-shadow:0 0 0 4px rgba(255,45,143,.12)!important;
}
.ng3d-reference .ng3d-draft-strip button{
  background:#2a1020!important;
  border-color:#70284a!important;
  color:#ff8bbe!important;
}

/* Opening section hierarchy/readability. */
.ng3d-reference .ng3d-addon-head h2{
  color:#eef2f4!important;
  opacity:1!important;
}
.ng3d-reference .ng3d-addon-head p{
  color:#99a3aa!important;
  opacity:1!important;
}

/* Narrow desktop/right rail: prevent the primary Add CTA copy from being clipped. */
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  row-gap:2px!important;
  align-items:center!important;
  overflow:visible!important;
}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>span{
  grid-column:1!important;
  grid-row:1 / 3!important;
}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>b,
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>small{
  grid-column:2!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>b{
  grid-row:1!important;
  align-self:end!important;
  font-size:12px!important;
}
.ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>small{
  grid-row:2!important;
  align-self:start!important;
  font-size:8.5px!important;
}

@media(max-width:430px){
  .ng3d-reference [data-wizard-step="3"] .ng3d-review-specs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ng3d-reference [data-wizard-step="3"] .ng3d-review-ready{
    grid-template-columns:32px minmax(0,1fr)!important;
  }
  .ng3d-reference [data-wizard-step="3"] .ng3d-review-ready>strong{
    grid-column:2!important;
    justify-self:start!important;
    text-align:left!important;
  }
  .ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>b{font-size:11.5px!important}
  .ng3d-reference #ng3dOpenAddonPicker.ng3d-add-opening>small{font-size:8px!important}
}


/* DARK9 — commercial opening library + wall selector redesign */
body>.ng3d-option-modal .ng3d-option-dialog{
  width:min(1180px,94vw)!important;
  max-width:1180px!important;
  max-height:88vh!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head{
  padding:22px 26px 18px!important;
  text-align:left!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head>div{
  max-width:760px!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head>div>small{
  color:#ff4e9f!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head h2{
  margin-top:3px!important;
  color:#fff!important;
  font-size:27px!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head p{
  margin-top:7px!important;
  color:#aab3b9!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body>.ng3d-option-modal .ng3d-option-body{
  padding:20px 24px 24px!important;
  overflow:auto!important;
}
body>.ng3d-option-modal .ng3d-option-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  max-width:none!important;
  margin:0!important;
}
body>.ng3d-option-modal .ng3d-option-part.ng3d-part{
  display:grid!important;
  grid-template-rows:190px auto!important;
  min-height:330px!important;
  padding:0!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid #343c43!important;
  border-radius:12px!important;
  background:#101418!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:hover,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:focus-visible{
  transform:translateY(-2px)!important;
  border-color:#ff2d8f!important;
  box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,45,143,.28)!important;
  outline:none!important;
}
body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product{
  position:relative!important;
  width:100%!important;
  height:190px!important;
  min-height:190px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #2d353b!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.07),transparent 46%),
    linear-gradient(180deg,#1a2025 0%,#11161a 100%)!important;
}
body>.ng3d-option-modal .ng3d-option-part .ng3d-schematic-webgl-render{
  display:none!important;
}
body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product>svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  padding:10px 18px 4px!important;
  transform:none!important;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.28))!important;
}
body>.ng3d-option-modal .ng3d-option-part .catalog-stage{
  fill:#151a1f!important;
  stroke:#2c353c!important;
  stroke-width:1.5px!important;
}
body>.ng3d-option-modal .ng3d-option-part .product-frame,
body>.ng3d-option-modal .ng3d-option-part .product-track,
body>.ng3d-option-modal .ng3d-option-part .product-hood{
  fill:#7f8a90!important;
  stroke:#c1c9cd!important;
  stroke-width:1.5px!important;
}
body>.ng3d-option-modal .ng3d-option-part .product-door-leaf{
  fill:#d9dddf!important;
  stroke:#8b959a!important;
  stroke-width:1.2px!important;
}
body>.ng3d-option-modal .ng3d-option-part .product-glass{
  fill:#6a808d!important;
  stroke:#cad3d7!important;
}
body>.ng3d-option-modal .ng3d-option-part .product-roll-leaf{
  fill:#a7afb3!important;
  stroke:#78838a!important;
}
body>.ng3d-option-modal .ng3d-option-part .product-slat{
  stroke:#6f7a80!important;
  stroke-width:1.3px!important;
}
body>.ng3d-option-modal .ng3d-option-part .product-hardware,
body>.ng3d-option-modal .ng3d-option-part .product-bottom,
body>.ng3d-option-modal .ng3d-option-part .product-kick{
  fill:#3c464c!important;
}
body>.ng3d-option-modal .ng3d-option-copy{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:140px!important;
  padding:16px 17px 15px!important;
  background:#101418!important;
}
body>.ng3d-option-modal .ng3d-option-copy:before{
  display:block!important;
  margin-bottom:7px!important;
  color:#ff4d9d!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
body>.ng3d-option-modal .ng3d-option-part:has(.man-door) .ng3d-option-copy:before{content:'PERSONNEL DOOR'!important}
body>.ng3d-option-modal .ng3d-option-part:has(.window) .ng3d-option-copy:before{content:'WINDOW'!important}
body>.ng3d-option-modal .ng3d-option-part:has(.rollup-4) .ng3d-option-copy:before,
body>.ng3d-option-modal .ng3d-option-part:has(.rollup-6) .ng3d-option-copy:before,
body>.ng3d-option-modal .ng3d-option-part:has(.rollup-8) .ng3d-option-copy:before,
body>.ng3d-option-modal .ng3d-option-part:has(.rollup-10) .ng3d-option-copy:before{content:'ROLL-UP DOOR'!important}
body>.ng3d-option-modal .ng3d-option-copy>b{
  color:#fff!important;
  font-size:18px!important;
  line-height:1.1!important;
  font-weight:950!important;
}
body>.ng3d-option-modal .ng3d-catalog-dimensions{
  display:flex!important;
  gap:8px!important;
  margin:9px 0 12px!important;
}
body>.ng3d-option-modal .ng3d-catalog-dimensions>span{
  padding:5px 7px!important;
  border:1px solid #364048!important;
  border-radius:6px!important;
  background:#171c21!important;
  color:#c2c9cd!important;
  font-size:10px!important;
  font-weight:800!important;
}
body>.ng3d-option-modal .ng3d-catalog-meta{
  margin-top:auto!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body>.ng3d-option-modal .ng3d-catalog-meta>em{
  color:#929ca3!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-style:normal!important;
}
body>.ng3d-option-modal .ng3d-catalog-meta>strong{
  color:#ff4e9f!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
}
body>.ng3d-option-modal .ng3d-option-part:not(:disabled):after{
  content:'ADD  +';
  position:absolute;
  right:14px;
  top:14px;
  z-index:3;
  padding:6px 8px;
  border-radius:999px;
  background:#f41f82;
  color:#fff;
  font-size:9px;
  font-weight:950;
  letter-spacing:.06em;
  box-shadow:0 6px 14px rgba(244,31,130,.25);
}
body>.ng3d-option-modal .ng3d-option-part{position:relative!important}
body>.ng3d-option-modal .ng3d-option-footer{
  padding:12px 24px!important;
}
body>.ng3d-option-modal .ng3d-option-footer span small{font-size:9px!important}
body>.ng3d-option-modal .ng3d-option-footer span b{font-size:12px!important}

/* Wall selection becomes a real 2x2 visual face chooser instead of tiny icons. */
.ng3d-reference .ng3d-wall-tabs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
.ng3d-reference .ng3d-wall-tabs>button{
  min-height:94px!important;
  padding:9px 9px 8px!important;
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  align-items:center!important;
  text-align:left!important;
  border:1px solid #313940!important;
  border-radius:9px!important;
  background:#111519!important;
}
.ng3d-reference .ng3d-wall-tabs>button.active{
  border-color:#ff2d8f!important;
  background:linear-gradient(135deg,rgba(255,45,143,.11),#111519 56%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.22)!important;
}
.ng3d-reference .ng3d-wall-choice-icon{
  grid-column:1!important;
  grid-row:1 / 3!important;
  width:86px!important;
  height:66px!important;
  border:1px solid #303940!important;
  border-radius:6px!important;
  background:#1a2024!important;
  overflow:hidden!important;
}
.ng3d-reference .ng3d-wall-choice-icon>span{display:none!important}
.ng3d-reference .ng3d-wall-choice-icon>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.ng3d-reference .ng3d-wall-tabs>button>span{
  align-self:end!important;
  color:#f1f4f5!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:900!important;
}
.ng3d-reference .ng3d-wall-tabs>button>small{
  align-self:start!important;
  margin-top:4px!important;
  color:#89939a!important;
  font-size:9.5px!important;
}
.ng3d-reference .ng3d-wall-tabs>button.active>small{color:#ff73b2!important}

@media(max-width:900px){
  body>.ng3d-option-modal .ng3d-option-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:600px){
  body>.ng3d-option-modal .ng3d-option-dialog-head{padding:17px 18px 14px!important}
  body>.ng3d-option-modal .ng3d-option-dialog-head h2{font-size:23px!important}
  body>.ng3d-option-modal .ng3d-option-dialog-head p{font-size:12px!important}
  body>.ng3d-option-modal .ng3d-option-body{padding:12px!important}
  body>.ng3d-option-modal .ng3d-option-grid{grid-template-columns:1fr!important;gap:10px!important}
  body>.ng3d-option-modal .ng3d-option-part.ng3d-part{
    grid-template-columns:42% minmax(0,1fr)!important;
    grid-template-rows:164px!important;
    min-height:164px!important;
  }
  body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product{
    height:164px!important;min-height:164px!important;border-bottom:0!important;border-right:1px solid #2d353b!important;
  }
  body>.ng3d-option-modal .ng3d-option-copy{
    min-height:164px!important;padding:12px!important;
  }
  body>.ng3d-option-modal .ng3d-option-copy>b{font-size:16px!important}
  .ng3d-reference .ng3d-wall-tabs>button{
    grid-template-columns:70px minmax(0,1fr)!important;
    min-height:82px!important;
    padding:7px!important;
  }
  .ng3d-reference .ng3d-wall-choice-icon{width:70px!important;height:54px!important}
}

/* DARK10 — make real WebGL modifications visually dominant */
.ng3d-reference .ng3d-stage.webgl-ready .ng3d-box{
  opacity:0!important;
  pointer-events:none!important;
}
.ng3d-reference .ng3d-stage.webgl-ready .ng3d-webgl-canvas{
  filter:contrast(1.035) saturate(1.03)!important;
}


/* NEXGEN DESIGNER DARK11 — match approved premium studio mock */
.ng3d-reference{
  background:
    radial-gradient(circle at 17% 0%,rgba(255,45,143,.055),transparent 24%),
    #050607!important;
}
.ng3d-reference-layout{
  gap:16px!important;
}
.ng3d-reference-topbar{
  min-height:70px!important;
  padding:12px 20px!important;
  background:linear-gradient(180deg,#090b0e,#060709)!important;
  border:1px solid #262d33!important;
  border-top:2px solid #ff2d8f!important;
  box-shadow:0 14px 32px rgba(0,0,0,.28)!important;
}
.ng3d-reference .ng3d-brand-logo{height:48px!important;width:auto!important}
.ng3d-reference .ng3d-brand-lockup small{
  font-size:15px!important;
  color:#f1f4f6!important;
  font-weight:850!important;
}

.ng3d-reference-stage-card{
  border:1px solid #2a3137!important;
  box-shadow:0 20px 48px rgba(0,0,0,.34)!important;
  overflow:hidden!important;
}
.ng3d-reference-stage-card .ng3d-stage-top{
  min-height:88px!important;
  padding:14px 18px!important;
  background:linear-gradient(180deg,#101419,#0b0e12)!important;
}
.ng3d-reference-stage-card .ng3d-stage-top small{
  font-size:10px!important;
  letter-spacing:.13em!important;
  color:#93a1aa!important;
}
.ng3d-reference-stage-card .ng3d-stage-top strong{
  margin-top:4px!important;
  font-size:20px!important;
  line-height:1.15!important;
  color:#fff!important;
}
.ng3d-reference .ng3d-stage-colour{
  margin-top:9px!important;
}
.ng3d-reference .ng3d-stage-colour b{font-size:12px!important}
.ng3d-reference .ng3d-stage-colour em{
  font-size:9px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  color:#7f8a92!important;
}

.ng3d-reference .ng3d-stage{
  min-height:580px!important;
  background:
    radial-gradient(ellipse at 16% 88%,rgba(255,20,123,.24),transparent 30%),
    radial-gradient(ellipse at 52% 55%,#20262c 0,#12161b 42%,#080a0d 76%,#050607 100%)!important;
}
.ng3d-reference .ng3d-stage:before{
  opacity:.12!important;
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 42%)!important;
}
.ng3d-reference .ng3d-floor{
  opacity:.42!important;
  background:
    linear-gradient(90deg,transparent,rgba(255,45,143,.08) 14%,transparent 39%),
    repeating-linear-gradient(90deg,rgba(100,112,122,.13) 0 1px,transparent 1px 58px),
    repeating-linear-gradient(0deg,rgba(100,112,122,.12) 0 1px,transparent 1px 58px)!important;
  border-top-color:#343c43!important;
}
.ng3d-reference .ng3d-stage-glow{
  left:-12%!important;
  width:72%!important;
  opacity:1!important;
  background:radial-gradient(ellipse,rgba(255,45,143,.22),rgba(255,45,143,.065) 36%,transparent 72%)!important;
}
.ng3d-reference .ng3d-stage.webgl-ready .ng3d-webgl-canvas{
  filter:contrast(1.08) saturate(1.08) brightness(1.03)!important;
}
.ng3d-reference .ng3d-drag-hint{
  left:18px!important;
  bottom:14px!important;
  padding:9px 13px!important;
  font-size:11px!important;
  color:#d0d7dc!important;
  border-color:#4a535c!important;
  background:rgba(8,10,13,.86)!important;
}
.ng3d-reference .ng3d-stage-measures .ng3d-dimension span{
  min-width:46px!important;
  padding:7px 9px!important;
  border-radius:7px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.ng3d-reference .ng3d-stage-measures .ng3d-dimension small,
.ng3d-reference .ng3d-orientation-label{
  font-size:9px!important;
  letter-spacing:.08em!important;
  font-weight:800!important;
}

.ng3d-reference .ng3d-viewer-footer{
  min-height:78px!important;
  background:linear-gradient(180deg,#0b0e11,#080a0c)!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-spec,
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-price{
  padding:13px 18px!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-spec span,
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-price span{
  font-size:9px!important;
  letter-spacing:.11em!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-spec b{
  margin-top:5px!important;
  font-size:15px!important;
}
.ng3d-reference .ng3d-viewer-footer .ng3d-viewer-price b{
  font-size:27px!important;
  letter-spacing:-.03em!important;
}

/* Larger, more legible configuration rail */
.ng3d-reference-wizard{
  border:1px solid #2b333a!important;
  background:#080b0e!important;
}
.ng3d-reference .ng3d-wizard-header{
  padding:14px 16px!important;
}
.ng3d-reference .ng3d-wizard-progress>button{
  font-size:10px!important;
  font-weight:800!important;
}
.ng3d-reference .ng3d-wizard-progress>button i{
  width:26px!important;height:26px!important;font-size:11px!important;
}
.ng3d-reference .ng3d-wizard-scroll{
  padding:22px 18px 112px!important;
}
.ng3d-reference .ng3d-wizard-title small{
  font-size:10px!important;
  letter-spacing:.12em!important;
  font-weight:900!important;
}
.ng3d-reference .ng3d-wizard-title h1{
  margin-top:7px!important;
  font-size:30px!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
}
.ng3d-reference .ng3d-wizard-title p{
  margin-top:9px!important;
  font-size:13px!important;
  line-height:1.5!important;
  color:#a4adb4!important;
}
.ng3d-reference .ng3d-config-section{
  padding-top:18px!important;
  margin-top:18px!important;
}
.ng3d-reference .ng3d-config-section>h2{
  font-size:15px!important;
  margin-bottom:11px!important;
}
.ng3d-reference .ng3d-config-label{
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.ng3d-reference .ng3d-dimension-cards{
  gap:9px!important;
}
.ng3d-reference .ng3d-dimension-cards>div{
  min-height:68px!important;
  border-radius:10px!important;
}
.ng3d-reference .ng3d-dimension-cards>div b{
  font-size:17px!important;
}
.ng3d-reference .ng3d-dimension-cards>div span{
  font-size:8px!important;
  letter-spacing:.11em!important;
}
.ng3d-reference .ng3d-reference-segment button{
  min-height:58px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
}
.ng3d-reference .ng3d-reference-segment button b{
  font-size:13px!important;
}
.ng3d-reference .ng3d-reference-segment button small{
  margin-top:4px!important;
  font-size:9px!important;
  line-height:1.25!important;
}
.ng3d-reference .ng3d-reference-colors{
  gap:9px!important;
}
.ng3d-reference .ng3d-reference-colors button{
  min-height:72px!important;
  border-radius:10px!important;
}
.ng3d-reference .ng3d-color-copy b{font-size:12px!important}
.ng3d-reference .ng3d-color-copy small{font-size:9px!important;line-height:1.25!important}
.ng3d-reference .ng3d-wizard-actions{
  min-height:82px!important;
  padding:12px 16px!important;
  background:rgba(8,10,13,.97)!important;
  backdrop-filter:blur(14px)!important;
}
.ng3d-reference .ng3d-wizard-next{
  min-height:56px!important;
  border-radius:999px!important;
  font-size:17px!important;
  font-weight:900!important;
  background:linear-gradient(90deg,#ee1678,#ff2d8f)!important;
  box-shadow:0 12px 30px rgba(255,45,143,.22)!important;
}

/* Premium category chooser matching the approved direction */
body>.ng3d-option-modal{
  background:rgba(0,0,0,.76)!important;
  backdrop-filter:blur(18px)!important;
}
body>.ng3d-option-modal .ng3d-option-dialog{
  width:min(1380px,92vw)!important;
  max-width:1380px!important;
  max-height:88vh!important;
  border:1px solid #39424a!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#0d1115,#080b0e)!important;
  box-shadow:0 36px 120px rgba(0,0,0,.72),0 0 80px rgba(255,45,143,.045)!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head{
  padding:22px 28px 20px!important;
  text-align:center!important;
  background:linear-gradient(180deg,#12171c,#0d1115)!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head>div{
  max-width:none!important;
  margin:auto!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head>div>small{
  font-size:11px!important;
  letter-spacing:.14em!important;
  color:#ff2d8f!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head h2{
  margin-top:5px!important;
  font-size:30px!important;
  line-height:1!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head p{
  margin-top:8px!important;
  font-size:14px!important;
  color:#b2bbc1!important;
}
body>.ng3d-option-modal .ng3d-option-body{
  padding:26px!important;
}
body>.ng3d-option-modal .ng3d-option-categories{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:20px!important;
  max-width:none!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button{
  display:grid!important;
  grid-template-rows:minmax(280px,38vh) auto!important;
  min-height:410px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #353e45!important;
  border-radius:14px!important;
  background:#0e1216!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button:hover,
body>.ng3d-option-modal .ng3d-option-categories>button:focus-visible{
  transform:translateY(-2px)!important;
  border-color:#ff2d8f!important;
  box-shadow:0 18px 44px rgba(0,0,0,.36),0 0 0 1px rgba(255,45,143,.25)!important;
}
body>.ng3d-option-modal .ng3d-category-schematic.ng3d-category-photo{
  display:block!important;
  height:100%!important;
  min-height:280px!important;
  padding:0!important;
  overflow:hidden!important;
  background:
    radial-gradient(ellipse at 17% 86%,rgba(255,45,143,.25),transparent 35%),
    #090c10!important;
}
body>.ng3d-option-modal .ng3d-category-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child{
  position:relative!important;
  min-height:108px!important;
  padding:20px 76px 20px 22px!important;
  border-top:1px solid #30383f!important;
  background:linear-gradient(180deg,#11161a,#0c1014)!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>b{
  font-size:23px!important;
  color:#fff!important;
  font-weight:950!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>small{
  margin-top:7px!important;
  font-size:13px!important;
  color:#aeb7bd!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button>span:last-child:after{
  content:'→'!important;
  position:absolute!important;
  right:20px!important;
  top:50%!important;
  width:48px!important;height:48px!important;
  transform:translateY(-50%)!important;
  display:grid!important;place-items:center!important;
  border:1px solid #71304f!important;
  border-radius:50%!important;
  color:#ff2d8f!important;
  font-size:28px!important;
  background:#1a1016!important;
}
body>.ng3d-option-modal .ng3d-option-footer{
  min-height:62px!important;
  padding:12px 26px!important;
  background:#0c1014!important;
}
body>.ng3d-option-modal .ng3d-option-footer span small{font-size:9px!important}
body>.ng3d-option-modal .ng3d-option-footer span b{font-size:13px!important}

@media(max-width:1000px){
  .ng3d-reference .ng3d-stage{min-height:500px!important}
  body>.ng3d-option-modal .ng3d-option-categories>button{grid-template-rows:230px auto!important;min-height:350px!important}
}
@media(max-width:800px){
  .ng3d-reference .ng3d-stage{min-height:410px!important}
  .ng3d-reference .ng3d-wizard-title h1{font-size:28px!important}
  body>.ng3d-option-modal .ng3d-option-dialog{width:calc(100vw - 18px)!important}
  body>.ng3d-option-modal .ng3d-option-body{padding:12px!important}
  body>.ng3d-option-modal .ng3d-option-categories{grid-template-columns:1fr!important;gap:12px!important}
  body>.ng3d-option-modal .ng3d-option-categories>button{
    grid-template-rows:210px auto!important;
    min-height:318px!important;
  }
  body>.ng3d-option-modal .ng3d-option-dialog-head h2{font-size:25px!important}
  body>.ng3d-option-modal .ng3d-option-dialog-head p{font-size:12px!important}
}


/* DARK12 — premium black/pink studio correction */
.ng3d-reference .ng3d-stage{
  background:
    radial-gradient(circle at 10% 76%,rgba(255,15,125,.34),transparent 24%),
    radial-gradient(circle at 84% 18%,rgba(255,45,143,.07),transparent 18%),
    linear-gradient(180deg,#040507 0%,#080b0e 60%,#06080a 100%)!important;
}
.ng3d-reference .ng3d-stage:before{
  opacity:1!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.012),transparent 28%),
    radial-gradient(ellipse at 11% 91%,rgba(255,24,132,.20),transparent 27%)!important;
}
.ng3d-reference .ng3d-floor{
  opacity:.12!important;
  background:
    radial-gradient(ellipse at 13% 50%,rgba(255,19,128,.35),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.008),rgba(0,0,0,.12))!important;
  border-top-color:#11161a!important;
}
.ng3d-reference .ng3d-stage-glow{
  left:-10%!important;
  bottom:-15%!important;
  width:68%!important;
  height:66%!important;
  opacity:1!important;
  background:radial-gradient(ellipse,rgba(255,13,122,.48),rgba(255,13,122,.14) 34%,transparent 70%)!important;
  filter:blur(16px)!important;
}
.ng3d-reference .ng3d-stage.webgl-ready .ng3d-webgl-canvas{
  filter:contrast(1.12) saturate(1.12) brightness(.97)!important;
}


/* DARK12 — unified NexGen premium control system across every designer step */
.ng3d-reference{
  --nx12-bg:#07090c;
  --nx12-panel:#0c1014;
  --nx12-panel-2:#11161b;
  --nx12-panel-3:#151b20;
  --nx12-border:#30383f;
  --nx12-border-hi:#46505a;
  --nx12-text:#f4f6f7;
  --nx12-muted:#9aa4ab;
  --nx12-dim:#737e86;
  --nx12-pink:#ff2d8f;
  --nx12-pink-2:#f3187d;
}

/* Progress + draft strip */
.ng3d-reference .ng3d-wizard-progress{
  gap:9px!important;
}
.ng3d-reference .ng3d-wizard-progress>button{
  color:#9ca6ad!important;
}
.ng3d-reference .ng3d-wizard-progress>button i{
  background:#12171b!important;
  border:1px solid #3a434b!important;
  color:#cbd2d6!important;
  box-shadow:none!important;
}
.ng3d-reference .ng3d-wizard-progress>button[aria-current="step"],
.ng3d-reference .ng3d-wizard-progress>button.active{
  color:#ff68ad!important;
}
.ng3d-reference .ng3d-wizard-progress>button[aria-current="step"] i,
.ng3d-reference .ng3d-wizard-progress>button.active i{
  background:linear-gradient(180deg,#ff3a99,#ee1678)!important;
  border-color:#ff5da8!important;
  color:#fff!important;
  box-shadow:0 0 0 4px rgba(255,45,143,.08)!important;
}
.ng3d-reference .ng3d-wizard-progress>em{
  height:2px!important;
  background:#3b434a!important;
}
.ng3d-reference .ng3d-wizard-progress>button.done+em,
.ng3d-reference .ng3d-wizard-progress>button[aria-current="step"]+em{
  background:linear-gradient(90deg,#ff2d8f,#ff79b6)!important;
}
.ng3d-reference .ng3d-draft-strip,
.ng3d-reference .ng3d-draft-strip.has-resume{
  margin:12px 0 4px!important;
  padding:11px 12px!important;
  border:1px solid #3a4249!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#11161b,#0c1014)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
.ng3d-reference .ng3d-draft-strip b{font-size:12px!important}
.ng3d-reference .ng3d-draft-strip small{font-size:9.5px!important;color:#929ca3!important}
.ng3d-reference .ng3d-draft-strip button{
  min-height:34px!important;
  padding:0 12px!important;
  border:1px solid #71304f!important;
  border-radius:8px!important;
  background:#1b1016!important;
  color:#ff7bb8!important;
  font-size:10px!important;
  font-weight:900!important;
}

/* Step 1: all option controls use the same dark card language */
.ng3d-reference .ng3d-dimension-cards>div,
.ng3d-reference .ng3d-reference-segment button,
.ng3d-reference .ng3d-reference-colors button{
  border:1px solid #313940!important;
  background:linear-gradient(180deg,#13181d,#0e1216)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 7px 18px rgba(0,0,0,.14)!important;
}
.ng3d-reference .ng3d-dimension-cards>div{
  position:relative!important;
  overflow:hidden!important;
}
.ng3d-reference .ng3d-dimension-cards>div:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto auto 0!important;
  width:100%!important;
  height:2px!important;
  background:linear-gradient(90deg,#ff2d8f,rgba(255,45,143,.05))!important;
}
.ng3d-reference .ng3d-reference-segment button:hover,
.ng3d-reference .ng3d-reference-colors button:hover{
  border-color:#59636c!important;
  background:linear-gradient(180deg,#171d22,#11161a)!important;
}
.ng3d-reference .ng3d-reference-segment button.active,
.ng3d-reference .ng3d-reference-colors button.active{
  border-color:#ff2d8f!important;
  background:linear-gradient(135deg,rgba(255,45,143,.13),#11161a 58%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.18),0 10px 24px rgba(0,0,0,.18)!important;
}
.ng3d-reference .ng3d-reference-segment button.active:before{
  background:#ff2d8f!important;
}
.ng3d-reference .ng3d-reference-segment button.active:after{
  background:#ff2d8f!important;
  border-color:#ff7bb8!important;
  box-shadow:0 0 0 3px rgba(255,45,143,.10)!important;
}
.ng3d-reference .ng3d-reference-segment button b,
.ng3d-reference .ng3d-reference-colors button b{
  color:#eef2f4!important;
}
.ng3d-reference .ng3d-reference-segment button small,
.ng3d-reference .ng3d-reference-colors button small{
  color:#8f99a0!important;
}
.ng3d-reference .ng3d-reference-colors button.active .ng3d-color-copy b{
  color:#fff!important;
}

/* Step 2: wall chooser + target summary */
.ng3d-reference .ng3d-wall-tabs{
  gap:10px!important;
}
.ng3d-reference .ng3d-wall-tabs>button{
  min-height:102px!important;
  border:1px solid #313940!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#12171b,#0d1115)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.16)!important;
}
.ng3d-reference .ng3d-wall-tabs>button:hover{
  border-color:#55606a!important;
  transform:translateY(-1px)!important;
}
.ng3d-reference .ng3d-wall-tabs>button.active{
  border-color:#ff2d8f!important;
  background:linear-gradient(135deg,rgba(255,45,143,.12),#10151a 55%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.18),0 10px 24px rgba(0,0,0,.22)!important;
}
.ng3d-reference .ng3d-wall-choice-icon{
  border:1px solid #39434b!important;
  background:#080b0f!important;
  box-shadow:inset 0 0 22px rgba(255,45,143,.035)!important;
}
.ng3d-reference .ng3d-wall-tabs>button>span{
  font-size:12.5px!important;
}
.ng3d-reference .ng3d-wall-tabs>button>small{
  font-size:10px!important;
  color:#879198!important;
}
.ng3d-reference .ng3d-wall-target{
  margin-top:10px!important;
  border:1px solid #353e46!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#11161a,#0d1115)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.15)!important;
}
.ng3d-reference .ng3d-wall-target>span{
  min-height:54px!important;
  padding:10px 12px!important;
  border-color:#384149!important;
}
.ng3d-reference .ng3d-wall-target small{
  font-size:9px!important;
  color:#879198!important;
  letter-spacing:.10em!important;
}
.ng3d-reference .ng3d-wall-target b{
  margin-top:3px!important;
  font-size:12px!important;
  color:#f2f4f5!important;
}
.ng3d-reference .ng3d-wall-target-primary i{
  background:#ff2d8f!important;
  box-shadow:0 0 0 4px rgba(255,45,143,.10)!important;
}

/* Openings section */
.ng3d-reference .ng3d-addon-head{
  align-items:flex-start!important;
}
.ng3d-reference .ng3d-addon-head h2{
  color:#f4f6f7!important;
  font-size:16px!important;
}
.ng3d-reference .ng3d-addon-head p{
  color:#939da4!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.ng3d-reference .ng3d-addon-live{
  padding:8px 10px!important;
  border:1px solid #374048!important;
  border-radius:999px!important;
  background:#11161a!important;
}
.ng3d-reference .ng3d-addon-live b{font-size:11px!important;color:#f0f3f4!important}
.ng3d-reference .ng3d-addon-live small{font-size:8px!important;color:#8e989f!important}
.ng3d-reference .ng3d-add-opening{
  min-height:72px!important;
  padding:12px 14px!important;
  border:1px solid #ff4a9e!important;
  border-radius:11px!important;
  background:linear-gradient(105deg,#ed1678 0%,#ff2d8f 62%,#ff55a6 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(255,45,143,.20)!important;
}
.ng3d-reference .ng3d-add-opening:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.05)!important;
}
.ng3d-reference .ng3d-add-opening>span{
  width:42px!important;height:42px!important;
  border:2px solid rgba(255,255,255,.82)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.07)!important;
  font-size:25px!important;
}
.ng3d-reference .ng3d-add-opening>b{
  font-size:13px!important;
  line-height:1.15!important;
}
.ng3d-reference .ng3d-add-opening>small{
  font-size:9px!important;
  line-height:1.35!important;
  color:rgba(255,255,255,.78)!important;
}
.ng3d-reference .ng3d-clearance-note{
  color:#79848c!important;
  font-size:9px!important;
}
.ng3d-reference .ng3d-tool-row{
  gap:8px!important;
  padding-top:12px!important;
  border-top:1px solid #2e363d!important;
}
.ng3d-reference .ng3d-linkbtn{
  min-height:38px!important;
  border:1px solid #364049!important;
  border-radius:8px!important;
  background:#11161a!important;
  color:#d1d7db!important;
  font-size:10px!important;
  font-weight:800!important;
}
.ng3d-reference .ng3d-linkbtn:hover:not(:disabled){
  border-color:#ff2d8f!important;
  color:#fff!important;
  background:#171116!important;
}
.ng3d-reference .ng3d-linkbtn:disabled{
  opacity:.34!important;
  color:#68727a!important;
}

/* Added opening cards and positioning tools */
.ng3d-reference .ng3d-added-openings>*,
.ng3d-reference .ng3d-placement-more,
.ng3d-reference .ng3d-precision-drawer,
.ng3d-reference .ng3d-design-tools-drawer{
  border-color:#30383f!important;
  background:linear-gradient(180deg,#11161a,#0c1014)!important;
}
.ng3d-reference .ng3d-placement-more>summary,
.ng3d-reference .ng3d-precision-drawer>summary,
.ng3d-reference .ng3d-design-tools-drawer>summary{
  min-height:56px!important;
  color:#e9edef!important;
  background:#10151a!important;
}
.ng3d-reference .ng3d-placement-more>summary:hover,
.ng3d-reference .ng3d-precision-drawer>summary:hover,
.ng3d-reference .ng3d-design-tools-drawer>summary:hover{
  background:#141a1f!important;
}
.ng3d-reference .ng3d-placement-more summary b,
.ng3d-reference .ng3d-precision-drawer summary b,
.ng3d-reference .ng3d-design-tools-drawer summary b{
  font-size:12px!important;
  color:#edf1f3!important;
}
.ng3d-reference .ng3d-placement-more summary small,
.ng3d-reference .ng3d-precision-drawer summary small,
.ng3d-reference .ng3d-design-tools-drawer summary small{
  font-size:9.5px!important;
  color:#88939a!important;
}

/* Modal shell + category/product cards use one visual system */
body>.ng3d-option-modal .ng3d-option-dialog{
  border:1px solid #3a434b!important;
  background:#090c10!important;
}
body>.ng3d-option-modal .ng3d-option-dialog-head,
body>.ng3d-option-modal .ng3d-option-footer{
  background:linear-gradient(180deg,#11161a,#0c1014)!important;
}
body>.ng3d-option-modal .ng3d-option-close,
body>.ng3d-option-modal .ng3d-option-back,
body>.ng3d-option-modal .ng3d-option-footer>button{
  border:1px solid #3b444c!important;
  border-radius:9px!important;
  background:#141a1f!important;
  color:#e8ecef!important;
}
body>.ng3d-option-modal .ng3d-option-close:hover,
body>.ng3d-option-modal .ng3d-option-back:hover,
body>.ng3d-option-modal .ng3d-option-footer>button:hover{
  border-color:#ff2d8f!important;
  color:#fff!important;
  background:#1a1116!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part{
  border:1px solid #353e45!important;
  background:#0d1216!important;
}
body>.ng3d-option-modal .ng3d-option-categories>button:hover,
body>.ng3d-option-modal .ng3d-option-categories>button:focus-visible,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:hover,
body>.ng3d-option-modal .ng3d-option-part.ng3d-part:focus-visible{
  border-color:#ff2d8f!important;
  box-shadow:0 16px 42px rgba(0,0,0,.34),0 0 0 1px rgba(255,45,143,.17)!important;
}
body>.ng3d-option-modal .ng3d-option-part .ng3d-catalog-product{
  background:
    radial-gradient(circle at 16% 78%,rgba(255,28,135,.16),transparent 36%),
    linear-gradient(180deg,#11161b,#080b0f)!important;
}
body>.ng3d-option-modal .ng3d-option-copy{
  background:#0f1418!important;
}
body>.ng3d-option-modal .ng3d-option-copy>b{
  color:#fff!important;
}
body>.ng3d-option-modal .ng3d-catalog-dimensions>span{
  background:#151b20!important;
  border-color:#3a434a!important;
  color:#c4ccd1!important;
}
body>.ng3d-option-modal .ng3d-catalog-meta>em{
  color:#919ba2!important;
}
body>.ng3d-option-modal .ng3d-catalog-meta>strong{
  color:#ff5da8!important;
}

/* Step 3 review cards */
.ng3d-reference .ng3d-ref{
  margin:14px 0!important;
  padding:10px 12px!important;
  border:1px solid #313940!important;
  border-radius:9px!important;
  background:#0f1418!important;
}
.ng3d-reference .ng3d-ref span{
  font-size:9px!important;
  color:#818c94!important;
  letter-spacing:.10em!important;
}
.ng3d-reference .ng3d-ref b{
  color:#ff5da8!important;
  font-size:12px!important;
  letter-spacing:.09em!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready{
  padding:13px!important;
  border:1px solid #333c43!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#12171b,#0d1115)!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-ready-icon{
  border:1px solid #485159!important;
  background:#171c21!important;
  color:#fff!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-specs{
  gap:8px!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-specs>span{
  min-height:62px!important;
  padding:10px!important;
  border:1px solid #30383f!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,#11161a,#0d1115)!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-specs small{
  font-size:8.5px!important;
  letter-spacing:.09em!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-review-specs b{
  margin-top:5px!important;
  font-size:11.5px!important;
}
.ng3d-reference .ng3d-review-price-head{
  margin-top:18px!important;
}
.ng3d-reference .ng3d-review-price-head small{
  font-size:9px!important;
  letter-spacing:.12em!important;
}
.ng3d-reference .ng3d-review-price-head b{
  font-size:12px!important;
}
.ng3d-reference [data-wizard-step="3"] #ng3dSummary{
  border:1px solid #333c43!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#11161a,#0d1115)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-total{
  border-top:1px solid #343d44!important;
  background:#0f1418!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-total strong{
  color:#ff2d8f!important;
}
.ng3d-reference [data-wizard-step="3"] .ng3d-checks{
  border:1px solid #344049!important;
  border-radius:9px!important;
  background:#10161a!important;
}

/* Save/share tools */
.ng3d-reference .ng3d-design-tools-drawer{
  margin-top:10px!important;
  border:1px solid #30383f!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
.ng3d-reference .ng3d-design-tools-body{
  padding:12px!important;
  background:#0c1014!important;
}
.ng3d-reference .ng3d-export-actions,
.ng3d-reference .ng3d-save-row{
  gap:8px!important;
}
.ng3d-reference .ng3d-copy-summary,
.ng3d-reference .ng3d-save{
  min-height:38px!important;
  border:1px solid #384149!important;
  border-radius:8px!important;
  background:#12171b!important;
  color:#d8dee2!important;
  font-size:9.5px!important;
  font-weight:800!important;
}
.ng3d-reference .ng3d-copy-summary:hover,
.ng3d-reference .ng3d-save:hover{
  border-color:#ff2d8f!important;
  color:#fff!important;
  background:#181116!important;
}
.ng3d-reference .ng3d-share-manager{
  border:1px solid #30383f!important;
  border-radius:9px!important;
  background:#0f1418!important;
}
.ng3d-reference .ng3d-share-manager-head{
  border-bottom:1px solid #30383f!important;
}
.ng3d-reference .ng3d-share-manager-head b{font-size:11px!important}
.ng3d-reference .ng3d-share-manager-head small{font-size:9px!important}
.ng3d-reference .ng3d-share-manager-head>span{
  background:#1b1016!important;
  border:1px solid #71304f!important;
  color:#ff6cad!important;
}

/* Contact form: no remaining white controls */
.ng3d-reference .ng3d-contact-section{
  margin-top:18px!important;
  padding-top:18px!important;
  border-top:1px solid #343c43!important;
}
.ng3d-reference .ng3d-contact-head{
  align-items:flex-start!important;
  gap:12px!important;
}
.ng3d-reference .ng3d-contact-head small{
  font-size:9px!important;
  letter-spacing:.12em!important;
  color:#ff4e9f!important;
}
.ng3d-reference .ng3d-contact-head h2{
  margin-top:4px!important;
  color:#f3f5f6!important;
  font-size:18px!important;
}
.ng3d-reference .ng3d-contact-head p{
  margin-top:6px!important;
  color:#9aa4ab!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.ng3d-reference .ng3d-contact-head>span{
  padding:7px 9px!important;
  border:1px solid #3a434a!important;
  border-radius:999px!important;
  background:#12171b!important;
  color:#aeb6bc!important;
  font-size:8px!important;
}
.ng3d-reference .ng3d-form{
  gap:12px!important;
}
.ng3d-reference .ng3d-form label{
  color:#98a2a9!important;
  font-size:9.5px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.ng3d-reference .ng3d-form input,
.ng3d-reference .ng3d-form textarea{
  margin-top:6px!important;
  min-height:46px!important;
  padding:11px 12px!important;
  border:1px solid #374049!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,#12171b,#0d1216)!important;
  color:#f2f4f5!important;
  font-size:13px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015)!important;
}
.ng3d-reference .ng3d-form textarea{
  min-height:108px!important;
  line-height:1.45!important;
  resize:vertical!important;
}
.ng3d-reference .ng3d-form input::placeholder,
.ng3d-reference .ng3d-form textarea::placeholder{
  color:#69747c!important;
}
.ng3d-reference .ng3d-form input:hover,
.ng3d-reference .ng3d-form textarea:hover{
  border-color:#4c5760!important;
}
.ng3d-reference .ng3d-form input:focus,
.ng3d-reference .ng3d-form textarea:focus{
  outline:none!important;
  border-color:#ff2d8f!important;
  box-shadow:0 0 0 3px rgba(255,45,143,.10)!important;
  background:#13181d!important;
}
.ng3d-reference .ng3d-final-submit{
  min-height:52px!important;
  border:1px solid #ff56a6!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ed1678,#ff2d8f)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  box-shadow:0 12px 26px rgba(255,45,143,.20)!important;
}
.ng3d-reference .ng3d-final-submit:hover{
  filter:brightness(1.06)!important;
  transform:translateY(-1px)!important;
}

/* Bottom navigation */
.ng3d-reference .ng3d-wizard-actions{
  border-top:1px solid #2f373e!important;
  background:rgba(8,11,14,.97)!important;
}
.ng3d-reference .ng3d-wizard-back{
  min-height:48px!important;
  padding:0 18px!important;
  border:1px solid #3a434b!important;
  border-radius:999px!important;
  background:#12171b!important;
  color:#d3d9dd!important;
  font-size:13px!important;
  font-weight:850!important;
}
.ng3d-reference .ng3d-wizard-back:hover{
  border-color:#69747d!important;
  color:#fff!important;
  background:#161c21!important;
}
.ng3d-reference .ng3d-wizard-next{
  min-height:52px!important;
  border:1px solid #ff58a8!important;
  background:linear-gradient(90deg,#ee1678,#ff2d8f)!important;
  color:#fff!important;
}

/* Scrollbar belongs to the same visual system */
.ng3d-reference .ng3d-wizard-scroll::-webkit-scrollbar-track{background:#090c0f!important}
.ng3d-reference .ng3d-wizard-scroll::-webkit-scrollbar-thumb{
  background:#333b42!important;
  border:3px solid #090c0f!important;
}
.ng3d-reference .ng3d-wizard-scroll::-webkit-scrollbar-thumb:hover{background:#4a555e!important}

/* Responsive consistency */
@media(max-width:1024px){
  .ng3d-reference .ng3d-wizard-title h1{font-size:27px!important}
  .ng3d-reference .ng3d-wall-tabs>button{min-height:92px!important}
  .ng3d-reference .ng3d-form input,.ng3d-reference .ng3d-form textarea{font-size:14px!important}
}
@media(max-width:640px){
  .ng3d-reference .ng3d-wizard-scroll{padding-left:14px!important;padding-right:14px!important}
  .ng3d-reference .ng3d-wall-tabs{grid-template-columns:1fr 1fr!important}
  .ng3d-reference .ng3d-wall-tabs>button{
    grid-template-columns:64px minmax(0,1fr)!important;
    min-height:82px!important;
  }
  .ng3d-reference .ng3d-wall-choice-icon{width:64px!important;height:50px!important}
  .ng3d-reference .ng3d-wall-target{
    grid-template-columns:1fr!important;
  }
  .ng3d-reference .ng3d-wall-target>span{
    border-right:0!important;
    border-bottom:1px solid #30383f!important;
  }
  .ng3d-reference .ng3d-wall-target>span:last-child{border-bottom:0!important}
  .ng3d-reference .ng3d-addon-head{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .ng3d-reference .ng3d-addon-live{
    justify-self:start!important;
    margin-top:8px!important;
  }
  .ng3d-reference .ng3d-form{
    grid-template-columns:1fr!important;
  }
  .ng3d-reference .ng3d-contact-head{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .ng3d-reference .ng3d-contact-head>span{justify-self:start!important}
}


/* DARK12 FINAL SPECIFICITY LOCK — override v11.63 light-form isolation and success card */
html body.nexgen-v5 .ng3d-reference #designQuoteForm label{
  color:#98a2a9!important;
  -webkit-text-fill-color:#98a2a9!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1.3!important;
  letter-spacing:.08em!important;
}
html body.nexgen-v5 .ng3d-reference #designQuoteForm input,
html body.nexgen-v5 .ng3d-reference #designQuoteForm textarea{
  min-height:46px!important;
  margin-top:6px!important;
  padding:11px 12px!important;
  border:1px solid #374049!important;
  border-radius:9px!important;
  background:#11161a!important;
  background-image:linear-gradient(180deg,#12171b,#0d1216)!important;
  color:#f2f4f5!important;
  -webkit-text-fill-color:#f2f4f5!important;
  caret-color:#ff2d8f!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015)!important;
  font-size:13px!important;
}
html body.nexgen-v5 .ng3d-reference #designQuoteForm textarea{
  min-height:108px!important;
}
html body.nexgen-v5 .ng3d-reference #designQuoteForm input::placeholder,
html body.nexgen-v5 .ng3d-reference #designQuoteForm textarea::placeholder{
  color:#69747c!important;
  -webkit-text-fill-color:#69747c!important;
}
html body.nexgen-v5 .ng3d-reference #designQuoteForm input:focus,
html body.nexgen-v5 .ng3d-reference #designQuoteForm textarea:focus{
  border-color:#ff2d8f!important;
  background:#13181d!important;
  background-image:none!important;
  box-shadow:0 0 0 3px rgba(255,45,143,.10)!important;
}
html body.nexgen-v5 .ng3d-reference #designQuoteForm input:-webkit-autofill,
html body.nexgen-v5 .ng3d-reference #designQuoteForm input:-webkit-autofill:hover,
html body.nexgen-v5 .ng3d-reference #designQuoteForm input:-webkit-autofill:focus{
  -webkit-text-fill-color:#f2f4f5!important;
  -webkit-box-shadow:0 0 0 1000px #11161a inset!important;
}
html body.nexgen-v5 .ng3d-reference #designQuoteForm .ng3d-final-submit{
  min-height:52px!important;
  border:1px solid #ff58a8!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#ed1678,#ff2d8f)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:-.005em!important;
  box-shadow:0 12px 26px rgba(255,45,143,.20)!important;
}
html body.nexgen-v5 .ng3d-reference #designQuoteForm .ng3d-final-submit:hover:not(:disabled){
  background:linear-gradient(90deg,#f21b80,#ff45a0)!important;
  border-color:#ff78b7!important;
}
@media(max-width:520px){
  html body.nexgen-v5 .ng3d-reference #designQuoteForm label{font-size:10px!important}
  html body.nexgen-v5 .ng3d-reference #designQuoteForm input,
  html body.nexgen-v5 .ng3d-reference #designQuoteForm textarea{font-size:16px!important}
}

/* Submitted-state card stays in the same NexGen studio language after quote submission */
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-card{
  border:1px solid #344049!important;
  background:linear-gradient(180deg,#11171b,#0d1216)!important;
  color:#e9edef!important;
  box-shadow:0 12px 28px rgba(0,0,0,.20)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-icon{
  background:linear-gradient(180deg,#ff3b99,#ed1678)!important;
  color:#fff!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-copy small{color:#ff68ad!important}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-copy h3{color:#f2f4f5!important}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-copy p,
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-next{color:#98a2a9!important}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-next b{color:#dfe4e7!important}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-ref{
  border-color:#343d44!important;
  background:#0b1014!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-ref span,
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-ref small{color:#879198!important}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-ref b{color:#ff5da8!important}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-actions button{
  border:1px solid #3a434b!important;
  background:#12171b!important;
  color:#dbe0e3!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-submitted-actions button:hover{
  border-color:#ff2d8f!important;
  background:#191116!important;
  color:#fff!important;
}


/* DARK13 — reference correction lock
   Neutral product studio, restrained pink accent, no light-theme selected states. */
html body.nexgen-v5 .ng3d-reference .ng3d-stage{
  background:
    radial-gradient(circle at 52% 42%,rgba(255,255,255,.055),transparent 34%),
    linear-gradient(180deg,#07090c 0%,#0a0d11 58%,#07090b 100%)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage:before{
  opacity:.08!important;
  background:
    linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.025) 50%,transparent 50.2%),
    linear-gradient(0deg,transparent 0 49.8%,rgba(255,255,255,.018) 50%,transparent 50.2%)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-glow{
  opacity:.15!important;
  background:radial-gradient(ellipse at 18% 88%,rgba(255,45,143,.10),transparent 54%)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-floor{
  opacity:.24!important;
  background:
    repeating-linear-gradient(90deg,rgba(108,117,125,.12) 0 1px,transparent 1px 56px),
    repeating-linear-gradient(0deg,rgba(108,117,125,.10) 0 1px,transparent 1px 56px)!important;
  border-top-color:#272d32!important;
}

/* Selected base options remain dark. No white/light selected cards anywhere. */
html body.nexgen-v5 .ng3d-reference #ng3dSize button,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button{
  background:linear-gradient(180deg,#12171b,#0d1115)!important;
  border:1px solid #303840!important;
  color:#e8ecef!important;
  box-shadow:none!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button:hover,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button:hover,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button:hover{
  background:linear-gradient(180deg,#171d22,#11161a)!important;
  border-color:#59636c!important;
  color:#fff!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active{
  background:
    linear-gradient(135deg,rgba(255,45,143,.13),transparent 44%),
    linear-gradient(180deg,#17171a,#101317)!important;
  border-color:#ff2d8f!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.18)!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active b,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active b,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active small,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active small,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active small{
  color:#a6afb5!important;
  -webkit-text-fill-color:#a6afb5!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active:after,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active:after,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active:after{
  background:#ff2d8f!important;
  color:#fff!important;
  border:1px solid #ff76b6!important;
  box-shadow:0 0 0 3px rgba(255,45,143,.09)!important;
}

/* Colour cards follow the same selected-state system. */
html body.nexgen-v5 .ng3d-reference .ng3d-reference-colors button{
  background:linear-gradient(180deg,#12171b,#0d1115)!important;
  border-color:#303840!important;
  color:#e8ecef!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-colors button:hover{
  background:linear-gradient(180deg,#171d22,#11161a)!important;
  border-color:#59636c!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-colors button.active{
  background:
    linear-gradient(135deg,rgba(255,45,143,.12),transparent 48%),
    linear-gradient(180deg,#17171a,#101317)!important;
  border-color:#ff2d8f!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.18)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-colors button.active .ng3d-color-copy b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-colors button.active .ng3d-color-copy small{
  color:#a6afb5!important;
}

/* Camera/view controls also stay dark when active. */
html body.nexgen-v5 .ng3d-reference .ng3d-camera-presets button,
html body.nexgen-v5 .ng3d-reference #ng3dResetView{
  background:#11161a!important;
  border-color:#343d45!important;
  color:#c9d0d5!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-camera-presets button.active{
  background:#191116!important;
  border-color:#ff2d8f!important;
  color:#ff71b3!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.16)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-mobile-view-dock{
  background:rgba(10,13,16,.94)!important;
  border-color:#343d45!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-mobile-view-dock button.active{
  background:#191116!important;
  color:#ff71b3!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.16)!important;
}

/* Wall/opening selections match Step 1 — dark surface + pink outline. */
html body.nexgen-v5 .ng3d-reference .ng3d-reference-wall-tabs button{
  background:linear-gradient(180deg,#12171b,#0d1115)!important;
  border-color:#303840!important;
  color:#d6dce0!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-wall-tabs button.active{
  background:
    linear-gradient(135deg,rgba(255,45,143,.12),transparent 48%),
    linear-gradient(180deg,#17171a,#101317)!important;
  border-color:#ff2d8f!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,45,143,.18)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-wall-tabs button.active .ng3d-wall-choice-icon{
  background:#080b0e!important;
  border-color:#59636c!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-wall-tabs button.active small{
  color:#9aa4ab!important;
}

/* Keep white reserved for typography and actual hardware only. */
html body.nexgen-v5 .ng3d-reference .ng3d-draft-strip.has-resume,
html body.nexgen-v5 .ng3d-reference .ng3d-placement-tools,
html body.nexgen-v5 .ng3d-reference .ng3d-exact-position,
html body.nexgen-v5 .ng3d-reference .ng3d-placement-block,
html body.nexgen-v5 .ng3d-reference .ng3d-review-layout-drawer,
html body.nexgen-v5 .ng3d-reference .ng3d-design-tools-drawer,
html body.nexgen-v5 .ng3d-reference .ng3d-precision-drawer{
  background:linear-gradient(180deg,#11161a,#0c1014)!important;
  border-color:#30383f!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-draft-strip button,
html body.nexgen-v5 .ng3d-reference .ng3d-review-contact-jump,
html body.nexgen-v5 .ng3d-reference .ng3d-open-precision{
  background:#171116!important;
  border-color:#71304f!important;
  color:#ff76b6!important;
}

/* Slightly calmer viewer chrome to keep attention on the product. */
html body.nexgen-v5 .ng3d-reference .ng3d-reference-stage-card{
  border-color:#252d33!important;
  box-shadow:0 18px 42px rgba(0,0,0,.42)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-top{
  background:linear-gradient(180deg,#0e1216,#0a0d10)!important;
}

/* DARK14 — Playwright visual-match pass */
html body.nexgen-v5 .ng3d-reference .ng3d-stage{
  background:
    radial-gradient(ellipse at 50% 66%,rgba(255,255,255,.026),transparent 48%),
    linear-gradient(180deg,#05070a 0%,#090c10 70%,#06080b 100%)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage:before{
  opacity:.025!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-glow{display:none!important}
html body.nexgen-v5 .ng3d-reference .ng3d-floor{
  opacity:.08!important;
  border-top-color:#171c20!important;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 72px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 72px)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-measures .ng3d-dimension{
  border-color:#5d666d!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-measures .ng3d-dimension span{
  background:#0c1014!important;
  border-color:#2f373d!important;
  color:#e7ecef!important;
  box-shadow:0 4px 14px rgba(0,0,0,.35)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-measures .ng3d-dimension small,
html body.nexgen-v5 .ng3d-reference .ng3d-orientation-label{
  color:#6f7b83!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-viewer-footer{
  background:#090c0f!important;
  border-top-color:#20262b!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-stage-card{
  background:#080b0e!important;
  border-color:#242b31!important;
}


/* DARK18 — Jordon reference framing lock */
html body.nexgen-v5 .ng3d-reference .ng3d-stage{
  background:
    radial-gradient(ellipse at 50% 65%,rgba(255,255,255,.024),transparent 47%),
    radial-gradient(ellipse at 17% 83%,rgba(255,45,143,.045),transparent 31%),
    linear-gradient(180deg,#05070a 0%,#080b0f 72%,#05070a 100%)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-glow{
  display:block!important;
  opacity:.13!important;
  background:radial-gradient(ellipse at 16% 84%,rgba(255,45,143,.18),rgba(255,45,143,.035) 42%,transparent 72%)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-floor{
  opacity:.07!important;
  border-top-color:#171c20!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-stage-card{
  background:#070a0d!important;
  box-shadow:0 22px 54px rgba(0,0,0,.48)!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-reference-wizard{
  background:#090c0f!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-measures{opacity:.72!important}

@media (max-width:430px){
  html body.nexgen-v5 .ng3d-reference .ng3d-stage{
    height:360px!important;
    min-height:360px!important;
  }
}


/* DARK19 — preset + studio parity */
html body.nexgen-v5 .ng3d-reference .ng3d-camera-presets button{
  min-width:44px!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-camera-presets button.active{
  color:#fff!important;
  border-color:rgba(255,45,143,.72)!important;
  background:linear-gradient(180deg,rgba(255,45,143,.14),rgba(255,45,143,.05))!important;
  box-shadow:inset 0 -2px 0 #ff2d8f!important;
}


/* MATCH25 — user screenshot structural parity lock (2026-10-07)
   Full-width desktop shell, global header, photographic Step 1 studio, white selected base tiles. */
@media (min-width:1100px){
  html body.nexgen-v5 .ng3d-reference{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0 24px 18px!important;
    background:#050608!important;
    overflow-x:hidden!important;
  }
  html body.nexgen-v5 .ng3d-reference-layout{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 425px!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    min-height:calc(100vh - 18px)!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    align-items:start!important;
  }
  html body.nexgen-v5 .ng3d-visual-side{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    gap:14px!important;
  }
  html body.nexgen-v5 .ng3d-reference-topbar{
    box-sizing:border-box!important;
    position:relative!important;
    z-index:50!important;
    width:calc(100% + 439px)!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0 20px!important;
    border:0!important;
    border-top:2px solid #ff1888!important;
    border-bottom:1px solid #242a30!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#090c0f 0%,#050608 100%)!important;
    box-shadow:none!important;
  }
  html body.nexgen-v5 .ng3d-brand-lockup{
    height:100%!important;
    gap:22px!important;
    align-items:center!important;
  }
  html body.nexgen-v5 .ng3d-brand-logo{
    width:auto!important;
    height:46px!important;
    max-height:46px!important;
  }
  html body.nexgen-v5 .ng3d-brand-lockup small{
    position:relative!important;
    padding-left:22px!important;
    color:#d6dce0!important;
    font-size:16px!important;
    font-weight:850!important;
    letter-spacing:.005em!important;
  }
  html body.nexgen-v5 .ng3d-brand-lockup small:before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:50%!important;
    width:1px!important;
    height:33px!important;
    transform:translateY(-50%)!important;
    background:#394149!important;
  }
  html body.nexgen-v5 .ng3d-reference-stage-card{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    border:1px solid #283038!important;
    border-radius:10px!important;
    background:#080b0e!important;
    overflow:hidden!important;
    box-shadow:0 22px 54px rgba(0,0,0,.48)!important;
  }
  html body.nexgen-v5 .ng3d-reference-wizard{
    box-sizing:border-box!important;
    position:relative!important;
    z-index:20!important;
    width:425px!important;
    min-width:425px!important;
    height:calc(100vh - 96px)!important;
    max-height:none!important;
    min-height:650px!important;
    margin-top:78px!important;
    border:1px solid #283038!important;
    border-radius:10px!important;
    background:#090c0f!important;
    overflow:visible!important;
    box-shadow:0 22px 54px rgba(0,0,0,.46)!important;
  }
  html body.nexgen-v5 .ng3d-wizard-header{
    position:relative!important;
    z-index:8!important;
  }
  html body.nexgen-v5 .ng3d-wizard-progress{
    box-sizing:border-box!important;
    position:absolute!important;
    top:-72px!important;
    right:14px!important;
    width:390px!important;
    min-height:54px!important;
    padding:0!important;
    z-index:80!important;
    background:transparent!important;
    border:0!important;
  }
  html body.nexgen-v5 .ng3d-wizard-scroll{
    height:calc(100% - 128px)!important;
    max-height:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  html body.nexgen-v5 .ng3d-stage-top{
    box-sizing:border-box!important;
    min-height:100px!important;
    height:100px!important;
    padding:16px 22px!important;
    background:linear-gradient(180deg,#0e1216,#0a0d10)!important;
    border-bottom:1px solid #252c32!important;
  }
  html body.nexgen-v5 .ng3d-stage-top>div:first-child>small{
    font-size:10px!important;
    letter-spacing:.13em!important;
  }
  html body.nexgen-v5 .ng3d-stage-top #ng3dTitle{
    margin-top:4px!important;
    font-size:21px!important;
    line-height:1.12!important;
  }
  html body.nexgen-v5 .ng3d-stage{
    box-sizing:border-box!important;
    min-height:0!important;
    height:632px!important;
  }
  html body.nexgen-v5 .ng3d-viewer-footer{
    box-sizing:border-box!important;
    min-height:92px!important;
    height:92px!important;
    background:#090c0f!important;
    border-top:1px solid #20262b!important;
  }
  html body.nexgen-v5 .ng3d-camera-presets button[data-camera="overview"]{
    display:none!important;
  }
}

/* Step 1 dark-grey target uses the exact photo-backed studio composition supplied by the user.
   All functional controls, dimensions and price remain live HTML above it. */
@media (min-width:1100px){
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged){
    background-color:#08090b!important;
    background-image:url("/nexgen-designer-preview/assets/nexgen-designer-stage-reference.webp")!important;
    background-position:center center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged) .ng3d-webgl-host,
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged) .ng3d-scene,
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged) .ng3d-floor,
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged) .ng3d-stage-glow{
    opacity:0!important;
    pointer-events:none!important;
  }
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged):before{
    opacity:0!important;
  }
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged)-measures{
    opacity:.88!important;
  }
}

/* Screenshot parity: white/pink active base selections. Keep colour swatches dark. */
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active{
  background:#fff!important;
  background-image:linear-gradient(180deg,#fff 0%,#f5f6f7 100%)!important;
  border:2px solid #ff2d8f!important;
  color:#15181b!important;
  box-shadow:0 0 0 1px rgba(255,45,143,.10),0 8px 20px rgba(0,0,0,.18)!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active b,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active b,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active b{
  color:#15181b!important;
  -webkit-text-fill-color:#15181b!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active small,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active small,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active small{
  color:#747b80!important;
  -webkit-text-fill-color:#747b80!important;
}
html body.nexgen-v5 .ng3d-reference #ng3dSize button.active:after,
html body.nexgen-v5 .ng3d-reference #ng3dHeight button.active:after,
html body.nexgen-v5 .ng3d-reference #ng3dCondition button.active:after{
  background:#ff2d8f!important;
  border-color:#ff65ad!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Finish + live indicator like the supplied reference. */
html body.nexgen-v5 .ng3d-reference .ng3d-stage-colour{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-colour em{
  display:inline-flex!important;
  align-items:center!important;
  color:#98a2a9!important;
  font-size:9px!important;
  font-weight:850!important;
  font-style:normal!important;
  letter-spacing:.055em!important;
}
html body.nexgen-v5 .ng3d-reference .ng3d-stage-colour em:before{
  content:""!important;
  display:inline-block!important;
  width:9px!important;
  height:9px!important;
  margin:0 1px 0 7px!important;
  border-radius:50%!important;
  background:#67df37!important;
  box-shadow:0 0 9px rgba(103,223,55,.45)!important;
}

/* Reference-sized base configuration panel. */
@media (min-width:1100px){
  html body.nexgen-v5 .ng3d-reference .ng3d-wizard-title{
    padding-top:10px!important;
    padding-bottom:18px!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-wizard-title h1{
    font-size:31px!important;
    line-height:1.02!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-dimension-cards{
    gap:9px!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-dimension-cards>div{
    min-height:66px!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-reference-segment{
    gap:8px!important;
  }
  html body.nexgen-v5 .ng3d-reference #ng3dSize button,
  html body.nexgen-v5 .ng3d-reference #ng3dHeight button,
  html body.nexgen-v5 .ng3d-reference #ng3dCondition button{
    min-height:60px!important;
    border-radius:9px!important;
  }
}


/* MATCH25 — opening chooser parity with supplied NEXGEN2 / opening configurator references. */
html body.nexgen-v5>.ng3d-option-modal{
  background:rgba(0,0,0,.76)!important;
  -webkit-backdrop-filter:blur(4px)!important;
  backdrop-filter:blur(4px)!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog{
  width:min(1220px,calc(100vw - 120px))!important;
  max-width:1220px!important;
  max-height:calc(100vh - 92px)!important;
  border:1px solid #303842!important;
  border-radius:12px!important;
  background:#0b1015!important;
  box-shadow:0 34px 110px rgba(0,0,0,.82),0 0 0 1px rgba(255,255,255,.012)!important;
  overflow:hidden!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head{
  box-sizing:border-box!important;
  min-height:120px!important;
  height:120px!important;
  padding:17px 28px!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  align-items:center!important;
  border-bottom:1px solid #303842!important;
  background:linear-gradient(180deg,#10161b 0%,#0b1015 100%)!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head>div{
  align-self:center!important;
  text-align:center!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head small{
  color:#ff2d8f!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.085em!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head h2{
  margin:7px 0 3px!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head p{
  max-width:560px!important;
  margin:0 auto!important;
  color:#abb5bc!important;
  font-size:14px!important;
  line-height:1.35!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-close{
  justify-self:end!important;
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  border:1px solid #202930!important;
  border-radius:9px!important;
  background:#151b20!important;
  color:#cbd2d6!important;
  font-size:30px!important;
  line-height:1!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-close:hover{
  border-color:#ff2d8f!important;
  color:#fff!important;
  background:#1a1116!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-body{
  padding:26px!important;
  background:
    radial-gradient(circle at 9% 18%,rgba(255,45,143,.055),transparent 28%),
    #090d11!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button{
  display:grid!important;
  grid-template-rows:310px 108px!important;
  min-height:418px!important;
  padding:0!important;
  border:1px solid #34404b!important;
  border-radius:14px!important;
  background:#0b1014!important;
  color:#fff!important;
  overflow:hidden!important;
  box-shadow:none!important;
  text-align:left!important;
  transform:none!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button:first-child{
  border:2px solid #ff1888!important;
  box-shadow:0 0 30px rgba(255,24,136,.17)!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button:hover,
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button:focus-visible{
  border-color:#ff2d8f!important;
  box-shadow:0 18px 45px rgba(0,0,0,.38),0 0 0 1px rgba(255,45,143,.18)!important;
  outline:none!important;
  transform:none!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-category-schematic{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  height:310px!important;
  min-height:310px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background-color:#080a0d!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  overflow:hidden!important;
}
html body.nexgen-v5>.ng3d-option-modal [data-addon-category="doors"] .ng3d-category-schematic{
  background-image:url("/nexgen-designer-preview/assets/nexgen-opening-doors-reference.webp")!important;
}
html body.nexgen-v5>.ng3d-option-modal [data-addon-category="windows"] .ng3d-category-schematic{
  background-image:url("/nexgen-designer-preview/assets/nexgen-opening-windows-reference.webp")!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-category-schematic>*{
  opacity:0!important;
  visibility:hidden!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button>span:last-child{
  box-sizing:border-box!important;
  position:relative!important;
  min-height:108px!important;
  padding:20px 92px 18px 28px!important;
  border-top:1px solid #273039!important;
  background:linear-gradient(180deg,#0f151a 0%,#090e12 100%)!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>b{
  display:block!important;
  color:#fff!important;
  font-size:23px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.015em!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>small{
  display:block!important;
  margin-top:7px!important;
  color:#aeb7bd!important;
  font-size:13px!important;
  line-height:1.3!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button>span:last-child:after{
  content:"→"!important;
  position:absolute!important;
  right:22px!important;
  top:50%!important;
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  transform:translateY(-50%)!important;
  border:1px solid #71304f!important;
  border-radius:50%!important;
  background:#1a1016!important;
  color:#ff2d8f!important;
  font-size:30px!important;
  font-weight:500!important;
  line-height:1!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button:first-child>span:last-child:after{
  border-color:#b41f64!important;
  background:#271019!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-footer{
  box-sizing:border-box!important;
  min-height:70px!important;
  height:70px!important;
  padding:12px 26px!important;
  border-top:1px solid #303842!important;
  background:#0c1014!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-footer span small{
  color:#89949b!important;
  font-size:9px!important;
  letter-spacing:.12em!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-footer span b{
  margin-top:4px!important;
  color:#bec7cc!important;
  font-size:13px!important;
}
html body.nexgen-v5>.ng3d-option-modal .ng3d-option-footer>button{
  min-width:88px!important;
  height:44px!important;
  border:1px solid #3a454e!important;
  border-radius:7px!important;
  background:#10151a!important;
  color:#e9edf0!important;
  font-size:12px!important;
  font-weight:850!important;
}

/* Step 2 sidebar in reference is intentionally sparse until the first opening is added. */
@media (min-width:1100px){
  html body.nexgen-v5 .ng3d-reference .ng3d-reference-wizard[data-wizard-current="2"] .ng3d-wizard-title{
    padding-bottom:12px!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-reference-wizard[data-wizard-current="2"] .ng3d-add-opening{
    min-height:58px!important;
    border:1px solid #ff2d8f!important;
    border-radius:8px!important;
    background:linear-gradient(90deg,#df176e,#ef2180)!important;
    color:#fff!important;
    box-shadow:none!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-reference-wizard[data-wizard-current="2"] .ng3d-add-opening>b{
    color:#fff!important;
    font-size:13px!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-reference-wizard[data-wizard-current="2"] .ng3d-add-opening>small{
    display:none!important;
  }
}

/* Keep phone/tablet functional and modal legible without importing desktop geometry. */
@media (max-width:1099px){
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
  }
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head{
    min-height:96px!important;
    height:auto!important;
    padding:14px 12px!important;
    grid-template-columns:46px minmax(0,1fr) 46px!important;
  }
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head h2{font-size:25px!important}
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-dialog-head p{font-size:12px!important}
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-body{padding:12px!important}
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button{
    grid-template-rows:min(43vw,230px) 94px!important;
    min-height:0!important;
  }
  html body.nexgen-v5>.ng3d-option-modal .ng3d-category-schematic{
    height:min(43vw,230px)!important;
    min-height:min(43vw,230px)!important;
  }
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button>span:last-child{
    min-height:94px!important;
    padding:16px 72px 14px 18px!important;
  }
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>b{font-size:20px!important}
  html body.nexgen-v5>.ng3d-option-modal .ng3d-option-categories>button>span:last-child>small{font-size:12px!important}
}


/* MATCH26 — screenshot lock: default load stays on the clean reference composition.
   Ordinary page scrolling/clicking must not explode the WebGL camera into view. */
@media (min-width:1100px){
  html body.nexgen-v5 .ng3d-wizard-progress{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    grid-template-columns:auto 1fr auto 1fr auto!important;
    align-items:center!important;
  }
  html body.nexgen-v5 .ng3d-camera-presets button[data-camera="overview"]{
    display:inline-flex!important;
  }
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged){
    background-color:#07090c!important;
    background-size:contain!important;
    background-position:center!important;
  }
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged) .ng3d-stage-measures{
    opacity:.88!important;
  }
  html body.nexgen-v5 .ng3d-reference:has(.ng3d-reference-wizard[data-wizard-current="1"] [data-color="Dark Grey"].active) .ng3d-stage:not(.ng3d-live-engaged) .ng3d-drag-hint{
    z-index:8!important;
  }
  html body.nexgen-v5 .ng3d-reference .ng3d-stage.ng3d-live-engaged{
    background-image:none!important;
  }
}
