/* Salt lamp showroom refinement (2026-11-03): larger stage, softer lighting, smooth ON/OFF crossfade,
   refined controls. Functionality and options are unchanged (product-detail-v43.js).
   Honest imagery: a photo is never recoloured to look like another mineral tone. */
.productStudio{padding:56px 0 96px;background:radial-gradient(120% 80% at 18% 10%,#2a1d12 0%,#0b0c0b 52%,#070808 100%)}
@media(min-width:901px){.studioGrid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:64px}}
.visualPanel{height:min(80vh,800px);min-height:600px;border-radius:10px;border-color:rgba(232,183,79,.22);background:
  radial-gradient(60% 50% at 50% 44%,rgba(232,140,52,.20),transparent 70%),
  radial-gradient(90% 60% at 50% 100%,rgba(0,0,0,.85),transparent 60%),
  linear-gradient(180deg,#1b1916 0%,#0e0f0e 62%,#080908 100%);box-shadow:0 40px 90px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04)}
.visualPanel.off{background:radial-gradient(60% 50% at 50% 44%,rgba(120,110,98,.10),transparent 70%),linear-gradient(180deg,#151514,#0b0c0b 62%,#070808)}
.visualPanel:after{inset:auto 18% 21%;height:6%;opacity:.9}
.productHalo{width:58%;left:21%;top:14%;border-color:rgba(238,179,78,.14);box-shadow:0 0 140px 20px rgba(255,139,39,.16);transition:opacity .6s ease,box-shadow .6s ease}
.visualPanel.off .productHalo{opacity:.08;box-shadow:none}
.visualPanel img#productImg{inset:6% 8% 24%;width:84%;height:70%;transition:opacity .38s ease,filter .6s ease,transform .6s ease}
/* Natural lamps have a real photograph for every tone and state: show it as photographed. */
.visualPanel.realState[class*=tone-] img#productImg,.visualPanel.realState.off img#productImg{filter:drop-shadow(0 26px 36px rgba(0,0,0,.72))}
/* Other designs have one photograph: no hue shift for the selected tone; light-off is a dimmed preview. */
.visualPanel:not(.realState)[class*=tone-] img#productImg{filter:drop-shadow(0 26px 36px rgba(0,0,0,.72))}
.visualPanel:not(.realState).off img#productImg{filter:brightness(.42) saturate(.75) drop-shadow(0 20px 28px rgba(0,0,0,.8))}
.visualStatus{top:24px;left:26px}
.visualStatus span{letter-spacing:.22em}
.visualStatus small{display:block;margin-top:4px;color:#a59a86;font-size:12px}
.stageSpecs{left:22px;right:22px;bottom:78px;border-radius:6px;border-color:rgba(232,183,79,.18);background:rgba(8,9,8,.72)}
.stageSpecs span{border-color:rgba(232,183,79,.14);padding:12px 14px}
.stageSpecs small{font-size:9px}
.stageSpecs b{font-size:12px}
.visualControls{left:22px;right:22px;bottom:22px}
.visualControls button{border-radius:999px;padding:12px 18px;border-color:rgba(232,183,79,.35);background:rgba(8,9,8,.7);transition:background .2s,border-color .2s}
.visualControls button:hover,.visualControls button:focus-visible{border-color:#e8b74f;background:rgba(232,183,79,.12)}
.visualPanel img.powerPreview,.powerFallback{right:26px;bottom:150px;width:92px;height:92px;border-radius:8px}
.configPanel h1{font-size:clamp(40px,4.2vw,62px);line-height:1.02}
.selectionSummary{border-radius:0 6px 6px 0}
.configGroup{margin:26px 0}
.configGroup h4{margin:0 0 12px}
.optionRow{gap:8px}
.optionRow button{border-radius:999px;padding:10px 16px;min-height:42px;border-color:rgba(232,183,79,.28);background:rgba(255,255,255,.02);color:#d6d0c4;font-size:13px;transition:background .18s,border-color .18s,color .18s}
.optionRow button:hover{border-color:#e8b74f;color:#fff}
.optionRow button.active{background:#e8b74f;border-color:#e8b74f;color:#17120a;font-weight:700}
.toneNote{margin:10px 0 0;font-size:12px;line-height:1.6;color:#a59a86}
@media(max-width:900px){.studioGrid{grid-template-columns:1fr;gap:32px}.visualPanel{height:620px;min-height:0}}
@media(max-width:560px){.productStudio{padding:0 0 64px}.visualPanel{height:440px;border-radius:0}.visualPanel img#productImg{inset:4% 4% 28%;width:92%;height:66%}.stageSpecs{left:10px;right:10px;bottom:64px}.stageSpecs span{padding:8px 6px}.stageSpecs b{font-size:9px}.visualControls{left:10px;right:10px;bottom:12px}.visualControls button{padding:10px 14px}.visualPanel img.powerPreview,.powerFallback{right:12px;bottom:126px;width:66px;height:66px}.optionRow button{font-size:12px;padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.visualPanel img#productImg,.productHalo{transition:none}.productHalo{animation:none}}
/* Natural lamp photographs are studio shots on a dark backdrop: feather the frame into the stage. */
.visualPanel.realState img#productImg{-webkit-mask-image:radial-gradient(ellipse 70% 74% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 70% 74% at 50% 50%,#000 60%,transparent 100%)}
.visualPanel.realState img#productImg{left:0;right:0;margin:0 auto;width:auto;max-width:92%;aspect-ratio:1122/1402;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 66% 64% at 50% 52%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 66% 64% at 50% 52%,#000 58%,transparent 100%)}
