.wedding-hall {
  display: block;
  width: 100%;
  height: auto;
  font-family: "Cairo", system-ui, sans-serif;
  -webkit-tap-highlight-color: transparent;
}

@media (min-width: 768px) {
  .wedding-hall {
    height: 100%;
  }
}

.wedding-hall__floor { fill: #f4f0e6; }
.wedding-hall__porch { fill: #ece5d6; }
.wedding-hall__panel { fill: none; stroke: #e2d6bb; stroke-width: 1.5; }
.wedding-hall__inner-line { fill: none; stroke: #d9c79d; stroke-width: 1.5; }

.wedding-hall__wall { fill: none; stroke: #3a3e43; stroke-width: 18; stroke-linejoin: miter; }
.wedding-hall__wall-trim { fill: none; stroke: #c9aa6b; stroke-width: 2.5; stroke-linejoin: miter; }

.wedding-hall__door { stroke: #8a7348; stroke-width: 3; }
.wedding-hall__door-swing { fill: none; stroke: #8a7348; stroke-width: 1.5; }

.wedding-hall__stage { fill: #f8f3e8; stroke: #cdb27a; stroke-width: 3; filter: url(#hall-shadow); }
.wedding-hall__stage-inner { fill: #fbf8f1; stroke: #dccaa2; stroke-width: 1.5; }
.wedding-hall__garland { fill: none; stroke: #4f7a33; stroke-width: 7; stroke-linejoin: round; stroke-dasharray: 3 2; }

.wedding-hall__label {
  fill: #2f2a26;
  font-size: 22px;
  font-weight: 700;
  text-anchor: middle;
  direction: rtl;
}

.hall-light__bulb { fill: #fffbe8; }

.hall-plant__leaf { fill: url(#hall-leaf); stroke: #2f4f1f; stroke-width: 0.6; }
.hall-plant__leaf--inner { fill: #6f9a43; }
.hall-plant__bud { fill: #e6d7a8; stroke: #a88a4c; stroke-width: 1; }

.hall-table { cursor: pointer; outline: none; }

.hall-table__body {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.2s ease;
}

.hall-table__chair { fill: url(#hall-chair); stroke: #b39556; stroke-width: 1.5; }
.hall-table__top {
  fill: url(#hall-table-top);
  stroke: #b89a5c;
  stroke-width: 2;
  filter: url(#hall-shadow);
  transition: fill 0.2s ease, stroke 0.2s ease;
}
.hall-table__rim { fill: none; stroke: #e4d8bd; stroke-width: 1; }

.hall-table__number {
  fill: #2b2522;
  font-size: 32px;
  font-weight: 700;
  text-anchor: middle;
  pointer-events: none;
}

.hall-table:hover .hall-table__body,
.hall-table:focus-visible .hall-table__body {
  transform: scale(1.06);
}

.hall-table:focus-visible .hall-table__top { stroke: #b8863a; stroke-width: 4; }

.hall-table__occupancy {
  fill: #76766f;
  font-size: 15px;
  font-weight: 600;
  text-anchor: middle;
  pointer-events: none;
}

.wedding-hall__grid { pointer-events: none; opacity: 0.55; transition: opacity 0.15s ease; }
.wedding-hall__grid[data-dragging="true"] { opacity: 1; }
.wedding-hall__grid-line { stroke: #b99a5a; stroke-width: 0.8; stroke-opacity: 0.55; }
.wedding-hall__guide { stroke: #0f6b5a; stroke-width: 2; stroke-dasharray: 6 5; pointer-events: none; }

.hall-table[data-blocked="true"] .hall-table__top { fill: #fbe6df; stroke: #b83619; stroke-width: 4; }
.hall-table[data-blocked="true"] .hall-table__chair { fill: #f3c3b3; stroke: #b83619; }

.hall-table[data-editable="true"] { cursor: grab; touch-action: none; }
.hall-table[data-dragging="true"] { cursor: grabbing; }
.hall-table[data-dragging="true"] .hall-table__body { transform: scale(1.1); opacity: 0.85; }
.hall-table[data-full="true"] .hall-table__occupancy { fill: #0f6b5a; }

.hall-table[data-selected="true"] .hall-table__top { fill: #fbe9bf; stroke: #a8772b; stroke-width: 4; }
.hall-table[data-selected="true"] .hall-table__chair { fill: #e9c77a; }
