/* ROUND FIT — dimensioned 3D furniture interaction and live install validation */
#mapView .rx-fit-validation-ready .rx-fit-steps { grid-template-columns:repeat(5,minmax(0,1fr)); }
#mapView .rx-fit-validation-ready .rx-style-reference-panel { padding-bottom:18px; }

#mapView .rx-fit-product-library { margin-top:15px; padding-top:14px; border-top:1px solid rgba(255,255,255,.07); }
#mapView .rx-fit-product-head { display:flex; align-items:end; justify-content:space-between; }
#mapView .rx-fit-product-head > span { display:grid; gap:4px; }
#mapView .rx-fit-product-head small { color:#6f6b65; font-size:7px; letter-spacing:.08em; }
#mapView .rx-fit-product-head b { color:#c8c1b6; font-size:11px; font-weight:570; }
#mapView .rx-fit-product-head em { color:#8f805f; font-size:7px; font-style:normal; }
#mapView .rx-fit-product-list { display:grid; gap:6px; margin-top:9px; }
#mapView .rx-fit-product-list button { min-height:58px; display:grid; grid-template-columns:66px 1fr; align-items:center; gap:9px; padding:5px 8px; border:1px solid rgba(255,255,255,.07); border-radius:11px; background:rgba(255,255,255,.02); color:#c8c1b7; text-align:left; cursor:pointer; }
#mapView .rx-fit-product-list button.active { border-color:rgba(215,184,121,.38); background:rgba(215,184,121,.065); }
#mapView .rx-fit-product-list img { width:64px; height:46px; object-fit:contain; filter:drop-shadow(0 8px 8px rgba(0,0,0,.28)); }
#mapView .rx-fit-product-list span { min-width:0; display:grid; gap:4px; }
#mapView .rx-fit-product-list b { font-size:9px; font-weight:560; }
#mapView .rx-fit-product-list small { color:#747069; font-size:7px; }
#mapView .rx-fit-product-library > p { margin:8px 0 0; color:#66635e; font-size:7px; line-height:1.45; }

#mapView .rx-fit-validation-ready .rx-style-analysis-panel { display:grid; grid-template-rows:46px minmax(0,1fr); padding:0; overflow:hidden; }
#mapView .rx-fit-side-tabs { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:6px; border-bottom:1px solid rgba(255,255,255,.07); background:rgba(8,9,9,.45); }
#mapView .rx-fit-side-tabs button { position:relative; border:0; border-radius:10px; background:transparent; color:#77736c; font-size:8px; cursor:pointer; }
#mapView .rx-fit-side-tabs button.active { background:rgba(215,184,121,.10); color:#dec489; }
#mapView .rx-fit-side-tabs i { position:absolute; top:5px; right:7px; min-width:16px; height:16px; display:grid; place-items:center; border-radius:999px; background:rgba(224,126,105,.16); color:#e39a87; font:normal 7px/1 Arial,sans-serif; }
#mapView .rx-fit-side-pane { display:none; min-height:0; padding:15px; overflow:auto; }
#mapView .rx-fit-side-pane.active { display:block; }

#mapView .rx-fit-furniture-layer { position:absolute; z-index:18; inset:0; pointer-events:none; }
#mapView .rx-fit-furniture { position:absolute; display:block; padding:0; border:0; background:transparent; transform:translate(-50%,-50%) rotate(var(--fit-furniture-rotation,0deg)); transform-origin:center; touch-action:none; pointer-events:auto; cursor:grab; filter:drop-shadow(0 12px 10px rgba(0,0,0,.32)); transition:left .28s ease,top .28s ease,width .2s ease,height .2s ease,filter .2s ease; }
#mapView .rx-fit-furniture.dragging { cursor:grabbing; transition:none; filter:drop-shadow(0 20px 18px rgba(0,0,0,.46)); }
#mapView .rx-fit-furniture img { width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; }
#mapView .rx-fit-furniture > i { position:absolute; inset:6%; border:1px solid transparent; border-radius:15px; pointer-events:none; }
#mapView .rx-fit-furniture.selected > i { border-color:rgba(226,199,143,.88); box-shadow:0 0 0 2px rgba(215,184,121,.12),inset 0 0 24px rgba(215,184,121,.06); }
#mapView .rx-fit-furniture.selected > i::before,
#mapView .rx-fit-furniture.selected > i::after { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:#e0c382; box-shadow:0 0 12px rgba(215,184,121,.5); }
#mapView .rx-fit-furniture.selected > i::before { top:-5px; left:-5px; }
#mapView .rx-fit-furniture.selected > i::after { right:-5px; bottom:-5px; }
#mapView .rx-fit-furniture.invalid.selected > i { border-color:rgba(232,120,103,.88); box-shadow:0 0 0 2px rgba(232,120,103,.12),inset 0 0 28px rgba(232,120,103,.08); }
#mapView .rx-fit-furniture.invalid.selected > i::before,#mapView .rx-fit-furniture.invalid.selected > i::after { background:#e77e69; }

