/* --- Raumplaner V2 (2026-10-17): big interactive room, light in-place picker, numbers on demand --- */
.rp-hero{padding-top:112px;padding-bottom:clamp(18px,2.2vw,28px)}
.rp-hero .breadcrumbs{margin-bottom:.9rem}
.rp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 3rem;flex-wrap:wrap}
.rp-head .eyebrow{margin-bottom:.7rem}
.rp-hero h1{font-size:clamp(2.4rem,3.9vw,3.9rem);margin:0}
.rp-hero h1 .line{display:inline}
.rp-head .lead{margin:0 0 .4rem;max-width:24rem;font-size:clamp(.98rem,1.1vw,1.08rem);color:rgba(238,231,221,.74)}
.rp{--rp-paper:#f6f2eb;--rp-ink:#1c1a17;--rp-mute:#6f665a;--rp-line:rgba(28,26,23,.12);--rp-gold:#8a7448;padding-bottom:3rem}
.rp-stage{position:relative;height:clamp(480px,calc(100vh - 340px),860px);background:radial-gradient(110% 85% at 50% 38%,#2c2824 0%,#1b1916 58%,#121110 100%);overflow:hidden}
.rp-view{position:absolute;inset:0}
.rp-gl{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;outline:none;opacity:0;transition:opacity .9s var(--ease)}
.rp-stage.is-ready .rp-gl{opacity:1}
.rp-gl.is-hover{cursor:pointer}
.rp-stage.is-moving .rp-gl{cursor:grabbing}
.rp-gl:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}
/* glass controls on the stage */
.rp-top{position:absolute;inset:14px 14px auto;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none;z-index:3}
.rp-top>*{pointer-events:auto}
.rp-pill{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;padding:0 1rem;border-radius:99px;border:1px solid rgba(238,231,221,.18);background:rgba(20,18,16,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--cream);font:500 .74rem/1 var(--sans);letter-spacing:.1em;cursor:pointer;transition:background .3s,border-color .3s}
.rp-pill:hover{background:rgba(20,18,16,.72);border-color:rgba(210,184,145,.5)}
.rp-room-name{text-transform:uppercase;letter-spacing:.14em}
.rp-room-dims{color:var(--taupe);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.rp-edit{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;border-left:1px solid rgba(238,231,221,.18);padding-left:.65rem}
.rp-cam{display:flex;align-items:center;gap:6px}
.rp-rot{width:44px;padding:0;justify-content:center}
.rp-rot svg,.rp-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rp-dots{display:flex;gap:5px;padding:0 4px}
.rp-dots i{width:5px;height:5px;border-radius:50%;background:rgba(238,231,221,.3);transition:background .3s,transform .3s}
.rp-dots i.on{background:var(--gold);transform:scale(1.25)}
.rp-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;z-index:2;font:500 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(238,231,221,.72);pointer-events:none;transition:opacity .6s;white-space:nowrap}
.rp-hint.done{opacity:0}
.rp-label{right:14px;bottom:14px;left:auto;top:auto}
.rp-stage.has-picker .rp-label{opacity:0}
/* hotspots: obvious tap targets; once a tile is set they become small swatch rings */
.rp-hotspots{position:absolute;inset:0;pointer-events:none;z-index:2}
.rp-hs{position:absolute;white-space:nowrap;transform:translate(-50%,-50%);pointer-events:auto;display:inline-flex;align-items:center;gap:.5rem;min-height:36px;padding:0 .95rem 0 .4rem;border:0;border-radius:99px;background:rgba(246,242,235,.94);color:#1c1a17;font:500 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.28);transition:opacity .35s,transform .35s var(--ease),background .3s}
.rp-hs[hidden]{display:none}
.rp-hs:hover,.rp-hs:focus-visible{background:#fff}
.rp-hs-dot{position:relative;width:26px;height:26px;border-radius:50%;flex:0 0 auto;background:var(--gold);display:grid;place-items:center;overflow:hidden}
.rp-hs-dot::before,.rp-hs-dot::after{content:'';position:absolute;background:#1c1a17;border-radius:1px}
.rp-hs-dot::before{width:10px;height:1.6px}.rp-hs-dot::after{width:1.6px;height:10px}
.motion .rp-hs:not(.is-set) .rp-hs-dot{animation:rp-pulse 2.6s var(--ease) infinite}
@keyframes rp-pulse{0%,60%,100%{box-shadow:0 0 0 0 rgba(210,184,145,.55)}30%{box-shadow:0 0 0 9px rgba(210,184,145,0)}}
.rp-hs.is-mini{padding:0;width:36px;justify-content:center}
.rp-hs.is-mini .rp-hs-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rp-hs.is-set{padding:0;min-height:0;width:34px;height:34px;justify-content:center;background:rgba(246,242,235,.95);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.rp-hs.is-set .rp-hs-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rp-hs.is-set .rp-hs-dot{width:28px;height:28px;background:#d9d1c4;box-shadow:inset 0 0 0 1px rgba(28,26,23,.18)}
.rp-hs.is-set .rp-hs-dot::before,.rp-hs.is-set .rp-hs-dot::after{display:none}
.rp-hs-dot img{width:100%;height:100%;object-fit:cover}
.rp-hs.is-active{box-shadow:0 0 0 2px var(--gold),0 6px 22px rgba(0,0,0,.3)}
.rp-stage.is-moving .rp-hs,.rp-stage.has-rooms .rp-hs{opacity:0;pointer-events:none}
.rp-stage:not(.is-ready) .rp-hs{opacity:0}
/* light sheets: floating panel on desktop, bottom sheet on phones */
.rp-sheet{position:absolute;top:14px;right:14px;bottom:14px;width:min(384px,calc(100% - 28px));z-index:5;background:var(--rp-paper);color:var(--rp-ink);border-radius:4px;box-shadow:0 24px 70px rgba(0,0,0,.42);padding:18px 18px 14px;display:flex;flex-direction:column;gap:12px;overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateX(14px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.rp-sheet.in{opacity:1;transform:none}
.rp-sheet[hidden]{display:none}
.rp-grip{display:none}
.rp-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;position:sticky;top:-18px;z-index:2;margin:-18px -18px 0;padding:18px 18px 6px;background:var(--rp-paper)}
.rp-where{margin:0 0 .35rem;font:500 .64rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rp-gold)}
.rp-sheet-title{font:400 1.75rem/1.05 var(--serif);color:var(--rp-ink);margin:0}
.rp-x{flex:0 0 auto;width:40px;height:40px;margin:-6px -6px 0 0;border:0;border-radius:50%;background:none;color:var(--rp-ink);cursor:pointer;display:grid;place-items:center}
.rp-x:hover{background:rgba(28,26,23,.06)}
.rp-sheet :focus-visible{outline:2px solid var(--rp-gold);outline-offset:2px}
.rp-presets{display:flex;gap:6px;flex-wrap:wrap}
.rp-series{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-18px;padding-inline:18px}
.rp-series::-webkit-scrollbar{display:none}
.rp-series .rp-chip-s{flex:0 0 auto}
.rp-chip-s{min-height:34px;padding:0 .8rem;border-radius:99px;border:1px solid var(--rp-line);background:none;color:var(--rp-ink);font:500 .7rem/1 var(--sans);letter-spacing:.08em;cursor:pointer;transition:background .25s,border-color .25s}
.rp-chip-s:hover{border-color:rgba(28,26,23,.35)}
.rp-chip-s[aria-pressed=true]{background:var(--rp-ink);border-color:var(--rp-ink);color:var(--rp-paper)}
.rp-sheet>*{flex-shrink:0}
.rp-roomsheet{overflow:auto}
.rp-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;align-content:start;flex:1 1 auto;min-height:150px;overflow:auto;margin:0 -6px;padding:4px 6px 6px;scrollbar-width:thin}
.rp-sw{display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;color:var(--rp-ink);cursor:pointer;text-align:left;min-width:0}
.rp-sw-img{position:relative;display:block;aspect-ratio:1;border-radius:3px;overflow:hidden;background:#ddd5c8;box-shadow:inset 0 0 0 1px rgba(28,26,23,.08);transition:transform .45s var(--ease),box-shadow .3s}
.rp-sw-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.rp-sw:hover .rp-sw-img{transform:translateY(-2px)}
.rp-sw[aria-pressed=true] .rp-sw-img{box-shadow:0 0 0 2px var(--rp-paper),0 0 0 3.5px var(--rp-ink)}
.rp-sw[aria-pressed=true] .rp-sw-img::after{content:'';position:absolute;right:6px;bottom:6px;width:18px;height:18px;border-radius:50%;background:var(--rp-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23f6f2eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.rp-sw-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.rp-sw-t b{font:500 .82rem/1.2 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-sw-t small{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rp-mute)}
.rp-opts{display:grid;gap:10px;border-top:1px solid var(--rp-line);padding-top:12px}
.rp-opt{display:grid;grid-template-columns:5.6rem 1fr;align-items:center;gap:8px}
.rp-walltoggle{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:0;border:0;background:none;color:var(--rp-ink);cursor:pointer;text-align:left}
.rp-walltoggle[hidden]{display:none}
.rp-walltoggle span{width:5.6rem;flex:0 0 auto;font:500 .64rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rp-mute)}
.rp-walltoggle b{flex:1;font:400 .8rem/1.3 var(--sans);border-bottom:1px solid rgba(28,26,23,.2);padding-bottom:2px}
.rp-walltoggle i{width:8px;height:8px;border-right:1.5px solid var(--rp-ink);border-bottom:1.5px solid var(--rp-ink);transform:rotate(45deg) translateY(-3px);transition:transform .3s}
.rp-walltoggle[aria-expanded=true] i{transform:rotate(-135deg)}
.rp-wallbox{display:grid;gap:10px}
.rp-wallbox[hidden]{display:none}
.rp-opt[hidden]{display:none}
.rp-opt>span{font:500 .64rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rp-mute)}
.rp-seg{display:flex;flex-wrap:wrap;gap:4px}
.rp-seg-b{min-height:34px;padding:0 .62rem;border-radius:2px;border:1px solid var(--rp-line);background:none;color:var(--rp-ink);font:400 .78rem/1 var(--sans);cursor:pointer;font-variant-numeric:tabular-nums}
.rp-seg-b[aria-pressed=true]{background:var(--rp-ink);color:var(--rp-paper);border-color:var(--rp-ink)}
.rp-sheet-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 1rem;margin-top:auto}
.rp-sheet .text-button{background:none;border:0;border-bottom:1px solid rgba(28,26,23,.25);color:var(--rp-ink);font:inherit;font-size:.82rem;cursor:pointer;min-height:40px;padding:0}
.rp-sheet .text-button:hover{border-color:var(--rp-ink);color:var(--rp-ink)}
.rp-sheet .text-button[hidden]{display:none}
.rp-field{display:grid;gap:.35rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rp-mute)}
.rp-field span{display:flex;align-items:center;gap:.4rem;color:var(--rp-ink);text-transform:none;letter-spacing:0;font-size:.85rem}
.rp-sheet input{width:100%;min-width:0;min-height:44px;border:0;border-bottom:1px solid rgba(28,26,23,.28);border-radius:0;background:none;color:var(--rp-ink);font:400 1.05rem var(--sans);padding:0 .1rem;letter-spacing:0;text-transform:none}
.rp-sheet input:focus{outline:none;border-color:var(--rp-ink)}
.rp-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rp-sub{margin:.4rem 0 0;font:500 .64rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rp-mute)}
.rp-rooms{list-style:none;margin:0;padding:0;display:grid}
.rp-rooms li{display:flex;align-items:center;border-bottom:1px solid var(--rp-line)}
.rp-room-load{flex:1;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;min-height:46px;border:0;background:none;color:var(--rp-ink);cursor:pointer;padding:0;text-align:left}
.rp-room-load b{font:400 1.15rem/1.1 var(--serif)}
.rp-room-load small{color:var(--rp-mute);font-variant-numeric:tabular-nums}
.rp-rooms .is-current .rp-room-load b::after{content:'';display:inline-block;width:6px;height:6px;margin-left:.5rem;border-radius:50%;background:var(--rp-gold);vertical-align:middle}
.rp-room-del{min-width:44px;min-height:44px;border:0;background:none;color:var(--rp-mute);cursor:pointer;font-size:.9rem}
.rp-room-del:hover{color:var(--rp-ink)}
.rp-fine{margin:0;font-size:.74rem;line-height:1.5;color:var(--rp-mute)}
/* own photo: the quieter second mode, the stage grows with the photo */
.rp-stage[data-mode=photo]{height:auto;min-height:0;padding:clamp(14px,2vw,24px) 0 18px}
.rp-photo-view{position:relative;inset:auto;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 14px}
.rp-photo-view[hidden]{display:none}
.rp-photo-view .pv-photo{width:min(100%,calc(min(66vh,700px) * var(--ar,1.3333)));aspect-ratio:var(--ar,4/3)}
.rp-photo-view .pv-photo-empty{color:rgba(238,231,221,.8)}
.rp-photo-tools{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:.4rem 1.6rem;color:var(--cream)}
.rp-photo-tools[hidden]{display:none}
.rp-photo-tools .rp-field{color:var(--taupe)}
.rp-photo-tools .rp-field span{color:var(--cream)}
.rp-photo-tools input{width:6.5rem;min-height:40px;background:none;border:0;border-bottom:1px solid rgba(238,231,221,.3);color:var(--cream);font:400 1rem var(--sans)}
.rp-photo-tools input:focus{outline:none;border-color:var(--gold)}
.rp-photo-tools .text-button{background:none;border:0;border-bottom:1px solid rgba(210,184,145,.5);color:var(--cream);cursor:pointer;font:inherit;font-size:.86rem;padding:0}
.rp-photo-name{margin:0;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);flex-basis:100%;text-align:center}
.rp-photo-view .pv-help{margin:0;font-size:.78rem;color:var(--taupe);text-align:center;max-width:40rem}
/* one calm summary line + CTA; numbers live behind "Details" */
.rp-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 2rem;padding:1.2rem 0 1rem;border-bottom:1px solid var(--line-dark)}
.rp-summary{margin:0;font:400 clamp(1.2rem,1.7vw,1.55rem)/1.25 var(--serif);color:var(--cream);flex:1 1 22rem;min-width:0}
.rp-summary.is-empty{color:var(--taupe)}
.rp-actions{display:flex;align-items:center;gap:1.4rem}
.rp-actions .button{min-width:min(100%,290px)}
#pl-inquire[aria-disabled=true]{background:none;border-color:rgba(210,184,145,.32);color:rgba(238,231,221,.45);pointer-events:none}
.rp-actions .text-button{background:none;border-top:0;border-left:0;border-right:0;color:var(--cream);cursor:pointer;font:inherit;font-size:.86rem}
.rp-min{flex-basis:100%;margin:0;font-size:.8rem;color:var(--taupe)}
.rp-min[hidden]{display:none}
.rp-details{padding:1.6rem 0 .6rem;border-bottom:1px solid var(--line-dark)}
.rp-details[hidden]{display:none}
.rp-d-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)}
.rp-d-col h3{font:500 .66rem/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem}
.rp-d-list{list-style:none;margin:0;padding:0}
.rp-d-list li{display:grid;grid-template-columns:minmax(7rem,auto) 1fr auto;gap:.3rem 1rem;padding:.55rem 0;border-bottom:1px solid rgba(210,184,145,.12);font-size:.86rem}
.rp-d-list li span:nth-child(2){color:var(--taupe)}
.rp-num{font-variant-numeric:tabular-nums;text-align:right}
.rp-line{padding-bottom:1rem}
.rp-line+.rp-line{border-top:1px solid rgba(210,184,145,.18);padding-top:1rem}
.rp-line-name{margin:0 0 .3rem;font:400 1.2rem/1.2 var(--serif)}
.rp-line dl{margin:0;display:grid}
.rp-line dl div{display:flex;justify-content:space-between;gap:1rem;padding:.38rem 0;border-bottom:1px solid rgba(210,184,145,.1);font-size:.86rem}
.rp-line dt{color:var(--taupe)}.rp-line dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}
.rp-line .rp-total dd{font:400 1.35rem/1.1 var(--serif)}
.rp-line .pl-avail{margin:.7rem 0 0}
.rp-grand{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:.4rem 0 0;padding-top:.8rem;border-top:1px solid var(--gold)}
.rp-grand b{font:400 1.7rem/1 var(--serif);font-weight:400}
.rp-d-empty{color:var(--taupe);margin:0}
.rp-details .calc-note{margin:1.2rem 0 0;font-size:var(--fine,.8rem);color:var(--taupe)}
.rp-more{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem 1.6rem;padding-top:.9rem}
.rp-more-note{font-size:.76rem;color:var(--taupe);margin-right:auto}
.rp-more .text-button{background:none;border-top:0;border-left:0;border-right:0;color:var(--cream);cursor:pointer;font:inherit;font-size:.86rem}
.rp-more .rp-quiet{color:var(--taupe);border-color:rgba(210,184,145,.25)}
.rp-more [hidden]{display:none}
.rp .planner-privacy{margin-top:clamp(28px,4vw,48px)}
.no-gl .rp-hotspots{position:absolute;inset:auto 16px 56px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.no-gl .rp-hs{position:static;transform:none}
.no-gl .rp-top .rp-cam{display:none}
@media (min-width:761px){.rp-hero.shell,.rp.shell{width:calc(100% - var(--gutter)*2)}.rp-sheet{max-height:calc(100svh - 116px)}}
@media (max-width:1024px){.rp-d-body{grid-template-columns:1fr}}
@media (max-width:760px){
  .rp-hero{padding-bottom:14px}
  .rp-hero .breadcrumbs{display:none}
  .rp-hero h1{font-size:clamp(2.1rem,9.4vw,2.6rem)}
  .rp-head .lead{display:none}
  .rp-stage{margin-inline:calc(-1*var(--gutter));height:min(72svh,640px);min-height:440px}
  .rp-top{inset:10px 10px auto}
  .rp-pill{min-height:40px;padding:0 .8rem;gap:.5rem;font-size:.68rem}
  .rp-rot{width:40px;padding:0}
  .rp-dots{display:none}
  .rp-edit{display:none}
  .rp-label{right:10px;bottom:10px}
  .rp-hint{bottom:44px;font-size:.62rem}
  .rp-sheet{position:fixed;inset:auto 0 0 0;width:auto;max-height:min(60svh,540px);border-radius:16px 16px 0 0;padding:10px 16px calc(14px + env(safe-area-inset-bottom));z-index:60;transform:translateY(24px);gap:12px;overflow:auto}
  .rp-grip{display:block;width:40px;height:4px;border-radius:2px;background:rgba(28,26,23,.18);margin:0 auto -2px;flex:0 0 auto}
  .rp-sheet-title{font-size:1.4rem}
  .rp-sheet-head{top:-10px;margin:-6px -16px 0;padding:6px 16px 4px}
  .rp-sheet{gap:9px}
  .rp-sw-img{border-radius:2px}
  .rp-swatches::-webkit-scrollbar{display:none}
  .rp-swatches{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:auto;grid-auto-columns:86px;overflow-x:auto;overflow-y:hidden;min-height:0;scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:-16px;padding:4px 16px 4px;gap:10px;flex:0 0 auto}
  .rp-opt{grid-template-columns:5.6rem 1fr;align-items:center}
  .rp-swatches{scroll-padding-inline:16px}
  .rp-sw{scroll-snap-align:start}
  .rp-dims{gap:10px}
  .rp-bar{padding-top:1rem;gap:.9rem}
  .rp-summary{flex-basis:100%;font-size:1.2rem}
  .rp-actions{width:100%;justify-content:space-between}
  .rp-actions .button{flex:1;min-width:0;padding:0 1rem;font-size:.74rem;letter-spacing:.1em}
  .rp-stage.has-picker .rp-hs{opacity:0;pointer-events:none}
  .rp-series{margin-inline:-16px;padding-inline:16px}
  .rp-d-list li{grid-template-columns:1fr auto}
  .rp-d-list li span:nth-child(2){grid-column:1;grid-row:2;font-size:.8rem}
  .rp-d-list li .rp-num{grid-column:2;grid-row:1/span 2;align-self:center}
  .rp-more{gap:.1rem 1.2rem}
  .rp-more-note{flex-basis:100%;order:2;margin:0 0 .4rem}
  .rp-photo-view{padding:0}
  .rp-photo-view .pv-photo{width:100%}
  .rp-stage[data-mode=photo]{padding-top:0}
}
@media (prefers-reduced-motion:reduce){
  .rp-sheet,.rp-gl,.rp-hs,.rp-sw-img{transition:none}
  .rp-sheet{transform:none}
}
