/* CRANE product-page visual system; configuration behavior is unchanged. */
#crane-neon-studio{--ns-ink:#17232b;--ns-muted:#677781;--ns-line:#d9dfe3;--ns-accent:var(--crane-orange,#f47a20);--ns-accent-text:#a34300;--ns-soft:#fff7ef;--ns-surface:#f5f7f7;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:32px;margin:28px 0 0;color:var(--ns-ink);font-family:inherit;font-size:13px;line-height:1.65}
#crane-neon-studio *{box-sizing:border-box}
#crane-neon-studio [hidden]{display:none!important}
#crane-neon-studio button,#crane-neon-studio select,#crane-neon-studio input{font:inherit}
#crane-neon-studio button{cursor:pointer}
#crane-neon-studio button:disabled{cursor:default;opacity:.45}
#crane-neon-studio button:focus-visible,#crane-neon-studio select:focus-visible,#crane-neon-studio input:focus-visible{outline:3px solid #ae4800;outline-offset:3px}

/* Product and catalogue views */
#crane-neon-studio .ns-product{min-width:0;display:grid;grid-template-rows:minmax(30px,auto) 400px minmax(90px,auto)}
#crane-neon-studio .ns-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}
#crane-neon-studio .ns-panel-head strong{font-weight:700}
#crane-neon-studio .ns-panel-head>span{color:var(--ns-muted);font-size:11px}
#crane-neon-studio .ns-stage{position:relative;overflow:hidden;min-width:0;background:#17232b;border-radius:8px 8px 0 0;touch-action:pan-y}
#crane-neon-studio canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y}
#crane-neon-studio .ns-product-meta{position:absolute;z-index:2;top:22px;left:22px;display:flex;flex-direction:column;gap:4px;pointer-events:none}
#crane-neon-studio .ns-product-meta strong{color:#fff;font-size:14px;font-weight:700;letter-spacing:.15px}
#crane-neon-studio .ns-product-meta>span{color:#c0c9cf;font-size:11px}
#crane-neon-studio .ns-view-tabs{position:absolute;z-index:3;top:20px;right:20px;display:flex;gap:3px;padding:4px;border:1px solid #ffffff30;border-radius:7px;background:#17232bd9}
#crane-neon-studio .ns-view-tabs button{min-height:32px;padding:6px 10px;border:0;border-radius:4px;background:transparent;color:#d0d8dd;font-size:10px;font-weight:650;transition:background-color .15s,color .15s}
#crane-neon-studio .ns-view-tabs button:hover:not([aria-pressed=true]){background:#ffffff14;color:#fff}
#crane-neon-studio .ns-view-tabs button[aria-pressed=true]{background:var(--ns-accent);color:var(--ns-ink);font-weight:750}
#crane-neon-studio .ns-image-view{position:absolute;inset:80px 20px 80px;display:flex;align-items:center;justify-content:center;background:#141c21}
#crane-neon-studio .ns-image-view img{width:100%;height:100%;object-fit:contain}
#crane-neon-studio .ns-profile-view{position:absolute;inset:80px 22px 75px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px}
#crane-neon-studio .ns-profile-view>span{color:#c0c9cf;font-size:10px;font-weight:650;letter-spacing:.8px}
#crane-neon-studio .ns-profile-view img{width:100%;max-height:175px;padding:12px;background:#fff;border-radius:4px;object-fit:contain}
#crane-neon-studio .ns-profile-view p{margin:0;color:#c0c9cf;font-size:11px;line-height:1.7;text-align:center}
#crane-neon-studio .ns-render-placeholder{position:absolute;inset:80px 0;display:flex;align-items:center;justify-content:center;background:#17232b;color:#c0c9cf;font-size:12px;pointer-events:none}
#crane-neon-studio .ns-product-caption{position:absolute;right:20px;bottom:40px;left:22px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#d0d8dd;font-size:11px}
#crane-neon-studio .ns-product-caption>span:before{content:'';display:inline-block;width:5px;height:5px;margin-right:8px;background:var(--ns-accent);border-radius:50%}
#crane-neon-studio [data-ns-reset]{width:36px;height:36px;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#17232b55;color:#e5ebef;font-size:23px;line-height:1}
#crane-neon-studio [data-ns-reset]:hover{border-color:var(--ns-accent);color:var(--ns-accent)}
#crane-neon-studio .ns-view-hint{position:absolute;right:16px;bottom:17px;left:16px;margin:0;color:#b1bec6;font-size:10px;line-height:1.5;text-align:center}
#crane-neon-studio .ns-facts{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:16px;margin:0;padding:20px 22px;border:1px solid var(--ns-line);border-top:0;border-radius:0 0 8px 8px;background:var(--ns-surface)}
#crane-neon-studio .ns-facts>div{display:flex;flex-direction:column;gap:7px;min-width:0}
#crane-neon-studio .ns-facts dt{color:var(--ns-muted);font-size:9px;font-weight:500;letter-spacing:.35px}
#crane-neon-studio .ns-facts dd{margin:0;color:var(--ns-ink);font-size:14px;font-weight:650;white-space:nowrap}

