/*
 * Shared configurator shell — version 1.
 * The shell mirrors the Lysro builder workspace: live product preview on the
 * left, all product choices together on the right. Product-specific rendering
 * remains in demo.css/demo.mjs so the same shell can wrap lamellgardiner later.
 */
.configurator-shell{
  --config-preview-share:.43fr;
  --config-options-share:.57fr;
  display:grid;
  grid-template-columns:minmax(0,var(--config-preview-share)) minmax(430px,var(--config-options-share));
  grid-template-rows:minmax(0,1fr);
  gap:0;
  height:clamp(690px,78vh,820px);
  min-height:690px;
  overflow:hidden;
  border:1px solid #d9d4ca;
  border-top:3px solid var(--accent);
  border-radius:10px;
  background:#fffdf8;
  box-shadow:0 22px 58px #2e271d14;
}
.configurator-preview-pane{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:none;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0;
  padding:18px 20px 16px;
  overflow:hidden;
  background:#e9e8df;
  border-right:1px solid #d5d2c8;
}
.configurator-pane-label{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  margin:0 0 10px;
  color:#665f55;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.configurator-pane-label span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);
}
.configurator-preview-pane .demo-view-tools{
  position:absolute;
  z-index:4;
  top:12px;
  right:15px;
  padding:0;
}
.configurator-preview-pane .demo-stage{
  flex:1 1 auto;
  width:100%;
  min-height:0;
  aspect-ratio:auto;
  border:1px solid #cbc8bd;
  border-radius:7px;
  box-shadow:none;
  background:#dedbd0;
}
.configurator-preview-pane .demo-stage.is-window-view{aspect-ratio:auto}
.configurator-preview-pane figcaption{
  flex:0 0 auto;
  padding-top:8px;
}
.configurator-preview-pane .demo-caption-row{padding-top:0}
.configurator-preview-pane .demo-disclaimer{margin-top:5px}
.configurator-options-pane{
  height:100%;
  min-width:0;
  min-height:0;
  padding:34px clamp(26px,3vw,46px) 38px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:0;
  border-radius:0;
  background:#fffdf8;
  scrollbar-gutter:stable;
}
.configurator-options-pane .demo-options-heading{
  align-items:flex-start;
  margin-bottom:30px;
  padding-bottom:24px;
  border-bottom:1px solid #ded9cf;
}
.configurator-options-pane .demo-options-heading>div{min-width:0}
.configurator-kicker{
  margin:0 0 6px;
  color:var(--accent-deep);
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.configurator-options-pane .demo-options-title{
  font-size:clamp(28px,2.6vw,40px);
  letter-spacing:-.035em;
}
.configurator-options-pane .demo-options-heading>p:last-child{
  max-width:230px;
  padding-top:7px;
  font-size:12px;
  line-height:1.65;
  text-align:right;
}
.configurator-options-pane .demo-form{
  display:flex;
  flex-direction:column;
  gap:26px;
}
.configurator-options-pane .demo-form fieldset{
  padding-bottom:24px;
  border-bottom:1px solid #e4dfd6;
}
.configurator-options-pane .demo-form fieldset:last-child{padding-bottom:0;border-bottom:0}
.configurator-options-pane .demo-form legend{
  margin-bottom:13px;
  font-size:13px;
  font-weight:700;
  color:var(--ink);
}
.configurator-options-pane .control-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
.configurator-options-pane .control-choices .demo-choice>span{
  justify-content:center;
  min-height:52px;
  padding:10px 8px;
}
.configurator-options-pane .profile-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
.configurator-options-pane .profile-choices .demo-choice>span{
  flex-direction:column;
  min-height:76px;
  padding:11px 5px;
  gap:10px;
}
.configurator-options-pane .textile-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
.configurator-options-pane .textile-choices .demo-choice>span{
  justify-content:center;
  min-height:58px;
  padding:11px 8px;
}
.configurator-options-pane .demo-note{
  margin-top:27px;
  padding-top:20px;
}
@media(max-width:1020px){
  .configurator-shell{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    height:auto;
    min-height:0;
    overflow:visible;
  }
  .configurator-preview-pane{
    height:auto;
    min-height:590px;
    border-right:0;
    border-bottom:1px solid #d5d2c8;
  }
  .configurator-preview-pane .demo-stage{min-height:500px;aspect-ratio:1.18}
  .configurator-preview-pane .demo-stage.is-window-view{aspect-ratio:694/798;min-height:0}
  .configurator-options-pane{height:auto;overflow:visible}
}
@media(max-width:700px){
  .configurator-shell{border-radius:8px}
  .configurator-preview-pane{min-height:0;padding:13px 12px 12px}
  .configurator-pane-label{margin-bottom:8px;font-size:9px}
  .configurator-preview-pane .demo-view-tools{top:7px;right:9px}
  .configurator-preview-pane .demo-stage{min-height:0;aspect-ratio:1.18}
  .configurator-preview-pane .demo-stage.is-window-view{aspect-ratio:694/798}
  .configurator-options-pane{padding:25px 14px 27px}
  .configurator-options-pane .demo-options-heading{display:block;margin-bottom:25px;padding-bottom:21px}
  .configurator-options-pane .demo-options-heading>p:last-child{max-width:none;padding-top:7px;text-align:left}
  .configurator-options-pane .demo-options-title{font-size:29px}
  .configurator-options-pane .demo-form{gap:23px}
  .configurator-options-pane .demo-form fieldset{padding-bottom:22px}
  .configurator-options-pane .control-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .configurator-options-pane .profile-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
  .configurator-options-pane .textile-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.configurator-options-pane{scroll-behavior:auto}}
