/* NP5 unified configurator: native routes adopt the Family/Compact Box panel presentation. */
/* Archive configurator text (configurator-v9.css) set below 11px: lifted to 11px with the same selectors and media
   conditions, so every rule further down this file, and the colour fix for the build note, still wins. */
.eyebrow,.step i,.layers span,.badge,.selection-strip small,.viewer-note,.option small,.option .tick,.quiet,.bottom .fine,.summary-row button,.build-info,.chips span,.model-source,.step-counter{font-size:11px}
.build-info{color:#6b7780}
@media (max-width:800px){.step i,.layers li,.badge,.area,.caption,.status-message,.viewer .eyebrow,.bottom .fine{font-size:11px}}
body.np5-unified{--uc-ink:#182c42;--uc-navy:#0b2046;--uc-muted:#607080;--uc-line:#dce1e5;--uc-focus:#417ca9;background:#fff}
body.np5-unified .workspace{padding-bottom:48px!important;background:#fff}
/* Six thin-underlined steps */
body.np5-unified #steps{background:#fff;border-bottom:1px solid var(--uc-line)}
body.np5-unified #steps .step{background:transparent!important;color:var(--uc-muted)!important;border:0;border-bottom:3px solid transparent;border-radius:0;font-size:12px}
body.np5-unified #steps .step[aria-current="step"]{color:var(--uc-navy)!important;border-bottom-color:var(--uc-navy);font-weight:700}
body.np5-unified #steps .step[aria-current="step"] span:first-child,body.np5-unified #steps .step[aria-current="step"] i{background:var(--uc-navy);color:#fff;border-color:var(--uc-navy)}
body.np5-unified #steps .step.np5-uc-done{color:var(--uc-ink)!important}
body.np5-unified #steps .step:focus-visible,body.np5-unified .np5-uc-actions button:focus-visible,body.np5-unified .np5-uc-details summary:focus-visible,body.np5-unified #controls :focus-visible{outline:3px solid var(--uc-focus);outline-offset:3px}
/* Large left stage, opaque caption below */
body.np5-unified .viewer{position:static}
body.np5-unified .status-row,body.np5-unified #visual-caption{width:auto!important;max-width:none!important;box-sizing:border-box}
body.np5-unified .visual{height:clamp(300px,38vw,560px);background:#fff;border:1px solid var(--uc-line);border-bottom:0;border-radius:6px 6px 0 0}
body.np5-unified .visual:not(.assembly):not(.material):not(.interior)>img{width:100%;height:100%;padding:0;object-fit:contain}
/* Native image changes can reset .assembly; use the actual visible legend. */
body.np5-unified .visual:has(>#assembly-copy:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;min-height:0;overflow:visible}
body.np5-unified .visual:has(>#assembly-copy:not([hidden]))>#main-image{width:100%;height:auto;max-height:560px;padding:12px;box-sizing:border-box;object-fit:contain;min-width:0}
body.np5-unified #assembly-copy{width:auto;max-width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere}
body.np5-unified #assembly-copy .layers li{font-size:12px;line-height:1.5;min-width:0}
body.np5-unified #assembly-copy .layers span{flex-shrink:0}
body.np5-unified .status-row{margin:0;padding:12px 16px 0;border:1px solid var(--uc-line);border-top:1px solid var(--uc-line);border-bottom:0;background:#fff}
body.np5-unified #visual-caption{margin:0;padding:6px 16px 14px;border:1px solid var(--uc-line);border-top:0;border-radius:0 0 6px 6px;background:#fff;color:var(--uc-muted);font-size:12px;line-height:1.55}
/* Selected option states */
body.np5-unified #controls .option:has(input:checked){border:2px solid var(--uc-navy);background:#fbfcfd}
body.np5-unified #controls .option:has(input:focus-visible){outline:3px solid var(--uc-focus);outline-offset:3px}
/* Retired fixed footer: native nodes it still owns are mirrored in the card */
body.np5-unified footer.bottom[data-np5-uc-retired]{display:none!important}
/* Local Back / progress / Next below options */
.np5-uc-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:24px 0 0;padding:14px 0 0;border-top:1px solid var(--uc-line)}
.np5-uc-mid{min-width:0;display:grid;gap:6px}
.np5-uc-progress{margin:0;color:var(--uc-muted);font-size:11px;font-weight:650;line-height:1.4;text-align:center;overflow-wrap:anywhere}
.np5-uc-bar{display:block;height:2px;background:var(--uc-line);overflow:hidden}
.np5-uc-bar i{display:block;height:100%;background:var(--uc-navy);transform-origin:left;transition:transform .3s ease}
body.np5-unified .np5-uc-actions #back-step,body.np5-unified .np5-uc-actions #next-step{min-height:44px;padding:10px 16px;border:1px solid var(--uc-navy);border-radius:5px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}
body.np5-unified .np5-uc-actions #back-step{background:#fff;color:var(--uc-navy)}
body.np5-unified .np5-uc-actions #back-step:disabled,body.np5-unified .np5-uc-actions #back-step[hidden]{opacity:.45;cursor:not-allowed}
body.np5-unified .np5-uc-actions #next-step{background:var(--uc-navy);color:#fff}
body.np5-unified .np5-uc-actions #next-step:hover{background:#1b3766}
/* Compact price / enquiry card */
.np5-uc-card{margin:20px 0 0;padding:20px;border:1px solid var(--uc-line);border-radius:6px;background:#fff;color:var(--uc-ink)}
.np5-uc-kicker{margin:0 0 8px;color:var(--uc-muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.np5-uc-name{margin:0 0 6px;font-size:18px;font-weight:600;letter-spacing:-.02em}
.np5-uc-price strong{display:block;font-size:clamp(20px,2.2vw,28px);font-weight:550;letter-spacing:-.04em;line-height:1.2}
.np5-uc-price span{display:block;margin-top:4px;color:var(--uc-muted);font-size:12px}
.np5-uc-price[data-state="loading"] strong{color:var(--uc-muted)}
.np5-uc-price[data-state="error"] strong{color:#8a3d2c}
.np5-uc-count{margin:10px 0 14px;color:var(--uc-muted);font-size:12px;line-height:1.5}
.np5-uc-count:empty{display:none}
.np5-uc-details{border-top:1px solid var(--uc-line);padding-top:12px}
.np5-uc-details summary{min-height:32px;cursor:pointer;color:var(--uc-navy);font-size:13px;font-weight:650}
.np5-uc-list{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);margin:10px 0 0}
.np5-uc-list dt,.np5-uc-list dd{margin:0;padding:8px 6px 8px 0;border-bottom:1px solid var(--uc-line);font-size:12px;line-height:1.45}
.np5-uc-list dt{color:var(--uc-muted)}
.np5-uc-list dd{font-weight:600;overflow-wrap:anywhere}
.np5-uc-empty{grid-column:1/-1;color:var(--uc-muted);font-weight:400!important}
/* One public price location; preserve the legacy breakdown inside details. */
body.np5-unified.pp-pilot #pp-panel>.pp-price{display:none}
.np5-uc-breakdown:empty{display:none}
.np5-uc-breakdown{margin-top:14px}
/* Responsive single-column flow, nothing sticky or clipped */
@media(max-width:900px){
 body.np5-unified .workspace{display:block!important}
 body.np5-unified .viewer,body.np5-unified .choices{position:static!important;width:auto;max-width:none;border-left:0;padding-left:0;min-height:0;overflow:visible}
 body.np5-unified .visual{height:clamp(250px,70vw,480px)}
 body.np5-unified .visual:has(>#assembly-copy:not([hidden])){grid-template-columns:minmax(0,1fr)}
 body.np5-unified #assembly-copy{padding:16px}
 body.np5-unified #steps{overflow-x:auto;scroll-snap-type:x proximity}
 body.np5-unified #steps .step{flex:0 0 auto;scroll-snap-align:start;min-height:48px}
}
@media(max-width:480px){
 .np5-uc-actions{grid-template-columns:1fr 1fr}
 .np5-uc-mid{grid-column:1/-1;grid-row:1}
 body.np5-unified .np5-uc-actions #back-step,body.np5-unified .np5-uc-actions #next-step{width:100%}
}
@media(prefers-reduced-motion:reduce){.np5-uc-bar i{transition:none}}
@media print{.np5-uc-actions,.np5-uc-details summary{display:none}}

/* Rusty and selected Cupcake projects: approved panel first step + hierarchy. */
body.np5-unified.np5-panel-project .choices{border-left:0!important;box-shadow:none}
body.np5-unified.np5-panel-project #controls [data-np5-uc-src]{display:none!important}
body.np5-unified.np5-panel-project #controls #choice-heading{margin:0 0 8px;color:var(--uc-ink);font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.2}
body.np5-unified.np5-panel-project #controls>.intro{max-width:580px;margin:0 0 22px;color:var(--uc-muted);font-size:13px;line-height:1.6}
body.np5-unified.np5-panel-project #controls .group-title{color:var(--uc-ink);font-size:13px;font-weight:650;letter-spacing:0;text-transform:none}
body.np5-unified.np5-panel-project .viewer-header{display:none}
.np5-uc-project{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center;padding:15px;border:1px solid var(--uc-line);border-radius:6px;background:#fff;color:var(--uc-ink)}
.np5-uc-project-img{width:100%;height:96px;object-fit:cover;border-radius:3px;display:block}
.np5-uc-project-kicker{margin:0 0 6px;color:var(--uc-muted);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.np5-uc-project-body>strong{display:block;font-size:19px;font-weight:600;margin-bottom:4px}
.np5-uc-project-body>span{display:block;color:var(--uc-muted);font-size:12px;line-height:1.5}
.np5-uc-project-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;align-items:center}
.np5-uc-project-plan{display:inline-flex;gap:10px;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--uc-line);border-radius:4px;background:#fff;color:var(--uc-navy);font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.np5-uc-project-plan:hover{border-color:var(--uc-navy)}
.np5-uc-project-cat{color:var(--uc-navy);font-size:12px;text-underline-offset:3px}
.np5-uc-project :focus-visible{outline:3px solid var(--uc-focus);outline-offset:3px}
.np5-uc-pricing-tools{margin-top:14px}
.np5-uc-pricing-tools>summary{min-height:36px;padding-block:6px;color:var(--uc-navy);font-size:13px;font-weight:650;cursor:pointer;line-height:1.5}
body.np5-unified.np5-panel-project .np5-uc-pricing-tools .np5-pricing{margin:12px 0 0;padding:0;background:#fff;font-family:inherit;color:var(--uc-ink)}
body.np5-unified.np5-panel-project .np5-uc-pricing-tools .np5-pricing h3{font-family:inherit;font-size:17px;line-height:1.4}
body.np5-unified.np5-panel-project .np5-uc-pricing-tools .np5-pricing p{font-size:12px;line-height:1.6}
.np5-uc-model-switch{margin-top:12px;grid-column:1/-1}
.np5-uc-model-switch>summary{min-height:44px;padding-block:10px;cursor:pointer;font-size:13px;font-weight:650;color:var(--uc-navy)}
.np5-uc-model-switch .group{margin:12px 0 0}
.np5-uc-model-switch .group-title{display:none}
/* The main stage already shows this photo. Do not repeat it when columns stack. */
@media(max-width:900px){.np5-uc-project{grid-template-columns:minmax(0,1fr)}.np5-uc-project-img{display:none}}
/* Approved first-screen order: steps → original photo → live selection caption. */
body.np5-panel-project[data-np5-uc-step="0"][data-np5-uc-view="exterior"] #visual{height:auto;aspect-ratio:auto;border:0;border-radius:0}
body.np5-panel-project[data-np5-uc-step="0"][data-np5-uc-view="exterior"] #visual>#main-image{width:100%;height:auto;max-height:none;padding:0;object-fit:contain;display:block}
.np5-uc-visual-summary{padding:14px 0 0;background:#fff;color:var(--uc-ink)}
.np5-uc-visual-kicker{margin:0;font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.1em}
body.np5-panel-project .np5-uc-visual-summary #selection-strip{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:8px 0 0;padding:0;border:0;background:transparent}
body.np5-panel-project .np5-uc-visual-summary #selection-strip>div{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:baseline;gap:8px;width:auto;min-width:0;border:0;padding:0}
.np5-uc-visual-summary #selection-strip small{color:var(--uc-muted);font-size:12px;text-transform:none;letter-spacing:0;word-break:normal;overflow-wrap:normal}
.np5-uc-visual-summary #selection-strip strong{font-size:12px;font-weight:650;word-break:normal;overflow-wrap:break-word}
body.np5-panel-project[data-np5-uc-step="0"] .step-counter{display:none}
body.np5-panel-project .choices{border:0!important}
.np5-uc-visual-note{margin:6px 0 0;color:var(--uc-muted);font-size:11px;line-height:1.5}
.np5-uc-view-tools{margin-top:8px}
.np5-uc-view-tools>summary{cursor:pointer;font-size:11px;line-height:1.6;color:var(--uc-muted);padding-block:6px}
body.np5-panel-project .np5-uc-view-tools :is(.status-row,#visual-caption){border:0;border-radius:0;padding:0;margin:8px 0}
.np5-uc-view-tools .views{margin-top:8px}
.np5-uc-save-tools{margin-top:12px}
.np5-uc-save-tools>summary{cursor:pointer;font-size:13px;font-weight:650;line-height:1.5;min-height:36px;padding-block:6px;color:var(--uc-navy)}
.np5-uc-save-tools .top-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 16px;padding:8px 0}
.np5-uc-save-tools .text-btn{min-height:44px;border:0}