#mapView .rx-fit-furniture-tools { position:absolute; z-index:24; right:14px; bottom:13px; min-width:390px; display:grid; grid-template-columns:minmax(180px,1fr) repeat(3,68px); align-items:center; gap:6px; padding:7px; border:1px solid rgba(255,255,255,.10); border-radius:14px; background:rgba(8,9,9,.82); box-shadow:0 18px 45px rgba(0,0,0,.34); backdrop-filter:blur(18px); }
#mapView .rx-fit-furniture-tools > span { min-width:0; display:grid; gap:4px; padding-left:6px; }
#mapView .rx-fit-furniture-tools small { color:#696661; font-size:6px; letter-spacing:.08em; }
#mapView .rx-fit-furniture-tools b { overflow:hidden; color:#c9c2b7; font-size:8px; font-weight:550; white-space:nowrap; text-overflow:ellipsis; }
#mapView .rx-fit-furniture-tools button { height:42px; display:flex; align-items:center; justify-content:center; gap:4px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(255,255,255,.025); color:#c6b587; font-size:14px; cursor:pointer; }
#mapView .rx-fit-furniture-tools button i { color:#807a70; font-size:7px; font-style:normal; }
#mapView .rx-fit-model-scale { position:absolute; z-index:15; top:12px; left:13px; display:flex; align-items:center; gap:7px; padding:7px 9px; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:rgba(8,9,9,.65); color:#726e68; font-size:6px; letter-spacing:.07em; }
#mapView .rx-fit-model-scale > i { width:5px; height:5px; border-radius:50%; background:#91ba9a; }

#mapView .rx-fit-issue-highlight { position:absolute; z-index:27; border:2px solid rgba(234,122,102,.88); border-radius:16px; background:rgba(234,122,102,.10); box-shadow:0 0 34px rgba(234,122,102,.26),inset 0 0 35px rgba(234,122,102,.09); opacity:0; pointer-events:none; }
#mapView .rx-fit-issue-highlight.show { animation:rx-fit-issue 2.2s ease both; }
#mapView .rx-fit-issue-highlight > i { position:absolute; inset:-8px; border:1px solid rgba(234,122,102,.34); border-radius:20px; }
#mapView .rx-fit-issue-highlight > span { position:absolute; left:50%; bottom:calc(100% + 7px); padding:7px 9px; border:1px solid rgba(234,122,102,.36); border-radius:8px; background:rgba(13,10,10,.88); color:#efa99c; font-size:7px; white-space:nowrap; transform:translateX(-50%); }
@keyframes rx-fit-issue { 0%{opacity:0;transform:scale(.94)} 12%,75%{opacity:1;transform:scale(1)} 100%{opacity:0} }

#mapView .rx-fit-verdict { margin-top:10px; padding:14px; border:1px solid rgba(220,182,111,.30); border-radius:14px; background:rgba(220,182,111,.065); }
#mapView .rx-fit-verdict small { color:#8e7b59; font-size:6px; letter-spacing:.08em; }
#mapView .rx-fit-verdict strong { display:block; margin-top:6px; color:#e0c487; font-size:16px; font-weight:570; }
#mapView .rx-fit-verdict p { margin:6px 0 0; color:#9a8d76; font-size:8px; line-height:1.5; }
#mapView .rx-fit-verdict.possible { border-color:rgba(135,188,151,.32); background:rgba(100,157,117,.07); }
#mapView .rx-fit-verdict.possible strong { color:#abd1b5; }
#mapView .rx-fit-verdict.impossible { border-color:rgba(232,120,103,.36); background:rgba(170,67,53,.08); }
#mapView .rx-fit-verdict.impossible strong { color:#ee9e90; }
#mapView .rx-fit-live-object { display:grid; grid-template-columns:70px 1fr; gap:4px 8px; margin-top:10px; padding:10px; border:1px solid rgba(255,255,255,.065); border-radius:11px; }
#mapView .rx-fit-live-object span { grid-row:1/3; color:#747069; font-size:7px; }
#mapView .rx-fit-live-object b { color:#c4bdb2; font-size:9px; font-weight:550; text-align:right; }
#mapView .rx-fit-live-object em { color:#7f7a72; font-size:7px; font-style:normal; text-align:right; }