/* Controls use the existing product model selector's colours and radii. */
#crane-neon-studio .ns-configuration{min-width:0;padding:24px;border:1px solid var(--ns-line);border-radius:8px;background:#fff}
#crane-neon-studio .ns-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
#crane-neon-studio .ns-eyebrow{margin:0 0 8px;color:#ae4800;font-size:10px;font-weight:800;line-height:1.5;letter-spacing:1.2px}
#crane-neon-studio .ns-config-head h3{margin:0;color:var(--ns-ink);font-size:27px;font-weight:750;line-height:1.2;letter-spacing:-.8px;text-transform:none}
#crane-neon-studio .ns-model-context{padding:5px 8px;border:1px solid #f6d4b9;border-radius:5px;background:var(--ns-soft);color:var(--ns-accent-text);font-size:10px;font-weight:700;white-space:nowrap}
#crane-neon-studio .ns-intro{margin:12px 0 22px;color:var(--ns-muted);font-size:12px;line-height:1.65}
#crane-neon-studio .ns-beam{display:flex;align-items:center;gap:12px;margin:0 0 22px;padding:12px 14px;border:1px solid #e6eaed;border-radius:6px;background:var(--ns-surface)}
#crane-neon-studio .ns-beam svg{width:66px;height:66px;flex-shrink:0}
#crane-neon-studio .ns-beam svg stop{stop-color:var(--ns-accent)}
#crane-neon-studio .ns-beam svg path[fill=none]{stroke:var(--ns-accent)}
#crane-neon-studio .ns-beam>div{display:flex;flex-direction:column;gap:4px}
#crane-neon-studio .ns-beam strong{color:var(--ns-ink);font-size:36px;font-weight:700;line-height:1;letter-spacing:-1.5px}
#crane-neon-studio .ns-beam strong>span{color:var(--ns-accent);font-size:26px;vertical-align:top}
#crane-neon-studio .ns-beam div>span{color:var(--ns-muted);font-size:11px}
#crane-neon-studio .ns-beam>p{margin:0 0 0 auto;color:var(--ns-muted);font-size:10px;line-height:1.7}
#crane-neon-studio .ns-control{margin:0 0 22px}
#crane-neon-studio .ns-control:last-child{margin-bottom:0}
#crane-neon-studio .ns-control-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--ns-ink);font-size:13px;font-weight:650}
#crane-neon-studio .ns-control-title [data-ns-config-note]{color:var(--ns-muted);font-size:10px;font-weight:400}
#crane-neon-studio output{color:var(--ns-accent-text);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
#crane-neon-studio select{width:100%;min-height:46px;padding:11px 38px 11px 14px;border:1px solid var(--ns-line);border-radius:6px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23677781' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;color:var(--ns-ink);font-size:13px;font-weight:500;appearance:none;cursor:pointer}
#crane-neon-studio select:hover{border-color:#87959f}
#crane-neon-studio .ns-cct-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#crane-neon-studio .ns-cct-options button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 3px;border:1px solid var(--ns-line);border-radius:6px;background:#fff;color:#465963;font-size:12px;font-weight:650;transition:border-color .15s,background-color .15s,color .15s}
#crane-neon-studio .ns-cct-options button:before{content:'';display:block;flex-shrink:0;width:8px;height:8px;border:1px solid #17232b22;border-radius:50%;background:var(--cct)}
#crane-neon-studio .ns-cct-options button:hover{border-color:var(--ns-accent)}
#crane-neon-studio .ns-cct-options button[aria-pressed=true]{border-color:var(--ns-accent);background:var(--ns-soft);color:var(--ns-accent-text)}
#crane-neon-studio .ns-rgb{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-height:44px}
#crane-neon-studio .ns-rgb input{width:40px;height:36px;padding:2px;border:1px solid var(--ns-line);border-radius:5px;background:#fff;cursor:pointer}
#crane-neon-studio .ns-colour-presets{display:flex;gap:10px}
#crane-neon-studio .ns-colour-presets button{width:24px;height:24px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--ns-line)}
#crane-neon-studio .ns-colour-presets button:hover{box-shadow:0 0 0 2px var(--ns-accent)}
#crane-neon-studio .ns-white-channel{min-height:36px;padding:6px 10px;border:1px solid var(--ns-line);border-radius:5px;background:#fff;color:var(--ns-ink);font-size:11px;font-weight:650}
#crane-neon-studio .ns-white-channel:hover,#crane-neon-studio .ns-white-channel[aria-pressed=true]{border-color:var(--ns-accent);background:var(--ns-soft);color:var(--ns-accent-text)}

