/* =========================================================
   ARISTAS — Room-builder v2 · "modo Sims" jugable
   Plano arquitectónico + piezas SVG vista-planta, drag&drop,
   rotación, día/noche. Usa tokens de aristas.css.
   ========================================================= */
.rb2{display:grid;grid-template-columns:1.15fr .85fr;align-items:start}
/* +15% legibilidad en las zonas de texto (el plano NO se escala para no afectar el arrastre) */
.rb2__panel,.rb2__caption,.rb2__bar,.rb2__hint{zoom:1.15}

/* ---------- STAGE ---------- */
.rb2__stage{position:sticky;top:0;background:var(--bg-light);border-right:1px solid var(--border);min-height:100vh;display:flex;align-items:flex-start;transition:background .6s var(--ease)}
.rb2__stageinner{width:100%;padding:20px 44px 32px}

/* barra superior: vista + día/noche */
.rb2__bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.rb2__viewtoggle,.rb2__dn{display:inline-flex;border:1px solid var(--border);border-radius:99px;overflow:hidden;background:#fff}
.rb2__viewtoggle button,.rb2__dn button{border:none;background:none;padding:9px 20px;font-size:12px;letter-spacing:.06em;color:var(--text-2);cursor:pointer;transition:.25s var(--ease);display:flex;align-items:center;gap:7px}
.rb2__dn button svg{width:13px;height:13px;flex:none}
.rb2__viewtoggle button.is-sel{background:var(--ink);color:#fff}
.rb2__dn button.is-sel{background:var(--ink);color:#fff}

/* ---------- PLANO ---------- */
.rb2__plan{position:relative;display:flex;justify-content:center;align-items:flex-start;min-height:0;padding:10px 0 34px;animation:rb2in .6s var(--ease)}
.rb2__plan[hidden]{display:none}
@keyframes rb2in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* la sala: piso + paredes arquitectónicas */
.room{position:relative;border-radius:3px;user-select:none;-webkit-user-select:none;
  background:
    repeating-linear-gradient(0deg,transparent 0 33px,rgba(140,115,87,.14) 33px 34px),
    repeating-linear-gradient(90deg,transparent 0 89px,rgba(140,115,87,.06) 89px 90px),
    linear-gradient(135deg,#f7efdf,#f0e4cf);
  box-shadow:inset 0 0 0 1.5px rgba(111,90,68,.28),inset 0 0 60px rgba(140,115,87,.10)}
.room.is-ready{transition:width .5s var(--ease),height .5s var(--ease),background .6s var(--ease)}
.room::before{content:"";position:absolute;inset:-13px;border:13px solid #d8cbb2;border-radius:6px;pointer-events:none;
  box-shadow:0 0 0 1.5px rgba(111,90,68,.45),0 24px 50px -30px rgba(42,36,32,.45);transition:border-color .6s var(--ease)}
.room.is-anim .pz{transition:left .5s var(--ease),top .5s var(--ease),width .5s var(--ease),height .5s var(--ease)}

/* ventana (pared superior) */
.room__win{position:absolute;top:-13px;height:13px;z-index:2;background:linear-gradient(#faf8f1,#edf0e9);
  border-left:2.5px solid #a89577;border-right:2.5px solid #a89577}
.room__win::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:#b9ac93}

/* puerta (pared inferior) + arco de giro */
.room__door{position:absolute;bottom:-13px;height:13px;z-index:2;background:var(--bg-light)}
.room__arc{position:absolute;bottom:0;z-index:1;overflow:visible;pointer-events:none}
.room__arc path,.room__arc line{stroke:rgba(140,115,87,.55);stroke-width:1.5px}
.room__arc path{stroke-dasharray:4 4}

/* escala 1 m */
.room__scale{position:absolute;left:12px;bottom:10px;display:flex;align-items:center;gap:8px;z-index:1;pointer-events:none}
.room__scale i{display:block;height:1.5px;background:var(--text-3);position:relative;opacity:.7}
.room__scale i::before,.room__scale i::after{content:"";position:absolute;top:-3px;width:1.5px;height:7.5px;background:var(--text-3)}
.room__scale i::before{left:0}.room__scale i::after{right:0}
.room__scale span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}

.room__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;margin:0;
  font-size:13px;color:var(--text-3);letter-spacing:.03em;text-align:center;padding:0 30px;pointer-events:none}
.room__empty[hidden]{display:none}

/* ---------- PIEZAS ---------- */
.pz{position:absolute;z-index:2;cursor:grab;touch-action:none}
.pz:active{cursor:grabbing}
.pz__art{position:absolute;left:50%;top:50%;transition:transform .35s var(--ease);
  filter:drop-shadow(0 5px 9px rgba(42,36,32,.26))}
.pz__art svg{width:100%;height:100%;display:block}
/* max-width:none anula el reset global img{max-width:100%}, que al girar
   (la caja pasa a ser más angosta) encogía la imagen de la pieza. */
img.pz__art{object-fit:contain;display:block;max-width:none;max-height:none}
/* capas: tapete al piso (debajo), muebles en medio, accesorios encima */
.pz--tapete{z-index:1}
.pz--tapete .pz__art{filter:drop-shadow(0 2px 4px rgba(42,36,32,.12))}
.pz--jarron,.pz--lampara{z-index:4}
.pz.is-drag{z-index:7}
.pz.is-drag .pz__art{filter:drop-shadow(0 13px 18px rgba(42,36,32,.32))}
.pz.is-sel{z-index:5}
.pz.is-sel::after{content:"";position:absolute;inset:-5px;border:1.5px dashed var(--accent);border-radius:9px;pointer-events:none}
.pz.is-colliding::after{content:"";position:absolute;inset:-5px;border:1.5px solid #b0603a;border-radius:9px;pointer-events:none}
.pz.is-hint .pz__art{filter:drop-shadow(0 5px 9px rgba(42,36,32,.26)) drop-shadow(0 0 10px rgba(140,115,87,.65))}
.pz.is-pop{animation:pzPop .45s var(--ease)}
@keyframes pzPop{0%{opacity:0;transform:scale(1.22)}60%{transform:scale(.97)}100%{opacity:1;transform:scale(1)}}
.pz.is-out{opacity:0;transform:scale(.85);transition:opacity .24s var(--ease),transform .24s var(--ease);pointer-events:none}

/* glow de la lámpara (solo de noche) */
.pz__glow{position:absolute;left:50%;top:50%;width:380%;height:380%;transform:translate(-50%,-50%);
  border-radius:50%;background:radial-gradient(circle,rgba(255,199,115,.55),rgba(255,199,115,0) 66%);
  opacity:0;transition:opacity .7s var(--ease);pointer-events:none;z-index:-1}

/* ---------- GUÍAS (distancia a paredes al arrastrar) ---------- */
.guide{position:absolute;z-index:6;pointer-events:none}
.guide[hidden]{display:none}
.guide--h{border-top:1.5px dashed rgba(140,115,87,.6)}
.guide--v{border-left:1.5px dashed rgba(140,115,87,.6)}
.guide span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;
  background:#fff;border:1px solid var(--border);border-radius:99px;padding:1px 8px;
  font-size:10px;font-weight:600;color:var(--accent-ink);box-shadow:0 3px 8px -4px rgba(42,36,32,.4)}
.guide--h span{top:0}
.guide--v span{left:0}
.guide span[hidden]{display:none}

/* ---------- TOOLBAR DE PIEZA ---------- */
.pztools{position:absolute;z-index:9;transform:translate(-50%,-100%);display:flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--border);border-radius:99px;padding:5px 6px 5px 14px;white-space:nowrap;
  box-shadow:0 12px 28px -14px rgba(42,36,32,.5)}
.pztools[hidden]{display:none}
.pztools.is-below{transform:translate(-50%,0)}
.pztools__name{font-size:11.5px;font-weight:600;color:var(--espresso);letter-spacing:.02em}
.pztools__dims{font-size:10.5px;color:var(--text-3)}
.pztools button{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:#fff;
  display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:.22s var(--ease);padding:0}
.pztools button svg{width:13px;height:13px}
.pztools button:hover{border-color:var(--accent);color:var(--accent)}
#toolDel:hover{border-color:#b0603a;color:#b0603a}

/* hint flotante */
.rb2__hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:8;white-space:nowrap;
  background:rgba(255,255,255,.92);backdrop-filter:blur(5px);border:1px solid var(--border);border-radius:99px;
  padding:7px 16px;font-size:11.5px;color:var(--text-2);letter-spacing:.03em;
  box-shadow:0 10px 24px -14px rgba(42,36,32,.45);transition:opacity .4s var(--ease)}
.rb2__hint kbd{font-family:inherit;font-size:10px;font-weight:600;background:var(--cream);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--accent-ink)}
.rb2__hint.is-out{opacity:0}
.rb2__hint[hidden]{display:none}

/* ---------- FOTO (inspiración) ---------- */
.rb2__photo{padding:26px 0 20px}
.rb2__photo[hidden]{display:none}
.ph{position:relative;max-width:640px;margin:0 auto;aspect-ratio:2752/1536;border-radius:10px;overflow:hidden;
  box-shadow:0 16px 40px -18px rgba(42,36,32,.5)}
.ph__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s var(--ease)}
.ph__img.is-active{opacity:1}
.ph__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid var(--border);font-size:20px;color:var(--espresso);
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:.25s var(--ease)}
.ph__nav:hover{background:#fff}
.ph__nav--prev{left:12px}.ph__nav--next{right:12px}
.ph__dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.ph__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.65);border:none;box-shadow:0 0 0 1px rgba(0,0,0,.15);padding:0}
.ph__dot.is-sel{background:var(--espresso)}
.ph__caption{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:12px;color:var(--text-3);letter-spacing:.04em;margin:16px 0 0}
.ph__toplan{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:99px;padding:9px 18px;font-size:12px;letter-spacing:.05em;font-weight:600;cursor:pointer;transition:.22s var(--ease)}
.ph__toplan:hover{background:#000;transform:translateY(-1px)}
.ph__toplan:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}

