.fm-map{
  position:relative;width:100%;aspect-ratio:16/11;min-height:420px;
  border-radius:16px;overflow:hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% 40%, rgba(209,193,46,.08), transparent 60%),
    linear-gradient(160deg,#1a1610 0%,#0e0c0a 45%,#12100c 100%);
  border:1px solid rgba(209,193,46,.28);
  box-shadow:inset 0 0 40px rgba(0,0,0,.45), 0 16px 40px rgba(0,0,0,.35);
  touch-action:none;user-select:none;
}
.fm-map--guest{cursor:default}
.fm-floor{
  position:absolute;inset:2% 1.5% 3% 1.5%;
  border-radius:12px;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 28px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 28px),
    linear-gradient(180deg,#2a2318,#1a1510);
  box-shadow:inset 0 0 0 2px rgba(209,193,46,.12), inset 0 20px 50px rgba(0,0,0,.35);
  transform:perspective(1200px) rotateX(4deg);
  transform-origin:center bottom;
}
.fm-layer{position:absolute;inset:0}
.fm-item{
  position:absolute;display:flex;align-items:center;justify-content:center;
  transform-style:preserve-3d;
}
.fm-table{
  border-radius:14px;
  background:linear-gradient(145deg,#3a2f1f 0%,#2a2218 40%,#1c1712 100%);
  border:2px solid rgba(209,193,46,.55);
  box-shadow:
    0 10px 0 #120e0a,
    0 14px 22px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.12);
  color:#f7f1e6;font-weight:800;font-size:clamp(10px,1.6vw,13px);
  text-align:center;padding:4px;cursor:pointer;line-height:1.15;
}
.fm-table::before{
  content:"";position:absolute;inset:18%;border-radius:10px;
  background:radial-gradient(circle at 30% 25%, rgba(232,195,106,.35), rgba(209,193,46,.08) 55%, transparent 70%);
  pointer-events:none;
}
.fm-table .fm-label{position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.fm-table .fm-cap{display:block;font-size:10px;font-weight:600;opacity:.75;margin-top:2px}
.fm-table.is-selected, .fm-table.is-active{
  border-color:#D1C12E;
  box-shadow:0 0 0 3px rgba(209,193,46,.35), 0 10px 0 #120e0a, 0 16px 28px rgba(0,0,0,.5);
}
.fm-table.is-bookable:hover{filter:brightness(1.08)}
.fm-resize{
  position:absolute;right:2px;bottom:2px;width:12px;height:12px;border-radius:3px;
  background:#D1C12E;cursor:nwse-resize;z-index:3;
}
.fm-prop{
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
  flex-direction:column;gap:2px;padding:0;
  color:#eee;font-size:11px;font-weight:700;text-align:center;
}
/* emoji replaced by 3d mesh */
.fm-prop .fm-label{font-size:10px;opacity:.9;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* removed prop plate: .fm-prop[data-icon="wc"] */

/* removed prop plate: .fm-prop[data-icon="billard"] */

/* removed prop plate: .fm-prop[data-icon="spielautomat"] */

/* removed prop plate: .fm-prop[data-icon="dart"] */

/* removed prop plate: .fm-prop[data-icon="bar"] */

/* removed prop plate: .fm-prop[data-icon="dj"] */

/* removed prop plate: .fm-prop[data-icon="entrance"] */

.fm-zone{
  border:2px dashed rgba(209,193,46,.35);
  background:rgba(209,193,46,.06);
  color:rgba(247,241,230,.75);font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
}
.fm-zone[data-icon="wall_h"], .fm-zone[data-icon="wall_v"]{
  border:none;border-radius:4px;
  background:linear-gradient(90deg,#3f3f46,#27272a);
  box-shadow:0 4px 0 #111, inset 0 1px 0 rgba(255,255,255,.08);
  color:transparent;overflow:hidden;
}
.fm-zone[data-icon="wall_v"]{background:linear-gradient(180deg,#3f3f46,#27272a)}
.fm-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fm-legend span{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  font-size:12px;color:#cfcfcf;
}

/* Live-Belegung */
.fm-table.fm-state-free{border-color:rgba(34,197,94,.65);background:linear-gradient(145deg,#1f3d2a,#152218)}
.fm-table.fm-state-reserved{border-color:rgba(245,158,11,.75);background:linear-gradient(145deg,#3d3018,#241c10)}
.fm-table.fm-state-occupied{border-color:rgba(167,139,250,.8);background:linear-gradient(145deg,#2e2450,#1a1430)}
.fm-table .fm-sub{position:relative;z-index:1;font-size:10px;font-weight:600;opacity:.9;margin-top:2px;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


.fm-map--large{
  aspect-ratio:16/12;
  min-height:560px;
}
@media (min-width:1100px){
  .fm-map--large{min-height:640px;}
}
@media (max-width:720px){
  .fm-map, .fm-map--large{min-height:320px;aspect-ratio:4/3;}
}


.fm-zone .fm-zone-ico{margin-right:4px}
.fm-zone .fm-zone-name{position:relative;z-index:1}
.fm-zone[data-icon="outdoor"],
.fm-zone[data-icon="terrasse"],
.fm-zone[data-icon="garten"],
.fm-zone[data-icon="biergarten"],
.fm-zone[data-icon="wintergarten"],
.fm-zone[data-icon="raucher"],
.fm-zone[data-icon="parkplatz"]{
  border-style:solid;
  border-width:2px;
  letter-spacing:.03em;
}
.fm-zone[data-icon="outdoor"],
.fm-zone[data-icon="terrasse"]{
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, rgba(56,189,248,.16), rgba(14,116,144,.12));
  border-color:rgba(56,189,248,.45);
  color:#e0f2fe;
}
.fm-zone[data-icon="garten"],
.fm-zone[data-icon="biergarten"]{
  background:
    radial-gradient(circle at 20% 30%, rgba(74,222,128,.18), transparent 50%),
    linear-gradient(160deg, rgba(22,101,52,.35), rgba(20,83,45,.2));
  border-color:rgba(74,222,128,.45);
  color:#dcfce7;
}
.fm-zone[data-icon="wintergarten"]{
  background:linear-gradient(160deg, rgba(167,139,250,.18), rgba(30,27,75,.25));
  border-color:rgba(167,139,250,.4);
  color:#ede9fe;
}
.fm-zone[data-icon="raucher"]{
  background:linear-gradient(160deg, rgba(148,163,184,.2), rgba(51,65,85,.25));
  border-color:rgba(148,163,184,.45);
  color:#e2e8f0;
}
.fm-zone[data-icon="parkplatz"]{
  background:linear-gradient(160deg, rgba(100,116,139,.25), rgba(30,41,59,.3));
  border-color:rgba(148,163,184,.4);
  color:#cbd5e1;
}
.fm-zone[data-icon="innen"]{
  background:rgba(209,193,46,.08);
  border-color:rgba(209,193,46,.35);
}
/* removed prop plate: .fm-prop[data-icon="umbrella"] */

/* removed prop plate: .fm-prop[data-icon="heater"] */

/* removed prop plate: .fm-prop[data-icon="ashtray"] */



/* Tischformen */
.fm-table.fm-shape-rect{border-radius:12px}
.fm-table.fm-shape-square{border-radius:10px}
.fm-table.fm-shape-round{
  border-radius:50%;
  box-shadow:
    0 10px 0 #120e0a,
    0 14px 22px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.fm-table.fm-shape-round::before{border-radius:50%;inset:16%}
.fm-table.fm-shape-oval{
  border-radius:50%;
  box-shadow:
    0 8px 0 #120e0a,
    0 12px 20px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.fm-table.fm-shape-oval::before{border-radius:50%;inset:16%}
.fm-table.fm-shape-booth{
  border-radius:18px 18px 8px 8px;
  background:linear-gradient(145deg,#3f3424 0%,#2a2218 45%,#1a1510 100%);
  border-width:2px;
}
.fm-table.fm-shape-booth::after{
  content:"";position:absolute;left:8%;right:8%;top:6%;height:22%;
  border-radius:10px 10px 4px 4px;
  background:rgba(209,193,46,.12);
  border:1px solid rgba(209,193,46,.25);
  pointer-events:none;
}
.fm-table.fm-shape-high{
  border-radius:50%;
  border-width:3px;
  box-shadow:
    0 12px 0 #0c0a08,
    0 16px 24px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.14);
}
.fm-table.fm-shape-high::before{border-radius:50%;inset:22%}
.fm-table.fm-shape-long{
  border-radius:8px;
  box-shadow:
    0 8px 0 #120e0a,
    0 12px 18px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.1);
}

/* removed prop plate: .fm-prop[data-icon="emergency_exit"], .fm-prop[data-icon="no */



/* removed prop plate: .fm-prop[data-icon="counter"], .fm-prop[data-icon="theke"] */

/* removed prop plate: .fm-prop[data-icon="kasse"] */

/* removed prop plate: .fm-prop[data-icon="coffee"] */

/* removed prop plate: .fm-prop[data-icon="fridge"] */

/* removed prop plate: .fm-prop[data-icon="lager"], .fm-prop[data-icon="buero"] */

/* removed prop plate: .fm-prop[data-icon="kicker"], .fm-prop[data-icon="airhockey" */

/* removed prop plate: .fm-prop[data-icon="karaoke"], .fm-prop[data-icon="jukebox"] */

/* removed prop plate: .fm-prop[data-icon="tv"], .fm-prop[data-icon="speaker"] */

/* removed prop plate: .fm-prop[data-icon="dancefloor"] */

/* removed prop plate: .fm-prop[data-icon="garderobe"] */

/* removed prop plate: .fm-prop[data-icon="wc_m"] */

/* removed prop plate: .fm-prop[data-icon="wc_w"] */

/* removed prop plate: .fm-prop[data-icon="vip"], .fm-prop[data-icon="foto"] */

/* removed prop plate: .fm-prop[data-icon="atm"] */

/* removed prop plate: .fm-prop[data-icon="feuerloescher"], .fm-prop[data-icon="ver */

.fm-zone[data-icon="vip_zone"]{background:rgba(250,204,21,.12);border-color:rgba(250,204,21,.45);color:#fef9c3}
.fm-zone[data-icon="dance_zone"]{background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.4);color:#ede9fe}
.fm-zone[data-icon="lager_zone"], .fm-zone[data-icon="garde_zone"], .fm-zone[data-icon="kueche_zone"]{
  background:rgba(148,163,184,.1);border-color:rgba(148,163,184,.35);color:#e2e8f0
}


/* Laden-Grundriss (Raumform) */
.fm-floor{
  -webkit-clip-path: none;
  clip-path: none;
}
.fm-map.fm-room-L .fm-floor{
  clip-path: polygon(0% 0%, 58% 0%, 58% 48%, 100% 48%, 100% 100%, 0% 100%);
}
.fm-map.fm-room-T .fm-floor{
  clip-path: polygon(0% 0%, 100% 0%, 100% 38%, 68% 38%, 68% 100%, 32% 100%, 32% 38%, 0% 38%);
}
.fm-map.fm-room-U .fm-floor{
  clip-path: polygon(0% 0%, 34% 0%, 34% 62%, 66% 62%, 66% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.fm-map.fm-room-Y .fm-floor{
  clip-path: polygon(18% 0%, 40% 0%, 50% 32%, 60% 0%, 82% 0%, 58% 48%, 58% 100%, 42% 100%, 42% 48%);
}
.fm-map.fm-room-C .fm-floor{
  clip-path: polygon(0% 0%, 100% 0%, 100% 28%, 38% 28%, 38% 72%, 100% 72%, 100% 100%, 0% 100%);
}
.fm-map.fm-room-H .fm-floor{
  clip-path: polygon(0% 0%, 32% 0%, 32% 38%, 68% 38%, 68% 0%, 100% 0%, 100% 100%, 68% 100%, 68% 62%, 32% 62%, 32% 100%, 0% 100%);
}
.fm-map.fm-room-plus .fm-floor{
  clip-path: polygon(32% 0%, 68% 0%, 68% 32%, 100% 32%, 100% 68%, 68% 68%, 68% 100%, 32% 100%, 32% 68%, 0% 68%, 0% 32%, 32% 32%);
}
/* dunkler "außerhalb" Kontrast */
.fm-map.fm-room-L,
.fm-map.fm-room-T,
.fm-map.fm-room-U,
.fm-map.fm-room-Y,
.fm-map.fm-room-C,
.fm-map.fm-room-H,
.fm-map.fm-room-plus{
  background:
    radial-gradient(ellipse 70% 50% at 50% 45%, rgba(209,193,46,.06), transparent 60%),
    repeating-conic-gradient(from 0deg at 50% 50%, #12100c 0% 25%, #0a0908 0% 50%);
  background-size: auto, 18px 18px;
}


/* removed prop plate: .fm-prop[data-icon="tv"], .fm-prop[data-icon="tv_s"], .fm-pr */

.fm-prop.fm-prop-sm .fm-emoji{font-size:clamp(12px,1.8vw,16px)}
.fm-prop.fm-prop-md .fm-emoji{font-size:clamp(16px,2.4vw,22px)}
.fm-prop.fm-prop-lg .fm-emoji{font-size:clamp(22px,3.2vw,34px)}
/* removed prop plate: .fm-prop[data-icon="tv_l"] */

/* removed prop plate: .fm-prop[data-icon="tv_s"] */


/* removed prop plate: .fm-prop[data-icon="bank"] */

/* removed prop plate: .fm-prop[data-icon="hocker"] */



.fm-map.fm-room-custom{
  background:
    radial-gradient(ellipse 70% 50% at 50% 45%, rgba(209,193,46,.06), transparent 60%),
    repeating-conic-gradient(from 0deg at 50% 50%, #12100c 0% 25%, #0a0908 0% 50%);
  background-size: auto, 18px 18px;
}
.fm-draw-layer{position:absolute;inset:0;z-index:25;pointer-events:none}
.fm-draw-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.fm-draw-line{fill:rgba(34,197,94,.16);stroke:#86efac;stroke-width:1.2;stroke-linejoin:round}
.fm-map.is-drawing{cursor:crosshair}
.fm-map.is-drawing .fm-item{pointer-events:none;opacity:.25}


/* ===== 3D Gegenstände ===== */
.fm-3d{overflow:visible}
.fm-mesh{
  position:absolute;inset:10% 12% 28% 12%;
  transform-style:preserve-3d;
  pointer-events:none;
}
.fm-mesh-table{inset:12% 10% 22% 10%}
.fm-face{position:absolute;left:0;right:0;pointer-events:none}
.fm-face-top{
  top:0;height:55%;
  border-radius:8px 8px 4px 4px;
  background:linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.04) 40%, rgba(0,0,0,.15));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
  transform:perspective(120px) rotateX(48deg);
  transform-origin:center bottom;
}
.fm-face-side{
  top:42%;height:28%;
  background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.45));
  border-radius:0 0 4px 4px;
  transform:skewX(-18deg) translateX(6%);
  opacity:.85;
}
.fm-face-front{
  top:48%;bottom:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.35));
  border-radius:0 0 8px 8px;
  box-shadow:0 8px 0 rgba(0,0,0,.45), 0 12px 16px rgba(0,0,0,.35);
}
.fm-prop{
  overflow:visible;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0;
}
.fm-prop .fm-label{
  background:transparent !important;
  backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
.fm-prop .fm-ico{margin-right:2px}
.fm-prop .fm-mesh{
  /* kein grauer Kasten – Form kommt aus deco/form-Klassen */
  background:transparent;
  border-radius:0;
  box-shadow:none;
  inset:2% 4% 18% 4%;
}

/* Formvarianten */
.fm-form-counter .fm-mesh{border-radius:6px;inset:18% 4% 26% 4%;background:linear-gradient(160deg,#8b5a2b,#3b2410)}
.fm-form-counter .fm-face-top{background:linear-gradient(145deg,#c4a574,#7a5230);border-radius:4px}
.fm-form-box .fm-mesh{background:linear-gradient(160deg,#52525b,#27272a)}
.fm-form-tall .fm-mesh{inset:4% 18% 26% 18%;background:linear-gradient(180deg,#64748b,#1e293b);border-radius:8px}
.fm-form-tall .fm-face-front{box-shadow:0 10px 0 rgba(0,0,0,.5), 0 14px 18px rgba(0,0,0,.4)}
.fm-form-tableflat .fm-mesh{inset:22% 8% 28% 8%;background:linear-gradient(160deg,#166534,#052e16);border-radius:8px}
.fm-form-tableflat .fm-face-top{background:linear-gradient(145deg,#22c55e,#14532d);height:60%}
.fm-form-screen .fm-mesh{inset:8% 6% 30% 6%;background:linear-gradient(160deg,#0f172a,#020617);border-radius:6px}
.fm-form-screen .fm-face-top{display:none}
.fm-form-screen .fm-face-front{
  top:8%;bottom:18%;border-radius:6px;
  background:linear-gradient(160deg,#38bdf8,#1d4ed8 40%,#0f172a);
  box-shadow:0 6px 0 #020617, 0 10px 16px rgba(0,0,0,.45), inset 0 0 20px rgba(56,189,248,.25);
}
.fm-form-speaker .fm-mesh{inset:10% 22% 28% 22%;border-radius:10px;background:#18181b}
.fm-form-sofa .fm-mesh{inset:20% 6% 26% 6%;border-radius:14px 14px 8px 8px;background:linear-gradient(160deg,#78716c,#292524)}
.fm-form-sofa .fm-face-top{border-radius:12px 12px 4px 4px;background:linear-gradient(145deg,#a8a29e,#57534e)}
.fm-form-bench .fm-mesh{inset:28% 4% 26% 4%;border-radius:6px;background:linear-gradient(160deg,#78716c,#44403c)}
.fm-form-stool .fm-mesh{inset:18% 22% 26% 22%;border-radius:50%;background:linear-gradient(160deg,#57534e,#1c1917)}
.fm-form-stool .fm-face-top{border-radius:50%;height:50%;background:radial-gradient(circle at 35% 30%,#a8a29e,#44403c)}
.fm-form-stool .fm-face-front{border-radius:0 0 50% 50%}
.fm-form-pot .fm-mesh{inset:20% 25% 26% 25%;border-radius:40% 40% 20% 20%;background:linear-gradient(160deg,#3f6212,#14532d)}
.fm-form-column .fm-mesh{inset:4% 30% 26% 30%;border-radius:8px;background:linear-gradient(180deg,#a8a29e,#44403c)}
.fm-form-door .fm-mesh{inset:6% 20% 26% 20%;border-radius:4px;background:linear-gradient(180deg,#b91c1c,#7f1d1d)}
.fm-prop[data-icon="entrance"] .fm-mesh{background:linear-gradient(180deg,#64748b,#334155)}
.fm-form-cabin .fm-mesh{inset:8% 14% 26% 14%;border-radius:8px;background:linear-gradient(160deg,#1d4ed8,#1e3a8a)}
.fm-form-platform .fm-mesh{inset:30% 6% 26% 6%;border-radius:6px;background:linear-gradient(160deg,#6d28d9,#4c1d95)}
.fm-form-desk .fm-mesh{inset:24% 8% 26% 8%;background:linear-gradient(160deg,#312e81,#1e1b4b)}
.fm-form-wallpanel .fm-mesh{inset:8% 28% 26% 28%;border-radius:4px;background:linear-gradient(180deg,#7f1d1d,#450a0a)}
.fm-form-umbrella .fm-mesh{inset:8% 15% 40% 15%;border-radius:50% 50% 8px 8px;background:radial-gradient(circle at 50% 30%,#38bdf8,#0e7490)}
.fm-form-heater .fm-mesh{inset:8% 28% 26% 28%;border-radius:40% 40% 20% 20%;background:linear-gradient(180deg,#fb923c,#9a3412)}
.fm-form-stairs .fm-mesh{inset:10% 10% 26% 10%;background:repeating-linear-gradient(180deg,#78716c 0 18%,#44403c 18% 22%)}
.fm-form-rack .fm-mesh{inset:10% 10% 26% 10%;background:linear-gradient(160deg,#57534e,#292524)}
.fm-form-sign .fm-mesh{inset:20% 20% 30% 20%;border-radius:8px;background:linear-gradient(160deg,#334155,#0f172a)}
.fm-form-ext .fm-mesh{inset:10% 30% 26% 30%;border-radius:8px;background:linear-gradient(180deg,#ef4444,#991b1b)}

/* TV sizes */
.fm-prop-sm.fm-form-screen .fm-mesh{inset:16% 18% 34% 18%}
.fm-prop-lg.fm-form-screen .fm-mesh{inset:4% 2% 28% 2%}

/* stronger table 3D */
.fm-table.fm-3d{background:transparent;border:none;box-shadow:none}
.fm-table.fm-3d .fm-mesh-table{
  background:linear-gradient(145deg,#3a2f1f,#1c1712);
  border:2px solid rgba(209,193,46,.55);
  border-radius:14px;
  box-shadow:0 10px 0 #120e0a, 0 14px 22px rgba(0,0,0,.45);
  inset:0 0 8% 0;
}
.fm-table.fm-3d .fm-face-top{
  background:radial-gradient(circle at 30% 25%, rgba(232,195,106,.4), rgba(209,193,46,.1) 55%, transparent 70%);
}
.fm-table.fm-shape-round .fm-mesh-table,
.fm-table.fm-shape-high .fm-mesh-table,
.fm-table.fm-shape-oval .fm-mesh-table{border-radius:50%}
.fm-table.fm-shape-round .fm-face-top,
.fm-table.fm-shape-high .fm-face-top,
.fm-table.fm-shape-oval .fm-face-top{border-radius:50%}
.fm-table.fm-shape-booth .fm-mesh-table{border-radius:18px 18px 8px 8px}
.fm-table .fm-label{z-index:2}


.fm-table.fm-state-free .fm-mesh-table{border-color:rgba(34,197,94,.75);background:linear-gradient(145deg,#1f3d2a,#152218)}
.fm-table.fm-state-reserved .fm-mesh-table{border-color:rgba(245,158,11,.8);background:linear-gradient(145deg,#3d3018,#241c10)}
.fm-table.fm-state-occupied .fm-mesh-table{border-color:rgba(167,139,250,.85);background:linear-gradient(145deg,#2e2450,#1a1430)}
.fm-table.is-selected .fm-mesh-table{box-shadow:0 0 0 3px rgba(209,193,46,.35), 0 10px 0 #120e0a, 0 16px 28px rgba(0,0,0,.5)}


/* Treppen / Erschließung 3D */
.fm-form-stairs .fm-mesh,
.fm-form-stairs_up .fm-mesh,
.fm-form-stairs_down .fm-mesh,
.fm-form-escalator .fm-mesh{
  inset:8% 8% 24% 8%;
  border-radius:6px;
  background:
    repeating-linear-gradient(180deg,
      #a8a29e 0 10%,
      #78716c 10% 12%,
      #57534e 12% 22%);
  box-shadow:0 10px 0 #1c1917, 0 14px 18px rgba(0,0,0,.4);
  transform:perspective(200px) rotateX(12deg);
  transform-origin:center bottom;
}
.fm-form-stairs_up .fm-mesh{
  background:
    repeating-linear-gradient(135deg,
      #d6d3d1 0 12%,
      #78716c 12% 14%,
      #57534e 14% 26%);
}
.fm-form-stairs_down .fm-mesh{
  background:
    repeating-linear-gradient(225deg,
      #d6d3d1 0 12%,
      #78716c 12% 14%,
      #57534e 14% 26%);
}
.fm-form-spiral .fm-mesh{
  inset:6% 18% 24% 18%;
  border-radius:50%;
  background:
    conic-gradient(from 0deg, #a8a29e, #44403c, #a8a29e, #292524, #a8a29e);
  box-shadow:0 10px 0 #1c1917, inset 0 0 0 10px rgba(0,0,0,.25);
}
.fm-form-spiral .fm-face-top{
  border-radius:50%;
  background:radial-gradient(circle at 40% 35%, rgba(255,255,255,.25), transparent 55%);
}
.fm-form-ramp .fm-mesh{
  inset:22% 6% 24% 6%;
  border-radius:4px;
  background:linear-gradient(115deg, #64748b 0%, #334155 55%, #1e293b 100%);
  transform:perspective(180px) rotateX(28deg) skewX(-8deg);
  box-shadow:0 8px 0 #0f172a, 0 12px 16px rgba(0,0,0,.4);
}
.fm-form-elevator .fm-mesh{
  inset:4% 22% 24% 22%;
  border-radius:8px;
  background:linear-gradient(180deg, #94a3b8 0 12%, #334155 12% 100%);
  box-shadow:0 10px 0 #0f172a, 0 14px 18px rgba(0,0,0,.45), inset 0 0 0 2px rgba(255,255,255,.12);
}
.fm-form-elevator .fm-face-front{
  background:
    linear-gradient(90deg, transparent 46%, rgba(255,255,255,.25) 46% 54%, transparent 54%),
    linear-gradient(180deg, rgba(148,163,184,.35), rgba(15,23,42,.8));
  border-radius:0 0 6px 6px;
}
.fm-form-escalator .fm-mesh{
  background:
    repeating-linear-gradient(120deg,
      #38bdf8 0 8%,
      #0ea5e9 8% 10%,
      #0369a1 10% 20%);
}
/* removed prop plate: .fm-prop[data-icon="stairs"], .fm-prop[data-icon="stairs_up" */


.fm-draw-free{fill:rgba(34,197,94,.14);stroke:#4ade80;stroke-width:1.1}


/* Drehung */
.fm-item{transform-origin:center center}
.fm-item[data-rotation]:not([data-rotation="0"]) .fm-label{
  /* Label mitdrehen ist ok */
}

/* Theken-Formen L J T Y U C Z */
.fm-form-counter .fm-mesh,
.fm-form-theke_l .fm-mesh,
.fm-form-theke_j .fm-mesh,
.fm-form-theke_t .fm-mesh,
.fm-form-theke_y .fm-mesh,
.fm-form-theke_u .fm-mesh,
.fm-form-theke_c .fm-mesh,
.fm-form-theke_z .fm-mesh{
  background:linear-gradient(160deg,#c4a574,#5c3d1e);
  border:none;
  box-shadow:0 8px 0 #2a1808, 0 12px 16px rgba(0,0,0,.4);
}
.fm-form-theke_l .fm-mesh{
  clip-path: polygon(0% 0%, 40% 0%, 40% 60%, 100% 60%, 100% 100%, 0% 100%);
  border-radius:0;
}
.fm-form-theke_j .fm-mesh{
  clip-path: polygon(60% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 60%, 60% 60%);
  border-radius:0;
}
.fm-form-theke_t .fm-mesh{
  clip-path: polygon(0% 0%, 100% 0%, 100% 38%, 68% 38%, 68% 100%, 32% 100%, 32% 38%, 0% 38%);
  border-radius:0;
}
.fm-form-theke_y .fm-mesh{
  clip-path: polygon(15% 0%, 40% 0%, 50% 35%, 60% 0%, 85% 0%, 58% 48%, 58% 100%, 42% 100%, 42% 48%);
  border-radius:0;
}
.fm-form-theke_u .fm-mesh{
  clip-path: polygon(0% 0%, 35% 0%, 35% 62%, 65% 62%, 65% 0%, 100% 0%, 100% 100%, 0% 100%);
  border-radius:0;
}
.fm-form-theke_c .fm-mesh{
  clip-path: polygon(0% 0%, 100% 0%, 100% 28%, 40% 28%, 40% 72%, 100% 72%, 100% 100%, 0% 100%);
  border-radius:0;
}
.fm-form-theke_z .fm-mesh{
  clip-path: polygon(0% 0%, 100% 0%, 100% 30%, 45% 30%, 45% 70%, 100% 70%, 100% 100%, 0% 100%, 0% 70%, 55% 70%, 55% 30%, 0% 30%);
  border-radius:0;
}
.fm-prop[data-icon="theke"] .fm-mesh,
.fm-prop[data-icon="counter"] .fm-mesh,
.fm-prop[data-icon^="theke_"] .fm-mesh{
  inset:12% 6% 28% 6%;
}


/* Kleine Elemente / Gegenstände: kein Rahmen */
.fm-no-frame,
.fm-prop.fm-no-frame{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none;
}
.fm-no-frame .fm-mesh,
.fm-no-frame .fm-mesh-table{
  border:none !important;
}
.fm-no-frame.fm-table .fm-mesh-table{
  /* kleine Tische: Form ohne Goldrahmen */
  box-shadow:0 8px 0 rgba(0,0,0,.45), 0 12px 16px rgba(0,0,0,.35);
}
.fm-prop.is-selected,
.fm-no-frame.is-selected{
  outline:2px dashed rgba(209,193,46,.55);
  outline-offset:2px;
}
.fm-prop .fm-label{
  background:transparent;
  padding:0;
  border-radius:0;
  text-shadow:0 1px 3px rgba(0,0,0,.95), 0 0 6px rgba(0,0,0,.7);
}
.fm-prop.fm-no-frame .fm-mesh{
  /* Mesh füllt fast die ganze Fläche – kein „Kasten“-Rand */
  inset:2% 4% 18% 4%;
}


/* Freigezeichnete Theke – 3D */
.fm-has-poly,
.fm-form-poly{
  transform-style:preserve-3d;
}
.fm-has-poly .fm-mesh,
.fm-form-poly .fm-mesh{
  inset:0 !important;
  border-radius:0 !important;
  background:linear-gradient(165deg, #e0b887 0%, #c4a574 28%, #8b5a2b 62%, #5c3d1e 100%) !important;
  box-shadow:
    0 10px 0 #2a1808,
    0 14px 22px rgba(0,0,0,.45),
    inset 0 2px 0 rgba(255,255,255,.28),
    inset 0 -8px 14px rgba(0,0,0,.28);
  border:none !important;
  transform:perspective(220px) rotateX(8deg);
  transform-origin:center bottom;
}
.fm-has-poly .fm-face{display:block !important}
.fm-has-poly .fm-face-top{
  height:48%;
  background:linear-gradient(145deg, rgba(255,236,200,.55), rgba(196,165,116,.35) 45%, rgba(92,61,30,.2));
  border-radius:0;
  transform:perspective(140px) rotateX(52deg);
  transform-origin:center bottom;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.fm-has-poly .fm-face-side{
  top:40%;height:26%;
  background:linear-gradient(180deg, rgba(60,30,10,.25), rgba(20,10,0,.55));
  transform:skewX(-14deg) translateX(4%);
  opacity:.9;
}
.fm-has-poly .fm-face-front{
  top:52%;bottom:0;
  background:linear-gradient(180deg, rgba(255,220,170,.12), rgba(40,20,5,.5));
  box-shadow:0 8px 0 rgba(20,10,0,.55), 0 12px 16px rgba(0,0,0,.35);
  border-radius:0;
}
.fm-has-poly .fm-label{
  bottom:auto;top:42%;left:50%;right:auto;
  transform:translate(-50%,-50%);
  max-width:80%;
  pointer-events:none;
  font-weight:800;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.fm-draw-theke{fill:rgba(251,191,36,.22);stroke:#fbbf24;stroke-width:1.2}
.fm-map.is-drawing-theke{outline-color:rgba(251,191,36,.65)}
.fm-map.is-drawing-theke .fm-item{opacity:.4}
.fm-map.is-drawing-theke .fm-item.is-selected{opacity:1;outline:2px solid #fbbf24}


/* Türen zwischen Bereichen */
.fm-form-door .fm-mesh,
.fm-form-door_h .fm-mesh,
.fm-form-door_v .fm-mesh,
.fm-form-door_double .fm-mesh{
  inset:18% 8% 30% 8%;
  border-radius:4px 4px 2px 2px;
  background:
    linear-gradient(90deg, #78350f 0 8%, transparent 8% 92%, #78350f 92%),
    linear-gradient(180deg, #a16207, #713f12);
  box-shadow:0 6px 0 #3b1f0a, 0 10px 14px rgba(0,0,0,.35);
  border:none;
}
.fm-form-door_v .fm-mesh{ inset:8% 22% 26% 22%; }
.fm-form-door_double .fm-mesh{
  background:
    linear-gradient(90deg, #78350f 0 6%, transparent 6% 48%, #451a03 48% 52%, transparent 52% 94%, #78350f 94%),
    linear-gradient(180deg, #a16207, #713f12);
}
.fm-form-passage .fm-mesh,
.fm-form-arch .fm-mesh{
  inset:22% 4% 34% 4%;
  border-radius:40% 40% 6px 6px;
  background:repeating-linear-gradient(90deg, rgba(251,191,36,.35) 0 10%, transparent 10% 20%);
  box-shadow:inset 0 0 0 2px rgba(251,191,36,.45);
  border:none;
}
.fm-form-arch .fm-mesh{ border-radius:50% 50% 8px 8px; inset:10% 8% 30% 8%; }

/* Übergänge */
.fm-form-portal .fm-mesh{
  inset:8% 6% 28% 6%;
  border-radius:10px;
  background:linear-gradient(145deg, rgba(56,189,248,.35), rgba(15,23,42,.85));
  box-shadow:0 0 0 2px rgba(56,189,248,.5), 0 8px 16px rgba(0,0,0,.4);
}
.fm-prop[data-icon="to_outside"] .fm-mesh{
  background:linear-gradient(145deg, rgba(74,222,128,.4), rgba(20,83,45,.9));
  box-shadow:0 0 0 2px rgba(74,222,128,.55), 0 8px 16px rgba(0,0,0,.4);
}
.fm-prop[data-icon="to_ebony"] .fm-mesh{
  background:linear-gradient(145deg, rgba(209,193,46,.45), rgba(69,26,3,.95));
  box-shadow:0 0 0 2px rgba(209,193,46,.6), 0 8px 16px rgba(0,0,0,.4);
}
.fm-prop[data-icon="to_boulevard"] .fm-mesh{
  background:linear-gradient(145deg, rgba(125,211,252,.4), rgba(30,58,138,.9));
  box-shadow:0 0 0 2px rgba(125,211,252,.55), 0 8px 16px rgba(0,0,0,.4);
}
.fm-prop[data-icon="to_outside"] .fm-label,
.fm-prop[data-icon="to_ebony"] .fm-label,
.fm-prop[data-icon="to_boulevard"] .fm-label{
  font-size:9px; font-weight:800; letter-spacing:.02em;
}

/* Bereichstrenner */
.fm-zone[data-icon="divider_h"],
.fm-zone[data-icon="divider_v"]{
  border:none;
  border-radius:2px;
  background:repeating-linear-gradient(90deg, rgba(209,193,46,.55) 0 8px, transparent 8px 14px);
  box-shadow:none;
  color:transparent;
  overflow:hidden;
}
.fm-zone[data-icon="divider_v"]{
  background:repeating-linear-gradient(180deg, rgba(209,193,46,.55) 0 8px, transparent 8px 14px);
}

/* Bereiche / Teile markieren */
.fm-zone[data-icon="section"],
.fm-zone[data-icon="section_a"],
.fm-zone[data-icon="section_b"],
.fm-zone[data-icon="section_c"],
.fm-zone[data-icon="front"],
.fm-zone[data-icon="back"],
.fm-zone[data-icon="middle"],
.fm-zone[data-icon="left_area"],
.fm-zone[data-icon="right_area"]{
  border-style:dashed;
  border-width:2px;
  background:rgba(209,193,46,.08);
  color:#f7f1e6;
  letter-spacing:.06em;
}
.fm-zone[data-icon="section_a"]{ border-color:rgba(96,165,250,.55); background:rgba(59,130,246,.10); color:#dbeafe }
.fm-zone[data-icon="section_b"]{ border-color:rgba(52,211,153,.55); background:rgba(16,185,129,.10); color:#d1fae5 }
.fm-zone[data-icon="section_c"]{ border-color:rgba(251,146,60,.55); background:rgba(249,115,22,.10); color:#ffedd5 }
.fm-zone[data-icon="front"]{ border-color:rgba(167,139,250,.5); background:rgba(139,92,246,.10); color:#ede9fe }
.fm-zone[data-icon="middle"]{ border-color:rgba(209,193,46,.45); background:rgba(209,193,46,.08) }
.fm-zone[data-icon="back"]{ border-color:rgba(148,163,184,.5); background:rgba(100,116,139,.12); color:#e2e8f0 }
.fm-zone[data-icon="left_area"]{ border-color:rgba(244,114,182,.5); background:rgba(236,72,153,.08); color:#fce7f3 }
.fm-zone[data-icon="right_area"]{ border-color:rgba(34,211,238,.5); background:rgba(6,182,212,.10); color:#cffafe }


/* Editor: volle Breite, kein schmaler Kasten durch aspect-ratio */
.fm-map.fm-map--large{
  width:100%;
  max-width:100%;
  aspect-ratio:auto;
  min-height:420px;
  height:min(72vh, 820px);
}
body.fp-draw-focus .fm-map,
body.fp-draw-focus .fm-map.fm-map--large{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:unset !important;
}


/* ===== Erkennbare 3D-Objekte ===== */
.fm-glyph{
  position:absolute;z-index:4;
  left:50%;top:36%;
  transform:translate(-50%,-50%) translateZ(12px);
  font-size:clamp(11px, 1.8vw, 20px);
  line-height:1;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.75));
  pointer-events:none;
  text-shadow:0 1px 0 rgba(255,255,255,.15);
}
.fm-prop-sm .fm-glyph{font-size:clamp(9px,1.4vw,14px);top:34%}
.fm-prop-lg .fm-glyph{font-size:clamp(14px,2.2vw,24px)}
.fm-prop .fm-label{
  background:transparent !important;
  backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
.fm-prop .fm-ico{margin-right:2px}

.fm-deco{position:absolute;inset:0;pointer-events:none;z-index:2}
.fm-deco-screen .fm-deco-glass{
  position:absolute;left:8%;right:8%;top:10%;bottom:28%;
  border-radius:4px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.25), transparent 40%),
    linear-gradient(160deg,#7dd3fc,#2563eb 45%,#0f172a);
  box-shadow:inset 0 0 0 2px #020617, 0 0 16px rgba(56,189,248,.35);
}
.fm-deco-screen .fm-deco-stand{
  position:absolute;left:42%;right:42%;bottom:12%;height:14%;
  background:#111;border-radius:2px;
  box-shadow:0 4px 0 #000;
}
.fm-deco-door .fm-deco-panel{
  position:absolute;inset:8% 18% 18% 18%;
  border-radius:3px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(180deg,#a16207,#713f12 60%,#451a03);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35), 0 6px 0 #1c0a00;
}
.fm-form-door_double .fm-deco-door .fm-deco-panel{width:38%;inset:8% auto 18% 12%}
.fm-form-door_double .fm-deco-door .fm-deco-panel + .fm-deco-panel{left:auto;right:12%}
.fm-deco-knob{
  position:absolute;top:48%;right:24%;width:7%;padding-bottom:7%;
  border-radius:50%;background:radial-gradient(circle at 30% 30%,#fde68a,#a16207);
  box-shadow:0 1px 2px rgba(0,0,0,.5);
}
.fm-deco-knob.l{right:auto;left:40%}
.fm-deco-knob.r{right:40%;left:auto}
.fm-deco-arch{
  position:absolute;inset:10% 12% 28% 12%;
  border:3px solid rgba(251,191,36,.55);
  border-bottom:none;border-radius:50% 50% 0 0;
  box-shadow:inset 0 0 20px rgba(251,191,36,.15);
}
.fm-deco-portal{
  position:absolute;inset:18% 10% 30% 10%;
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(14px,2.5vw,28px);font-weight:900;color:#fef9c3;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  border-radius:8px;
  text-shadow:0 2px 4px rgba(0,0,0,.7);
}
.fm-deco-felt{
  position:absolute;inset:18% 10% 32% 10%;
  border-radius:4px;
  background:
    radial-gradient(circle at 12% 20%, #14532d 0 6%, transparent 7%),
    radial-gradient(circle at 88% 20%, #14532d 0 6%, transparent 7%),
    radial-gradient(circle at 12% 80%, #14532d 0 6%, transparent 7%),
    radial-gradient(circle at 88% 80%, #14532d 0 6%, transparent 7%),
    linear-gradient(160deg,#166534,#052e16);
  box-shadow:inset 0 0 0 3px #3f2a14, 0 4px 0 #1c1008;
}
.fm-deco-play{
  position:absolute;inset:22% 10% 34% 10%;
  border-radius:4px;
  background:linear-gradient(160deg,#22c55e,#14532d);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.15);
}
.fm-deco-seat{
  position:absolute;inset:24% 8% 30% 8%;
  display:flex;gap:4%;
}
.fm-deco-seat span{
  flex:1;border-radius:10px 10px 4px 4px;
  background:linear-gradient(180deg,#a8a29e,#44403c);
  box-shadow:0 5px 0 #1c1917;
}
.fm-deco-stool{
  position:absolute;left:28%;right:28%;top:22%;bottom:30%;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#d6d3d1,#44403c 60%,#1c1917);
  box-shadow:0 8px 0 #0c0a09, 0 12px 14px rgba(0,0,0,.4);
}
.fm-deco-bar{
  position:absolute;left:8%;right:8%;top:28%;height:18%;
  display:flex;gap:3%;
}
.fm-deco-bar span{
  flex:1;border-radius:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.05));
  box-shadow:0 2px 0 rgba(0,0,0,.25);
}
.fm-deco-speaker{
  position:absolute;inset:18% 22% 30% 22%;
  display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;
  background:#18181b;border-radius:8px;
  box-shadow:0 8px 0 #000, inset 0 0 0 2px #3f3f46;
}
.fm-deco-speaker i{
  width:55%;padding-bottom:55%;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,#737373,#171717 55%,#000);
  box-shadow:inset 0 0 0 2px #52525b;
}
.fm-deco-steps{
  position:absolute;inset:12% 10% 28% 10%;
  background:repeating-linear-gradient(180deg,#d6d3d1 0 14%,#78716c 14% 18%,#44403c 18% 28%);
  border-radius:4px;
  transform:perspective(180px) rotateX(18deg);
  transform-origin:center bottom;
  box-shadow:0 10px 0 #1c1917;
}
.fm-deco-wc{
  position:absolute;inset:30% 18% 38% 18%;
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(10px,1.8vw,16px);font-weight:900;color:#e0f2fe;
  background:rgba(14,165,233,.2);border-radius:6px;
  border:1px solid rgba(125,211,252,.45);
}
.fm-deco-plant,.fm-deco-umb,.fm-deco-ext{
  position:absolute;inset:10% 10% 28% 10%;
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(18px,3vw,32px);
}
.fm-deco-tallslot{
  position:absolute;left:18%;right:18%;top:12%;bottom:28%;
  border-radius:6px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.2), transparent 30%),
    linear-gradient(160deg,#334155,#0f172a);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12), 0 8px 0 #020617;
}

/* Icon-Farben / Charakter */
.fm-prop[data-icon="billard"] .fm-mesh{background:linear-gradient(160deg,#3f2a14,#1c1008) !important}
.fm-prop[data-icon="kicker"] .fm-mesh,
.fm-prop[data-icon="airhockey"] .fm-mesh{background:linear-gradient(160deg,#166534,#052e16) !important}
.fm-prop[data-icon="tv"] .fm-mesh,
.fm-prop[data-icon="tv_s"] .fm-mesh,
.fm-prop[data-icon="tv_l"] .fm-mesh{background:#020617 !important}
.fm-prop[data-icon="fridge"] .fm-mesh{background:linear-gradient(180deg,#e2e8f0,#64748b) !important}
.fm-prop[data-icon="fridge"] .fm-glyph{filter:none}
.fm-prop[data-icon="coffee"] .fm-mesh{background:linear-gradient(160deg,#78716c,#1c1917) !important}
.fm-prop[data-icon="dj"] .fm-mesh{background:linear-gradient(160deg,#312e81,#1e1b4b) !important}
.fm-prop[data-icon="stage"] .fm-mesh,
.fm-prop[data-icon="dancefloor"] .fm-mesh{background:linear-gradient(160deg,#6d28d9,#4c1d95) !important}
.fm-prop[data-icon="emergency_exit"] .fm-mesh,
.fm-prop[data-icon="notausgang"] .fm-mesh{background:linear-gradient(180deg,#ef4444,#7f1d1d) !important}
.fm-prop[data-icon="wc"] .fm-mesh,
.fm-prop[data-icon="wc_m"] .fm-mesh{background:linear-gradient(160deg,#38bdf8,#1e3a8a) !important}
.fm-prop[data-icon="wc_w"] .fm-mesh{background:linear-gradient(160deg,#f472b6,#9d174d) !important}
.fm-prop[data-icon="plant"] .fm-mesh{background:linear-gradient(180deg,#4d7c0f,#14532d) !important;border-radius:40% 40% 20% 20%}
.fm-prop[data-icon="sofa"] .fm-mesh,
.fm-prop[data-icon="lounge"] .fm-mesh{background:linear-gradient(160deg,#a8a29e,#292524) !important}
.fm-prop[data-icon="bank"] .fm-mesh{background:linear-gradient(160deg,#78716c,#292524) !important}
.fm-prop[data-icon="hocker"] .fm-mesh{background:transparent !important;box-shadow:none !important}
.fm-prop[data-icon="speaker"] .fm-mesh{background:#09090b !important}
.fm-prop[data-icon="feuerloescher"] .fm-mesh{background:linear-gradient(180deg,#ef4444,#7f1d1d) !important}

/* Glyph bei Theken-Poly etwas höher */
.fm-has-poly .fm-glyph{top:40%;font-size:clamp(10px,1.6vw,18px)}


/* Kompaktere Prop-Meshes */
.fm-prop .fm-mesh{inset:4% 8% 22% 8% !important}
.fm-prop.fm-no-frame .fm-mesh{inset:2% 4% 16% 4% !important}
.fm-table.fm-3d .fm-mesh-table{inset:2% 2% 6% 2% !important}
.fm-table .fm-label{font-size:clamp(9px,1.3vw,12px)}
.fm-table .fm-cap{font-size:8px}


/* Keine Kasten-Hintergründe an Objekten – nur die 3D-Form */
.fm-prop,
.fm-prop[data-icon],
.fm-prop.fm-no-frame,
.fm-prop.fm-3d{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none;
}
.fm-prop .fm-label{
  background:transparent !important;
  backdrop-filter:none !important;
  padding:0 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.95), 0 0 6px rgba(0,0,0,.8) !important;
  color:#f8fafc !important;
}
.fm-prop.is-selected,
.fm-prop.is-active{
  background:transparent !important;
  outline:2px dashed rgba(209,193,46,.65);
  outline-offset:2px;
}


/* === FINAL: keine Platten hinter Objekten === */
.fm-prop,
.fm-prop[data-icon],
.fm-prop.fm-3d,
.fm-prop.fm-no-frame{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.fm-prop > .fm-mesh{
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
}
/* Ausnahme: echte Möbel-Körper behalten Formfarbe */
.fm-prop.fm-form-counter > .fm-mesh,
.fm-prop.fm-form-theke_l > .fm-mesh,
.fm-prop.fm-form-theke_j > .fm-mesh,
.fm-prop.fm-form-theke_t > .fm-mesh,
.fm-prop.fm-form-theke_y > .fm-mesh,
.fm-prop.fm-form-theke_u > .fm-mesh,
.fm-prop.fm-form-theke_c > .fm-mesh,
.fm-prop.fm-form-theke_z > .fm-mesh,
.fm-prop.fm-form-poly > .fm-mesh,
.fm-prop.fm-has-poly > .fm-mesh,
.fm-prop.fm-form-sofa > .fm-mesh,
.fm-prop.fm-form-bench > .fm-mesh,
.fm-prop.fm-form-tableflat > .fm-mesh,
.fm-prop.fm-form-screen > .fm-mesh,
.fm-prop.fm-form-door > .fm-mesh,
.fm-prop.fm-form-door_h > .fm-mesh,
.fm-prop.fm-form-door_v > .fm-mesh,
.fm-prop.fm-form-door_double > .fm-mesh,
.fm-prop.fm-form-cabin > .fm-mesh,
.fm-prop.fm-form-tall > .fm-mesh,
.fm-prop.fm-form-box > .fm-mesh,
.fm-prop.fm-form-desk > .fm-mesh,
.fm-prop.fm-form-platform > .fm-mesh,
.fm-prop.fm-form-speaker > .fm-mesh,
.fm-prop.fm-form-stairs > .fm-mesh,
.fm-prop.fm-form-stairs_up > .fm-mesh,
.fm-prop.fm-form-stairs_down > .fm-mesh,
.fm-prop.fm-form-spiral > .fm-mesh,
.fm-prop.fm-form-ramp > .fm-mesh,
.fm-prop.fm-form-elevator > .fm-mesh,
.fm-prop.fm-form-escalator > .fm-mesh,
.fm-prop.fm-form-column > .fm-mesh,
.fm-prop.fm-form-pot > .fm-mesh,
.fm-prop.fm-form-umbrella > .fm-mesh,
.fm-prop.fm-form-heater > .fm-mesh,
.fm-prop.fm-form-portal > .fm-mesh,
.fm-prop.fm-form-passage > .fm-mesh,
.fm-prop.fm-form-arch > .fm-mesh,
.fm-prop.fm-form-rack > .fm-mesh,
.fm-prop.fm-form-ext > .fm-mesh,
.fm-prop.fm-form-wallpanel > .fm-mesh,
.fm-prop.fm-form-sign > .fm-mesh{
  /* Formfarben aus den form-Regeln wieder erlauben */
  background-image:unset;
}
.fm-prop.fm-form-counter > .fm-mesh{background:linear-gradient(160deg,#c4a574,#5c3d1e) !important;border-radius:6px;box-shadow:0 6px 0 #2a1808,0 10px 14px rgba(0,0,0,.35) !important}
.fm-prop.fm-form-sofa > .fm-mesh{background:linear-gradient(160deg,#a8a29e,#292524) !important;border-radius:14px 14px 8px 8px;box-shadow:0 6px 0 #1c1917 !important}
.fm-prop.fm-form-bench > .fm-mesh{background:linear-gradient(160deg,#78716c,#44403c) !important;border-radius:6px;box-shadow:0 5px 0 #1c1917 !important}
.fm-prop.fm-form-tableflat > .fm-mesh{background:linear-gradient(160deg,#166534,#052e16) !important;border-radius:6px;box-shadow:0 6px 0 #02140a !important}
.fm-prop.fm-form-screen > .fm-mesh{background:#020617 !important;border-radius:6px;box-shadow:0 6px 0 #000 !important}
.fm-prop.fm-form-door > .fm-mesh,
.fm-prop.fm-form-door_h > .fm-mesh,
.fm-prop.fm-form-door_v > .fm-mesh,
.fm-prop.fm-form-door_double > .fm-mesh{background:linear-gradient(180deg,#a16207,#451a03) !important;border-radius:4px;box-shadow:0 6px 0 #1c0a00 !important}
.fm-prop.fm-form-cabin > .fm-mesh{background:linear-gradient(160deg,#38bdf8,#1e3a8a) !important;border-radius:8px;box-shadow:0 6px 0 #0c1a3a !important}
.fm-prop.fm-form-tall > .fm-mesh{background:linear-gradient(180deg,#64748b,#1e293b) !important;border-radius:8px;box-shadow:0 8px 0 #020617 !important}
.fm-prop.fm-form-box > .fm-mesh{background:linear-gradient(160deg,#52525b,#27272a) !important;border-radius:8px;box-shadow:0 6px 0 #111 !important}
.fm-prop.fm-form-desk > .fm-mesh{background:linear-gradient(160deg,#312e81,#1e1b4b) !important;border-radius:6px;box-shadow:0 6px 0 #0b0a24 !important}
.fm-prop.fm-form-platform > .fm-mesh{background:linear-gradient(160deg,#6d28d9,#4c1d95) !important;border-radius:6px;box-shadow:0 5px 0 #2e1065 !important}
.fm-prop.fm-form-speaker > .fm-mesh{background:#18181b !important;border-radius:10px;box-shadow:0 6px 0 #000 !important}
.fm-prop.fm-form-pot > .fm-mesh{background:linear-gradient(180deg,#4d7c0f,#14532d) !important;border-radius:40% 40% 20% 20%;box-shadow:0 6px 0 #052e16 !important}
.fm-prop.fm-form-column > .fm-mesh{background:linear-gradient(180deg,#a8a29e,#44403c) !important;border-radius:8px;box-shadow:0 6px 0 #1c1917 !important}
.fm-prop.fm-form-portal > .fm-mesh{background:linear-gradient(145deg,rgba(56,189,248,.45),rgba(15,23,42,.9)) !important;border-radius:10px;box-shadow:0 0 0 2px rgba(56,189,248,.5),0 6px 12px rgba(0,0,0,.35) !important}
.fm-prop.fm-form-stool > .fm-mesh{background:transparent !important;box-shadow:none !important}
.fm-prop.fm-form-sign > .fm-mesh{background:transparent !important;box-shadow:none !important}
.fm-prop.fm-form-umbrella > .fm-mesh{background:transparent !important;box-shadow:none !important}
.fm-prop.fm-form-ext > .fm-mesh{background:transparent !important;box-shadow:none !important}
.fm-prop.fm-form-heater > .fm-mesh{background:linear-gradient(180deg,#fb923c,#9a3412) !important;border-radius:40% 40% 20% 20%;box-shadow:0 6px 0 #7c2d12 !important}
.fm-prop.fm-has-poly > .fm-mesh,
.fm-prop.fm-form-poly > .fm-mesh{
  background:linear-gradient(165deg,#e0b887,#5c3d1e) !important;
  box-shadow:0 8px 0 #2a1808,0 12px 16px rgba(0,0,0,.4) !important;
}
.fm-prop .fm-label{
  background:transparent !important;
  box-shadow:none !important;
}