@media(max-width:1100px){
 #crane-neon-studio{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}
 #crane-neon-studio .ns-configuration{padding:20px}
 #crane-neon-studio .ns-config-head h3{font-size:24px}
 #crane-neon-studio .ns-beam{gap:10px;padding:12px}
 #crane-neon-studio .ns-beam svg{width:50px}
 #crane-neon-studio .ns-beam>p{font-size:9px}
 #crane-neon-studio .ns-view-tabs{top:18px;right:15px}
 #crane-neon-studio .ns-view-tabs button{padding:6px 7px;font-size:9px}
 #crane-neon-studio .ns-product-meta{left:18px}
 #crane-neon-studio .ns-facts{gap:10px;padding:20px 16px}
 #crane-neon-studio .ns-facts dt{font-size:8px}
 #crane-neon-studio .ns-facts dd{font-size:13px}
}
@media(max-width:767px){
 #crane-neon-studio{display:flex;flex-direction:column;gap:24px;margin-top:24px}
 #crane-neon-studio .ns-product{width:100%;grid-template-rows:minmax(30px,auto) 360px minmax(88px,auto)}
 #crane-neon-studio .ns-configuration{width:100%;padding:22px}
 #crane-neon-studio .ns-config-head h3{font-size:26px}
 #crane-neon-studio .ns-product-meta{top:20px}
 #crane-neon-studio .ns-panel-head>span{font-size:10px}
 #crane-neon-studio .ns-facts{padding:18px 16px}
 #crane-neon-studio .ns-facts dt{font-size:8px}
 #crane-neon-studio .ns-beam>p{font-size:10px}
 #crane-neon-studio .ns-product-caption{left:18px;font-size:10px}
 #crane-neon-studio .ns-profile-view{inset:80px 18px 80px;gap:14px}
 #crane-neon-studio .ns-profile-view img{max-height:140px}
 #crane-neon-studio .ns-profile-view>span{font-size:9px}
}
@media(max-width:380px){
 #crane-neon-studio .ns-configuration{padding:18px 14px}
 #crane-neon-studio .ns-config-head{gap:8px}
 #crane-neon-studio .ns-config-head h3{font-size:23px}
 #crane-neon-studio .ns-model-context{padding:5px 6px;font-size:9px}
 #crane-neon-studio .ns-beam{gap:8px;padding:10px}
 #crane-neon-studio .ns-beam svg{width:42px}
 #crane-neon-studio .ns-beam strong{font-size:32px}
 #crane-neon-studio .ns-beam>p{font-size:9px}
 #crane-neon-studio .ns-control-title{font-size:12px}
 #crane-neon-studio .ns-view-tabs{top:70px;left:18px;right:auto}
 #crane-neon-studio .ns-image-view,#crane-neon-studio .ns-profile-view{inset:120px 16px 80px}
 #crane-neon-studio .ns-profile-view img{max-height:100px}
 #crane-neon-studio .ns-profile-view>span{font-size:8px}
 #crane-neon-studio .ns-facts{gap:8px;padding:18px 12px}
 #crane-neon-studio .ns-facts dd{font-size:12px}
}
/* Directional-bend studios: four product and reference view tabs. */
.neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-view-tabs{top:72px;left:22px;right:auto}
.neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-view-tabs button{padding:6px 8px}
.neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-image-view,
.neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-profile-view{inset:124px 22px 78px}
@media(max-width:767px){
 .neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-view-tabs{left:18px}
 .neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-image-view,
 .neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-profile-view{inset:124px 18px 78px;gap:10px}
 .neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-profile-view img{max-height:105px}
 .neon-page:is([data-group=neon-top],[data-group=neon-side],[data-group=neon-three-side]) #crane-neon-studio .ns-profile-view p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){#crane-neon-studio button{transition:none!important}}

.neon-page[data-group=neon-side] #crane-neon-studio .ns-facts dd{white-space:normal;overflow-wrap:break-word}

/* Allow the illustrative-lighting caption to wrap above the preview. */
#crane-neon-studio .ns-panel-head{padding-bottom:8px}
#crane-neon-studio .ns-panel-head strong{flex-shrink:0;white-space:nowrap}
#crane-neon-studio .ns-panel-head>span{min-width:0;text-align:right}

/* Retain the plain-text illustration note below the original 3D preview. */
#crane-neon-studio .ns-preview-note{grid-column:1/-1;margin:0;padding-top:18px;border-top:1px solid var(--ns-line);color:var(--ns-muted);font-size:13px;line-height:1.7}

/* Compact, server-rendered selection guidance for all neon flex series. */
#crane-neon-studio .ns-config-help{padding-top:16px;border-top:1px solid var(--ns-line);color:var(--ns-muted);font-size:12px;line-height:1.7}
#crane-neon-studio .ns-config-help p{margin:0}
#crane-neon-studio .ns-config-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px}
#crane-neon-studio .ns-config-links a{color:var(--ns-accent-text);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
#crane-neon-studio .ns-config-links a:focus-visible{outline:3px solid #ae4800;outline-offset:3px}
