/* Compact controls keep readable type while giving the actual room more space. */
.bath-planner-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:20px}
.bath-room-stage{background:radial-gradient(ellipse at 45% 36%,#fff 25%,#f4f1eb 84%);padding:12px;border-radius:22px;border-color:#e0ded9;box-shadow:0 18px 55px -42px #50453250}
.bath-stage-heading{height:34px;gap:8px;padding-left:7px}
.bath-stage-heading>.eyebrow{max-width:none;font-size:12px!important;letter-spacing:.055em}
.bath-motion-button{width:44px;height:44px;min-height:44px;border:0;background:transparent;box-shadow:none;font-size:18px}
.bath-view-controls{display:grid;grid-template-columns:1fr 1fr 44px;gap:5px;margin-top:6px;padding:4px;border-radius:13px;background:#e9e6e0}
.bath-view-controls>button{border:0;min-height:44px;padding:8px 9px;border-radius:9px;color:#5a6470;font-size:16px!important;background:transparent;white-space:nowrap}
.bath-view-controls>button[aria-pressed=true]{background:#fff;color:#173f6a;box-shadow:0 2px 7px #534b3e12}
.bath-view-controls>#bath-enlarge{padding:4px;font-size:25px!important;line-height:1;min-width:44px;color:#173f6a;background:#ffffff9c}
.bath-scene-wrap{position:relative;margin-top:4px;isolation:isolate}
.bath-scene{height:510px;min-height:0;max-width:none;position:relative;margin:0;overflow:hidden;outline-offset:-3px;border-radius:12px;touch-action:pan-y}
.bath-fallback,.bath-webgl{position:absolute;inset:0 0 50px;overflow:hidden}
.bath-webgl[hidden],.bath-fallback[hidden]{display:none}
.bath-webgl canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}
.bath-fallback>.bath-room-svg{width:100%;height:100%;object-fit:contain;transform-origin:center;overflow:visible}
.bath-scene[data-view=plan] .bath-dimension-label{font-size:54px}
.bath-room-measure{position:absolute;top:13px;left:12px;z-index:1;font-size:14px;font-weight:550;line-height:1.3;color:#4f5b68;pointer-events:none;background:#ffffffb8;border:1px solid #ffffff90;border-radius:7px;padding:5px 7px;backdrop-filter:blur(10px)}
.bath-camera-controls{position:absolute;inset:auto 8px 5px;display:flex;gap:5px;align-items:center;pointer-events:none}
.bath-camera-controls>button{pointer-events:auto;flex:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;min-width:44px;padding:0;border-radius:12px;border:1px solid #ffffffd9;background:#ffffffd4;backdrop-filter:blur(15px);box-shadow:0 2px 7px #28384a0a;color:#254565;font-size:25px!important;line-height:1}
.bath-camera-controls>button:last-child{font-size:24px!important}.bath-camera-controls>span{flex:1}
.bath-camera-controls>button:disabled{opacity:.4;cursor:default}
.bath-room-stage .bath-scene-instruction{font-size:14px!important;line-height:1.45!important;margin:0 4px 8px;color:#5a6674;text-align:center}
.bath-scene-toggles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin:0}
.bath-scene-toggles>button{font-size:16px!important;line-height:1.3;min-height:44px;border:1px solid #dfdfdd;border-radius:10px;padding:8px 5px;text-align:center;color:#536271;background:#fff}
.bath-scene-toggles>button[aria-pressed=true]{background:#e4edf5;border-color:#a8bfd2;color:#164878}
.bath-scene-toggles>#bath-heat-view[aria-pressed=true]{background:#fbe7d3;border-color:#edc8a0;color:#8c461b}
.bath-view-notes{margin-top:6px;padding-inline:4px}
.bath-view-notes>summary{cursor:pointer;min-height:36px;align-content:center;font-size:14px;color:#5b6570;padding:7px 0}
.bath-room-stage .bath-scene-note{font-size:14px!important;line-height:1.6!important;margin:4px 0 9px;color:#5b6570}
.bath-object-legend{gap:7px;margin-top:8px}.bath-object-legend>span{font-size:14px!important}
.bath-planner-controls{padding:16px;border-radius:20px;top:100px}
.bath-control-heading{margin:0 0 12px;align-items:center}.bath-control-heading>strong{font-size:20px;font-weight:650;color:#203a54}.bath-control-heading>button{font-size:14px!important;min-height:44px}
.bath-setting-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;background:#edf1f5;padding:4px;border-radius:12px}
.bath-setting-tabs>button{border:0;min-width:0;min-height:44px;border-radius:9px;background:transparent;color:#596b7d;font:inherit;font-size:16px!important;padding:7px 4px;line-height:1.25}
.bath-setting-tabs>button[aria-selected=true]{background:#173e68;color:#fff;box-shadow:0 3px 8px #173e6820}
.bath-setting-panel{padding-top:14px;min-width:0}.bath-setting-panel[hidden]{display:none}
.bath-setting-panel .bath-select-label{margin:0 0 6px;font-size:16px!important;line-height:1.4}
.bath-planner-controls select{padding:9px 30px 9px 11px;min-height:46px;border-radius:10px;font-size:16px!important;line-height:1.45;background:#fbfcfd;color:#28445f}
.bath-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:13px}
.bath-field-grid[hidden]{display:none}
.bath-field-grid .bath-field{margin:0;padding:0;min-width:0}
.bath-field-grid .bath-field>label{font-size:16px!important;line-height:1.4;margin:0 0 5px;color:#425b72}
.bath-number-row{border:1px solid #dce4ec;border-radius:10px;min-height:44px;margin-top:0;padding:0 9px;background:#f4f7fa;gap:3px}
.bath-number-row>input{width:100%;max-width:none;min-width:0;padding:8px 0;border:0;text-align:left;font-size:19px!important;line-height:1.35;min-height:44px;background:transparent}
.bath-number-row>span{font-size:14px!important;flex:none}
.bath-field-grid input[type=range]{margin:0;height:36px;min-height:36px;width:100%}
.bath-form-info{border-top:1px solid #e5eaf0;margin-top:4px}.bath-form-info>summary{cursor:pointer;min-height:40px;align-content:center;font-size:14px;color:#476482}
.bath-planner-controls .bath-form-info p,.bath-planner-controls .bath-compact-note{font-size:14px!important;line-height:1.6!important;color:#5e7081;margin:8px 0 0}
.bath-planner-controls .bath-panel-intro{font-size:16px!important;line-height:1.5!important;color:#425b72;margin:0 0 12px}
.bath-material-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 17px}
.bath-material-options>button{padding:8px 5px;gap:6px;border-radius:11px;flex-direction:column;line-height:1.35;font-size:16px!important;justify-content:flex-start}
.bath-material-options>button>i{width:100%;height:64px;flex:none;background:linear-gradient(100deg,var(--bath-wall) 55%,var(--bath-wood) 55%);border:1px solid #00000008}
.bath-material-options>button>span{display:block}
.bath-switch-row{padding:12px 0;margin:0;gap:10px;border-bottom:1px solid #e9edf2;min-height:58px}
.bath-switch-row strong{font-size:16px!important;line-height:1.45!important}
.bath-switch-row .solar-switch{flex:none;width:49px;height:29px;min-height:29px;position:relative;overflow:visible}
.bath-switch-row .solar-switch:after{content:'';position:absolute;inset:-8px -1px}
.bath-setting-panel>.text-link{font-size:16px!important;min-height:44px;line-height:1.5;margin-top:12px;gap:10px;text-align:left}
.bath-live-strip{display:flex;justify-content:space-between;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid #e5eaf0;color:#49617b;font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums}
.bath-live-strip>span:first-child{color:#173e68;font-weight:650}
.bath-selected-idea{grid-template-columns:76px minmax(0,1fr);gap:13px;margin-top:12px;padding:12px;border-radius:15px;align-items:center}
.bath-selected-idea .eyebrow{font-size:12px!important;letter-spacing:.035em;line-height:1.5}.bath-selected-idea h3{font-size:18px;line-height:1.35;margin-top:4px}.bath-selected-idea .text-link{font-size:15px!important;min-height:36px;line-height:1.4;margin-top:3px;gap:6px}
.bath-warning-details{margin-top:12px;border:1px solid #d9e2eb;border-radius:12px;background:#ffffff7a;padding:0 12px}
.bath-warning-details>summary{font-size:15px;line-height:1.45;min-height:48px;align-content:center;color:#405970;cursor:pointer}
#bath-warning-count{font-weight:650;color:#9b501d}.bath-warning-details .bath-warnings{margin:0;padding:0 0 14px;background:none;border:0}.bath-warning-details .bath-warnings p,.bath-warning-details .bath-warnings li{font-size:14px!important;line-height:1.6!important}
.bath-studio-dialog{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:1600px;max-height:none;border:1px solid #e1e5e8;border-radius:22px;padding:0;background:#f4f4f1;color:#1d344b;overflow:hidden;margin:auto;box-shadow:0 30px 100px #13263d45}
.bath-studio-dialog::backdrop{background:#112237aa;backdrop-filter:blur(7px)}
.bath-studio-dialog[open]{display:flex;flex-direction:column}
.bath-studio-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:10px 18px;border-bottom:1px solid #e3e3df;background:#fff}
.bath-studio-top>div{display:flex;align-items:baseline;gap:13px;min-width:0}.bath-studio-top strong{font-size:21px}.bath-studio-top span{font-size:14px;color:#67778a}
.bath-studio-top>button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;flex:none;border:0;background:#edf1f5;color:#214364;border-radius:50%;padding:10px}.bath-studio-top svg{width:21px;height:21px}
.bath-studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;min-height:0;flex:1;padding:14px;overflow:hidden}
.bath-studio-layout>.bath-room-stage{min-height:0;display:flex;flex-direction:column;padding:10px;border-radius:15px}
.bath-studio-layout>.bath-room-stage .bath-stage-heading{height:28px;flex:none}
.bath-studio-layout .bath-view-controls{flex:none;margin-top:5px}
.bath-studio-layout .bath-scene-wrap{flex:1;min-height:120px}.bath-studio-layout .bath-scene{position:absolute;inset:0;height:100%;width:100%}
.bath-studio-layout .bath-room-stage>.bath-scene-instruction{flex:none;margin:3px 0 6px}
.bath-studio-layout .bath-scene-toggles{flex:none}.bath-studio-layout .bath-view-notes{display:none}
.bath-studio-layout>.bath-planner-controls{position:static;overflow-y:auto;overscroll-behavior:contain;max-height:100%;border-radius:15px;align-self:start}
.bath-studio-layout #bath-enlarge{display:none}.bath-studio-layout .bath-view-controls{grid-template-columns:1fr 1fr}
.bath-studio-settings{display:none}
@media(min-width:1500px){.bath-scene{height:580px}}
@media(max-width:1100px){.bath-planner-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.bath-scene{height:460px}.bath-studio-layout{grid-template-columns:minmax(0,1fr) 315px}}
@media(max-width:900px){
  .bath-planner-layout{grid-template-columns:1fr;gap:12px}.bath-stage-column{display:contents}
  .bath-planner-layout>.bath-planner-controls{grid-row:2;position:static}.bath-planner-layout .bath-selected-idea{grid-row:3}.bath-warning-details{grid-row:4;margin-top:0}
  .bath-scene{height:clamp(335px,55svh,490px)}.bath-planner-controls{padding:14px}
  .bath-setting-panel{max-width:none}.bath-field-grid{gap:14px}
}
@media(max-width:620px){
  .bath-planner-section{padding-block:38px}.bath-planner-section>.container{width:calc(100% - 24px)}
  .bath-planner-section .section-heading{margin-bottom:20px;gap:16px}.bath-planner-section .section-heading h2{font-size:34px;line-height:1.15}
  .bath-planner-section .section-heading>p{margin-top:0;font-size:17px!important;line-height:1.6!important}
  .bath-room-stage{padding:9px;border-radius:17px}.bath-stage-heading{padding-left:5px}.bath-stage-heading>.eyebrow{font-size:12px!important;letter-spacing:.045em}
  .bath-view-controls{margin-top:3px}.bath-view-controls>button{padding-block:7px;min-height:44px}.bath-view-controls>button:nth-child(n+3){font-size:25px!important}
  .bath-scene{height:clamp(325px,48svh,430px)}.bath-room-measure{left:8px;top:9px;font-size:14px}
  .bath-scene-toggles{gap:5px;margin-top:0}.bath-scene-toggles>button{padding:8px 3px;min-height:44px;font-size:16px!important;white-space:nowrap}
  .bath-room-stage .bath-scene-instruction{font-size:14px!important;line-height:1.4!important;margin:0 0 7px}
  .bath-view-notes{margin-top:2px}.bath-view-notes>summary{min-height:32px;padding-block:5px;font-size:14px}
  .bath-control-heading{margin-bottom:8px}.bath-setting-tabs{gap:2px}.bath-setting-panel{padding-top:12px}
  .bath-material-options{display:grid;flex-direction:initial;margin:0 0 15px}.bath-material-options>button{flex-direction:column;gap:6px;font-size:16px!important;padding:7px 4px;align-items:center;justify-content:flex-start}.bath-material-options>button>i{width:100%;height:54px}
  .bath-field-grid{margin-top:10px;gap:12px}.bath-field-grid .bath-field>label{font-size:16px!important}
  .bath-selected-idea{grid-template-columns:72px minmax(0,1fr);padding:12px;gap:12px;margin-top:0}.bath-selected-thumb{width:auto}.bath-selected-idea h3{font-size:18px;margin-top:3px;line-height:1.3}.bath-selected-idea .eyebrow{font-size:12px!important}.bath-selected-idea .text-link{font-size:15px!important}
  .bath-studio-dialog{width:100%;height:100dvh;max-width:none;margin:0;border:0;border-radius:0}
  .bath-studio-top{min-height:58px;padding:7px 12px;padding-top:max(7px,env(safe-area-inset-top))}.bath-studio-top>div{display:block}.bath-studio-top strong{display:block;font-size:19px}.bath-studio-top span{font-size:13px;line-height:1.3}
  .bath-studio-layout{display:flex;flex-direction:column;gap:8px;padding:8px;overflow:auto}
  .bath-studio-layout>.bath-room-stage{flex:1;min-height:220px;padding:7px}.bath-studio-layout .bath-stage-heading{display:none}
  .bath-studio-layout>.bath-planner-controls{flex:none;display:none;max-height:44dvh;width:100%;padding:12px;align-self:stretch}
  .bath-studio-dialog[data-settings-open=true] .bath-planner-controls{display:block}
  .bath-studio-layout .bath-scene-wrap{min-height:130px}.bath-studio-layout .bath-scene-instruction{font-size:13px!important}
  .bath-studio-settings{display:flex;align-items:center;justify-content:center;gap:20px;flex:none;min-height:52px;width:100%;border:0;border-top:1px solid #dce3e9;background:#fff;color:#204c78;padding:10px 12px max(10px,env(safe-area-inset-bottom));font-size:16px!important;font-weight:600}
  .bath-studio-settings>span{font-size:23px}.bath-studio-dialog[data-settings-open=true] .bath-studio-settings>span{transform:rotate(180deg)}
}
@media(prefers-reduced-motion:reduce){.bath-webgl canvas{transition:none}}