#mapView .rx-fit-result-list { display:grid; margin-top:10px; border-top:1px solid rgba(255,255,255,.065); }
#mapView .rx-fit-result-list button { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 3px; border:0; border-bottom:1px solid rgba(255,255,255,.055); background:transparent; color:#7d7972; font-size:8px; cursor:pointer; text-align:left; }
#mapView .rx-fit-result-list button b { color:#a8a299; font-size:8px; font-weight:550; text-align:right; }
#mapView .rx-fit-result-list button.ok b { color:#9fc2a8; }
#mapView .rx-fit-result-list button.warn b { color:#d5b575; }
#mapView .rx-fit-result-list button.bad b { color:#e68f80; }
#mapView .rx-fit-result-list button:hover { background:rgba(255,255,255,.025); }

#mapView .rx-fit-delivery-block,#mapView .rx-fit-install-block { margin-top:11px; padding:10px; border:1px solid rgba(255,255,255,.065); border-radius:12px; background:rgba(255,255,255,.018); }
#mapView .rx-fit-block-head { display:flex !important; align-items:end !important; justify-content:space-between !important; padding:0 0 8px !important; border-bottom:1px solid rgba(255,255,255,.06) !important; }
#mapView .rx-fit-block-head > span { display:grid; gap:3px; }
#mapView .rx-fit-block-head small { color:#696661; font-size:6px; letter-spacing:.08em; }
#mapView .rx-fit-block-head b { color:#bdb6ab !important; font-size:9px !important; }
#mapView .rx-fit-block-head em { color:#d0b476; font-size:7px; font-style:normal; }
#mapView .rx-fit-delivery-block > div,#mapView .rx-fit-install-block > div { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 0; color:#716e68; font-size:7px; }
#mapView .rx-fit-delivery-block > div > b,#mapView .rx-fit-install-block > div > b { color:#a9a39a; font-size:7px; font-weight:520; text-align:right; }

#mapView .rx-fit-suggestion { margin-top:11px; padding:11px; border-left:2px solid #d1ae6d; border-radius:0 11px 11px 0; background:rgba(209,174,109,.055); }
#mapView .rx-fit-suggestion small { color:#7e6d4e; font-size:6px; letter-spacing:.08em; }
#mapView .rx-fit-suggestion b { display:block; margin-top:5px; color:#d4bc87; font-size:9px; font-weight:560; }
#mapView .rx-fit-suggestion p { margin:5px 0 0; color:#80796e; font-size:7px; line-height:1.45; }
#mapView .rx-fit-action-grid { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:10px; }
#mapView .rx-fit-action-grid button { min-height:43px; border:1px solid rgba(215,184,121,.34); border-radius:11px; background:rgba(215,184,121,.075); color:#d9bd80; font-size:8px; cursor:pointer; }
#mapView .rx-fit-action-grid button:last-child { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.025); color:#9a958c; }
#mapView .rx-fit-demo-disclaimer { margin:10px 0 0; color:#625f5a; font-size:6px; line-height:1.5; }

@media (max-width:1240px),(max-height:720px) {
  #mapView .rx-fit-furniture-tools { min-width:330px; grid-template-columns:minmax(140px,1fr) repeat(3,58px); }
  #mapView .rx-fit-product-list button { grid-template-columns:52px 1fr; min-height:50px; }
  #mapView .rx-fit-product-list img { width:50px; height:38px; }
  #mapView .rx-fit-product-library > p { display:none; }
  #mapView .rx-fit-side-pane { padding:11px; }
  #mapView .rx-fit-delivery-block,#mapView .rx-fit-install-block { padding:8px; }
}

@media (prefers-reduced-motion:reduce) {
  #mapView .rx-fit-furniture,#mapView .rx-fit-issue-highlight.show { transition:none !important; animation:none !important; }
}