/* ---------- CAPTION + MEDIDOR ---------- */
.rb2__caption{text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.rb2__captitle{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:22px;color:var(--ink);transition:color .6s var(--ease)}
.rb2__m2lbl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:600;margin-top:-4px}
.rb2__m2{display:flex;gap:8px;justify-content:center}
.rb2__m2 .m2c{border:1px solid var(--border);background:#fff;border-radius:99px;padding:8px 16px;font-size:12.5px;color:var(--text-2);cursor:pointer;transition:.22s var(--ease)}
.rb2__m2 .m2c:hover{border-color:var(--taupe)}
.rb2__m2 .m2c.is-sel{background:var(--ink);border-color:var(--ink);color:#fff}
/* control de tamaño: presets con nombre + campos Ancho × Largo */
.rb2__size{display:flex;flex-direction:column;align-items:center;gap:10px}
.rb2__m2invite{max-width:340px;text-align:center;font-size:12px;line-height:1.45;color:var(--text-2)}
.rb2__m2invite b{color:var(--accent-ink);font-weight:600}
.rb2__dims{display:flex;align-items:center;gap:10px}
.rb2__dim{display:inline-flex;align-items:baseline;gap:8px;border:1px solid var(--taupe);border-radius:10px;padding:8px 14px;background:#fff;cursor:text;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.rb2__dim:hover{border-color:var(--clay)}
.rb2__dim:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(140,115,87,.14)}
.rb2__dim > span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:600}
/* el número va subrayado punteado → señal clara de "escribe aquí" */
.rb2__dim input{width:46px;border:none;border-bottom:1.5px dashed var(--clay);outline:none;background:none;font:inherit;font-size:16px;font-weight:700;color:var(--ink);text-align:center;padding:0 2px 1px;caret-color:var(--clay)}
.rb2__dim:focus-within input{border-bottom-style:solid;border-bottom-color:var(--ink)}
.rb2__dim em{font-style:normal;font-size:12.5px;color:var(--text-3)}
.rb2__dimx{color:var(--text-3);font-size:15px}
.meter{width:min(340px,80%);height:6px;border-radius:99px;background:var(--sand);overflow:hidden}
.meter i{display:block;height:100%;width:0;border-radius:99px;background:var(--taupe);transition:width .5s var(--ease),background .4s var(--ease)}
.meter.is-ideal i{background:#6f7d4a}
.meter.is-tight i{background:#b0603a}
.meter.is-loose i{background:var(--taupe)}
.rb2__fitrow{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.meter__txt{font-size:12px;color:var(--text-3);letter-spacing:.03em;transition:color .6s var(--ease)}
.rb2__warn{font-size:12px;color:#b0603a;font-weight:600;letter-spacing:.02em}
.rb2__warn[hidden]{display:none}

/* ---------- MODO NOCHE ---------- */
.rb2__stage.is-night{background:#26211b}
.is-night .room{background:
    repeating-linear-gradient(0deg,transparent 0 33px,rgba(0,0,0,.28) 33px 34px),
    repeating-linear-gradient(90deg,transparent 0 89px,rgba(0,0,0,.14) 89px 90px),
    linear-gradient(135deg,#3d332a,#2d2620);
  box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.5),inset 0 0 80px rgba(0,0,0,.5)}
.is-night .room::before{border-color:#453b30;box-shadow:0 0 0 1.5px rgba(0,0,0,.6),0 24px 50px -30px rgba(0,0,0,.8)}
.is-night .room__win{background:linear-gradient(#2c3140,#232733);border-color:#171a22}
.is-night .room__win::after{background:#3a4152}
.is-night .room__door{background:#26211b}
.is-night .pz svg,.is-night .pz img{filter:brightness(.8) saturate(.92)}
.is-night .pz--lampara svg{filter:none}
.is-night .pz--lampara .pz__glow{opacity:1}
.is-night .rb2__captitle{color:#f2ece2}
.is-night .meter__txt{color:#a99c88}
.is-night .room__scale i,.is-night .room__scale i::before,.is-night .room__scale i::after{background:#847867}
.is-night .room__scale span{color:#847867}
.is-night .room__empty{color:#a99c88}

/* ---------- PANEL ---------- */
.rb2__panel{padding:48px 56px 80px;max-width:620px}
.rb2__intro{color:var(--text-2);margin:12px 0 26px;max-width:46ch}
.rb2__presetlbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-weight:600;margin:0 0 10px}
.rb2__presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.preset{border:1px solid var(--border);background:#fff;border-radius:99px;padding:9px 17px;font-size:12.5px;color:var(--text-2);transition:.24s var(--ease)}
.preset:hover{border-color:var(--taupe);color:var(--ink)}
.preset.is-sel{background:var(--accent);border-color:var(--accent);color:#fff}

/* catálogo de piezas */
.rb2__pieces{display:flex;flex-direction:column}
.piece2{display:flex;align-items:center;gap:16px;padding:14px 10px;border-top:1px solid var(--border);border-radius:6px;transition:background .25s var(--ease);margin:0 -10px}
.piece2:last-child{border-bottom:1px solid var(--border)}
.piece2:hover{background:var(--cream)}
.piece2__thumb{width:64px;height:48px;border-radius:6px;background:var(--bg-light);background-size:cover;background-position:center;flex:none;border:1px solid var(--border)}
.piece2__thumb--svg{display:flex;align-items:center;justify-content:center;padding:6px}
.piece2__thumb--cenital{background-size:contain;background-repeat:no-repeat;background-color:#fff}
.piece2__thumb--photo{background-size:cover;background-position:center;background-color:#fff}
.piece2__thumb--svg svg{max-width:100%;max-height:100%}
.piece2__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.piece2__name{font-size:14.5px;color:var(--ink);font-weight:500}
.piece2__dims{font-size:11.5px;color:var(--text-3);letter-spacing:.03em}
.piece2__price{font-size:13.5px;color:var(--text-2);white-space:nowrap}
.piece2.off .piece2__name,.piece2.off .piece2__price{color:var(--text-3)}
.piece2.off .piece2__thumb{opacity:.5;filter:grayscale(1)}
/* toggle */
.tgl2{width:44px;height:26px;border-radius:99px;background:var(--border);border:none;position:relative;cursor:pointer;flex:none;transition:.25s var(--ease)}
.tgl2::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.25s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.tgl2.on{background:var(--accent)}
.tgl2.on::after{left:21px}

/* total */
.rb2__totalbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding-top:24px;border-top:2px solid var(--ink);flex-wrap:wrap}
.rb2__totallbl{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.rb2__total{font-size:26px;font-weight:600;color:var(--ink);transition:opacity .2s}
.rb2__total.flash{opacity:.3}
.rb2__count{display:inline-block;margin-left:10px;font-size:12px;color:var(--text-3)}
.rb2__totalbar .btn{flex:0 0 auto}
.rb2__msg{margin-top:16px;background:rgba(111,125,74,.12);color:#5a6a3e;border-radius:8px;padding:14px 16px;font-size:13px;font-weight:500;animation:rb2in .4s var(--ease)}
.rb2__msg[hidden]{display:none}

/* ---------- TOOLTIP de producto (hover catálogo) ---------- */
.piecetip{position:fixed;z-index:130;width:300px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 22px 48px -20px rgba(26,22,19,.5);padding:10px;pointer-events:none;animation:tipIn .14s var(--ease)}
.piecetip[hidden]{display:none}
@keyframes tipIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
/* fondo blanco (las fotos de Aristas vienen sobre blanco → sin bandas crema) */
.piecetip__img{display:block;width:100%;height:206px;border-radius:8px;background:#fff;overflow:hidden}
.piecetip__img img{width:100%;height:100%;object-fit:contain;display:block;max-width:none}
.piecetip__name{display:block;margin-top:8px;font-size:12.5px;color:var(--ink);font-weight:500;text-align:center;letter-spacing:.01em}

/* ---------- CARRITO · panel lateral ---------- */
.rb2cart{position:fixed;inset:0;z-index:140}
.rb2cart[hidden]{display:none}
.rb2cart__backdrop{position:absolute;inset:0;background:rgba(26,22,19,.42);opacity:0;transition:opacity .32s var(--ease)}
.rb2cart__panel{position:absolute;top:0;right:0;height:100%;width:min(400px,94vw);background:#fff;box-shadow:-24px 0 60px -30px rgba(26,22,19,.5);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .36s var(--ease)}
.rb2cart.is-open .rb2cart__backdrop{opacity:1}
.rb2cart.is-open .rb2cart__panel{transform:translateX(0)}
.rb2cart__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}
.rb2cart__check{display:flex;align-items:center;gap:9px;font-family:var(--display);text-transform:uppercase;letter-spacing:.03em;font-size:16px;color:var(--ink)}
.rb2cart__tick{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#6f7d4a;color:#fff;font-size:12px}
.rb2cart__close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;transition:.2s var(--ease)}
.rb2cart__close:hover{background:var(--cream);border-color:var(--taupe)}
.rb2cart__close svg{width:15px;height:15px}
.rb2cart__count{padding:14px 24px 2px;font-size:12px;letter-spacing:.02em;color:var(--text-3)}
.rb2cart__body{flex:1;overflow-y:auto;padding:8px 24px 12px;display:flex;flex-direction:column;gap:14px}
.cartline{display:flex;align-items:center;gap:12px}
.cartline__thumb{flex:none;width:56px;height:52px;border-radius:8px;background:#fff;background-size:cover;background-position:center;border:1px solid var(--border)}
.cartline__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cartline__name{font-size:13.5px;color:var(--ink);font-weight:500;line-height:1.2}
.cartline__dims{font-size:11px;color:var(--text-3)}
.cartline__price{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
.rb2cart__foot{border-top:1px solid var(--border);padding:16px 24px 22px;flex-shrink:0}
.rb2cart__totalrow{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.rb2cart__totalrow span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.rb2cart__totalrow strong{font-size:24px;font-weight:600;color:var(--ink)}
.rb2cart__go{width:100%;text-align:center}
.rb2cart__cont{display:block;width:100%;margin-top:10px;background:none;border:none;font-size:12.5px;color:var(--text-2);cursor:pointer;padding:6px}
.rb2cart__cont:hover{color:var(--accent)}

/* ---------- BUSCAR / AGREGAR PRODUCTOS ---------- */
.rb2__search{position:relative;margin-bottom:14px}
.rb2__search input{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 14px;font:inherit;font-size:14px;color:var(--ink);background:#fff;outline:none;transition:border-color .2s var(--ease)}
.rb2__search input:focus{border-color:var(--ink)}
.rb2__results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 18px 40px -18px rgba(26,22,19,.4);max-height:288px;overflow-y:auto;padding:6px}
.rb2__results[hidden]{display:none}
.rb2__result{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:none;border-radius:7px;padding:9px 10px;font-size:13.5px;color:var(--ink);cursor:pointer}
.rb2__result:hover{background:var(--cream)}
.rb2__result em{font-style:normal;color:var(--text-3);white-space:nowrap}
.rb2__noresult{padding:10px;font-size:13px;color:var(--text-3);text-align:center}
.rb2__extras:empty{display:none}
.piece2__thumb--add{display:flex;align-items:center;justify-content:center;color:var(--taupe);font-size:22px;font-weight:300;background:var(--cream)}
.piece2--extra .piece2__dims{color:var(--accent)}
.rb2__xrow{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text-2);font-size:15px;cursor:pointer;line-height:1}
.rb2__xrow:hover{border-color:#b0603a;color:#b0603a}
.cartline__thumb--add{display:flex;align-items:center;justify-content:center;color:var(--taupe);font-size:20px;background:var(--cream)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
  .rb2{grid-template-columns:1fr}
  .rb2__stage{position:relative;min-height:0;border-right:none;border-bottom:1px solid var(--border)}
  .mainbar__nav{display:none}
  .rb2__panel{padding:40px 24px 60px;max-width:none}
}
@media(max-width:560px){
  .rb2__stageinner{padding:24px 14px 34px}
  .rb2__bar{flex-wrap:wrap;justify-content:center}
  .rb2__plan{min-height:0;padding:16px 0 44px}
  .rb2__hint{font-size:10.5px;padding:6px 12px;white-space:normal;text-align:center;max-width:86%}
  .rb2__totalbar{gap:14px}
  .rb2__totalbar .btn{width:100%}
}
