/* Whole-room inspiration and direct placement controls. */
.bath-hero-photo{aspect-ratio:auto;background:#fff}.bath-hero-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.bath-hero-photo>figcaption{position:static;border:0;border-radius:0;padding:19px 22px;background:#fff}
.bath-whole-ideas{padding-block:50px 65px}.bath-whole-ideas .section-heading>p,.home-bath-worlds .section-heading>p{max-width:410px;font-size:17px;line-height:1.7}
.bath-concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.bath-concept-card{min-width:0;display:block;border:1px solid #dce4ec;border-radius:19px;overflow:hidden;background:#fff;color:#22384e;box-shadow:0 13px 36px -28px #25405b40}
.bath-concept-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.bath-concept-photo{display:block;position:relative;width:100%;padding:0;background:#e5ded4;text-align:left;border:0}
.bath-concept-photo>span{position:absolute;bottom:12px;left:12px;border:1px solid #ffffffab;border-radius:20px;background:#fffffff0;color:#285271;padding:7px 10px;font-size:14px;line-height:1.4;backdrop-filter:blur(10px)}
.bath-concept-card>div{padding:20px}.bath-concept-card>div>span{font-size:13px;color:#54718e;font-weight:550;line-height:1.5}.bath-concept-card h3{font-size:25px;line-height:1.18;letter-spacing:-.025em;margin-top:8px}.bath-concept-card p{font-size:16px;line-height:1.7;margin-top:13px;color:#5b6b7d}.bath-concept-card .text-link{font-size:16px;min-height:44px;line-height:1.5;gap:9px;margin-top:15px;text-align:left}
.bath-concept-disclosure{font-size:14px!important;line-height:1.7!important;color:#596d80;margin-top:22px;max-width:960px}.home-bath-worlds{padding-block:45px 75px}.home-bath-worlds>a.text-link{margin-top:24px;font-size:16px}.home-bath-worlds .bath-concept-card>div>p{display:flex;gap:10px;align-items:center;color:#20558e;font-size:16px}.home-bath-worlds .bath-concept-card>div>p .icon{width:18px;height:18px}
.bath-extra-filter{align-self:flex-start;max-width:350px;min-width:0}.bath-extra-filter>summary{cursor:pointer;font-size:15px;color:#4b6884;min-height:44px;align-content:center}.bath-extra-filter .bath-form-filter{margin-top:9px}
.bath-selected-thumb>img{width:100%;height:100%;object-fit:cover;display:block}
.bath-interaction-modes{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px;padding:3px;border:1px solid #d5dde4;border-radius:11px;background:#f5f7f9;flex:none}
.bath-interaction-modes>button{min-width:0;min-height:44px;padding:7px 6px;border:0;border-radius:8px;font-size:16px!important;line-height:1.35;color:#50667c;background:transparent}
.bath-interaction-modes>button[aria-pressed=true]{background:#173e68;color:#fff;box-shadow:0 2px 5px #183e6815}
.bath-room-stage[data-interaction=move] .bath-scene{touch-action:none;cursor:move}.bath-room-stage[data-interaction=move] .bath-webgl canvas{cursor:move}
.bath-placement-panel{margin:0 0 8px;flex:none;background:#fff;border:1px solid #d6e1ec;border-radius:12px;padding:9px}.bath-placement-panel[hidden]{display:none}
.bath-placement-row{display:flex;gap:6px;align-items:center}.bath-placement-row>select{flex:1;min-width:0;width:0;min-height:44px;font:inherit;font-size:16px!important;line-height:1.4;border:1px solid #d8e2ea;border-radius:8px;color:#244a71;background:#f6f9fc;padding:8px 25px 8px 9px}
.bath-placement-row>button{width:44px;height:44px;min-height:44px;min-width:44px;padding:0;display:grid;place-items:center;background:#edf3f9;color:#244f7a;border:1px solid #d4e0ec;border-radius:9px;font-size:26px!important;line-height:1;flex:none}.bath-placement-row>button:disabled,.bath-position-actions>button:disabled{opacity:.4}
.bath-placement-panel>p{font-size:14px!important;line-height:1.5!important;color:#49627c;margin:7px 1px 0}
.bath-placement-details{margin-top:3px}.bath-placement-details>summary{font-size:14px!important;line-height:1.5;min-height:36px;align-content:center;color:#4c6681;cursor:pointer}
.bath-position-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:7px}.bath-position-inputs>label{font-size:16px!important;line-height:1.45;color:#415e7a;min-width:0}.bath-position-inputs>label>span{display:flex;align-items:center;gap:7px;font-size:14px;margin-top:5px}.bath-position-inputs input{width:100%;min-width:0;font:inherit;font-size:18px!important;border:1px solid #ccd9e7;border-radius:8px;min-height:44px;padding:8px;color:#245584;background:#f7f9fc}
.bath-snap-label{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px!important;line-height:1.5;color:#49627c;margin-top:6px}.bath-snap-label>input{width:20px;height:20px;flex:none;accent-color:#1250a4}
.bath-position-actions{display:flex;gap:12px;flex-wrap:wrap}.bath-position-actions>button{font-size:14px!important;min-height:44px;line-height:1.4;padding:8px 4px;background:none;border:0;color:#22588f;text-decoration:underline;text-underline-offset:3px}
.bath-plan-fixture{cursor:pointer;outline:none}.bath-plan-fixture:focus{filter:drop-shadow(0 0 4px #1250a4aa)}.bath-plan-number{font-size:24px;font-family:inherit;font-weight:650;fill:#fff;pointer-events:none}
.bath-plan-badge{pointer-events:none}.bath-plan-badge circle{fill:#1b4f88;stroke:#fff;stroke-width:3}
.bath-dimension-line{fill:none;stroke:#33475c;stroke-width:2.5}
.bath-scene[data-view=plan] .bath-dimension-label{font-size:28px;font-weight:600;fill:#33475c}
@media(max-width:680px){.bath-plan-badge>g{transform:scale(1.7)}.bath-scene[data-view=plan] .bath-dimension-label{font-size:37px}}
@media(max-width:360px){.bath-plan-badge>g{transform:scale(1.9)}.bath-scene[data-view=plan] .bath-dimension-label{font-size:44px}}
.bath-concept-dialog{border:0;padding:0;background:#fff;color:#18304b;max-width:1000px;width:calc(100vw - 40px);max-height:calc(100dvh - 36px);border-radius:22px;overflow:auto;box-shadow:0 30px 100px #10243b50}.bath-concept-dialog::backdrop{background:#0b1c32ab;backdrop-filter:blur(7px)}.bath-concept-dialog>img{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;background:#f1eee8}.bath-concept-dialog>div{padding:27px}.bath-concept-dialog h2{font-size:32px;line-height:1.2;margin-top:13px}.bath-concept-dialog p{font-size:17px;line-height:1.7;margin-top:13px}.bath-concept-dialog .button{margin-top:20px;font-size:16px}.bath-concept-dialog>.dialog-close{position:absolute;top:12px;right:12px;z-index:2;background:#fffef5e8;color:#1d4266;width:44px;height:44px;min-height:44px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;padding:11px}
@media(max-width:1000px){.bath-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}}
@media(max-width:620px){
 .bath-concept-grid{grid-template-columns:1fr;gap:18px}.bath-whole-ideas{padding-block:25px 45px}.bath-concept-card>div{padding:19px}.bath-concept-card h3{font-size:26px}.bath-hero-photo>figcaption{padding:19px}.bath-hero-photo figcaption>strong{font-size:23px}
 .home-bath-worlds{padding-block:25px 45px}.home-bath-worlds .bath-concept-grid{display:flex;overflow-x:auto;gap:13px;scroll-snap-type:x mandatory;padding:0 0 14px;margin-top:23px}.home-bath-worlds .bath-concept-card{min-width:85%;max-width:85%;scroll-snap-align:start;flex:none}.home-bath-worlds .bath-concept-card h3{font-size:24px}
 .bath-gallery-toolbar{align-items:stretch;gap:12px}.bath-extra-filter{max-width:100%;width:100%}.bath-extra-filter .bath-form-filter{min-width:0}
 .bath-room-stage[data-interaction=move] .bath-scene{height:clamp(280px,39svh,350px)}.bath-studio-layout>.bath-room-stage[data-interaction=move] .bath-scene{height:100%}
 .bath-interaction-modes{margin-top:5px}.bath-interaction-modes>button{font-size:16px!important;padding:7px 3px}
 .bath-placement-panel{padding:7px;margin-bottom:6px}.bath-placement-panel>p{font-size:14px!important;margin-top:6px}.bath-concept-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.bath-concept-dialog>div{padding:22px 19px}.bath-concept-dialog h2{font-size:27px}
 .bath-studio-layout .bath-placement-panel>p{display:none}.bath-studio-layout .bath-placement-details:not([open])>summary{min-height:30px;padding-block:4px}.bath-studio-layout .bath-placement-panel{margin-bottom:4px}
}
.bath-placement-row>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-bath-worlds .bath-concept-card{position:relative}.bath-concept-ai{position:absolute;top:10px;left:10px;padding:5px 9px;background:#fffffff0;color:#36536e;border-radius:20px;font-size:13px;line-height:1.4;border:1px solid #ffffffa8}
.bath-placement-panel[data-warning=true]{border-color:#cf9a87;background:#fff9f5}.bath-placement-panel>.bath-placement-warning{color:#98461e;font-size:14px!important;line-height:1.5!important;font-weight:550;margin-top:7px}
