/* v0.10.2 – identische Saalplan-Darstellung in Editor und Buchung */
:root{--plan-seat-size:32px;--plan-seat-free:#5e9f72;--plan-seat-blocked:#676d70;--plan-table:#76502f;--plan-table-border:#4e301b;--plan-canvas:#bda57f}

/* Grundfläche in Editor und Buchung angleichen */
.admin-ui .plan-canvas,
.public-booking .plan-canvas{
  background-color:var(--plan-canvas);
  background-image:linear-gradient(90deg,#5e4d3515 1px,transparent 1px),linear-gradient(#5e4d3515 1px,transparent 1px);
  background-size:25px 25px;
}

/* Tische in beiden Ansichten identisch */
.admin-ui .plan-canvas .table-core,
.public-booking .plan-canvas .table-core{
  background:var(--plan-table);
  border-color:var(--plan-table-border);
}

/* Sitzplätze: Admin-Button-Regeln dürfen Größe/Form nicht überschreiben */
.admin-ui .plan-canvas button.seat,
.public-booking .plan-canvas button.seat{
  width:var(--plan-seat-size) !important;
  height:var(--plan-seat-size) !important;
  min-width:var(--plan-seat-size) !important;
  min-height:var(--plan-seat-size) !important;
  max-width:var(--plan-seat-size) !important;
  max-height:var(--plan-seat-size) !important;
  margin:-16px !important;
  padding:0 !important;
  border:2px solid #fff !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
  font-size:11px !important;
  font-weight:800 !important;
  box-sizing:border-box !important;
  color:#13202a !important;
}

.admin-ui .plan-canvas .seat.free,
.public-booking .plan-canvas .seat.free{background:var(--plan-seat-free) !important}
.admin-ui .plan-canvas .seat.blocked,
.public-booking .plan-canvas .seat.blocked{background:var(--plan-seat-blocked) !important}

/* Legende ebenfalls gleich darstellen */
.admin-ui .legend i.free,.public-booking .legend i.free{background:var(--plan-seat-free) !important}
.admin-ui .legend i.blocked,.public-booking .legend i.blocked{background:var(--plan-seat-blocked) !important}

/* Editor: Sitze bleiben kompakt, obwohl Admin-Buttons generell größer sind */
.admin-ui .plan-canvas .seat:hover{transform:scale(1.08)!important;z-index:5}

/* v0.10.4 – Desktop: belegten Planbereich nutzen statt pauschal verkleinern */
@media (min-width:901px){
  .public-booking .booking-page{max-width:1500px}
  .public-booking .booking-layout{grid-template-columns:minmax(0,1080px) 320px;gap:22px;justify-content:start;align-items:start}
  .public-booking .booking-layout>section{min-width:0;overflow:visible}
  .public-booking .plan-viewport{width:100%;height:650px;overflow:hidden;border:1px solid #8c744f;border-radius:18px;background-color:var(--plan-canvas);background-image:linear-gradient(90deg,#5e4d3515 1px,transparent 1px),linear-gradient(#5e4d3515 1px,transparent 1px);background-size:25px 25px;box-shadow:0 20px 55px #0007}
  .public-booking .plan-viewport .plan-canvas{position:relative;width:100%;height:100%;min-width:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:transparent!important}
  .public-booking .plan-stage{position:absolute;left:0;top:0;width:1400px;height:900px;transform-origin:0 0}
  .public-booking .selection{position:sticky;top:18px;width:100%;margin:0}
  .public-booking .legend{width:100%;box-sizing:border-box}
}
@media (max-width:900px){
  .public-booking .plan-viewport{overflow:auto}
  .public-booking .plan-stage{position:relative;width:1400px;height:900px}
}


/* v0.14 – eindeutige Statusfarben */
:root{--plan-seat-selected:#d3a04e;--plan-seat-reserved:#c95745;--plan-seat-held:#8f72aa}
.admin-ui .plan-canvas .seat.admin_reserved,
.public-booking .plan-canvas .seat.admin_reserved{background:var(--plan-seat-reserved)!important}
.admin-ui .legend i.admin_reserved,.public-booking .legend i.admin_reserved{background:var(--plan-seat-reserved)!important}
.public-booking .plan-canvas .seat.selected{background:var(--plan-seat-selected)!important}
.public-booking .legend i.selected{background:var(--plan-seat-selected)!important}
.public-booking .plan-canvas .seat.held{background:var(--plan-seat-held)!important}
.public-booking .legend i.held{background:var(--plan-seat-held)!important}
