/* Public UI: floor plan + forms */
.ebp-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.ebp-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width: 900px){.ebp-grid2{grid-template-columns:1fr}}
.ebp-card input{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:12px}
.ebp-btn{border-radius:12px;padding:10px 14px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-weight:800}
.ebp-btn-primary{background:#111827;color:#fff;border-color:#111827}
.ebp-btn-secondary{background:#f3f4f6}
.ebp-muted{color:#6b7280;font-size:12px}
.ebp-notice{margin:10px 0;padding:10px;border-radius:12px}
.ebp-notice-success{background:#ecfdf5;border:1px solid #a7f3d0}

.ebp-floor-wrapper{margin:16px 0}
.ebp-floor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ebp-pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#f3f4f6;border:1px solid #e5e7eb;font-size:12px;font-weight:700}
.ebp-legend{display:flex;gap:8px;flex-wrap:wrap}
.ebp-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(0,0,0,.12)}
.ebp-chip.standard{background:#ff4dff}
.ebp-chip.premium{background:#ff3b30;color:#fff}
.ebp-chip.corner{background:#7f1d1d;color:#fff}
.ebp-chip.occupied{background:#111827;color:#fff}

.ebp-floor-grid{
  display:grid;
  grid-template-columns: repeat(54, 18px);
  grid-template-rows: repeat(32, 18px);
  gap: 2px;
  overflow:auto;
  padding:10px;
  background: #eef7ea;
  border:1px solid #c7e0bf;
  border-radius:16px;
}
.ebp-booth{
  border:2px solid #111;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:11px;
  cursor:pointer;
  transition:transform .12s ease, filter .12s ease;
  padding:0;
}
.ebp-booth:hover{transform:scale(1.04);filter:brightness(1.05);z-index:3}
.type-standard{background:#ff4dff}
.type-premium{background:#ff3b30;color:#fff}
.type-corner{background:#7f1d1d;color:#fff}
.state-reserved{outline:3px solid #f59e0b}
.state-occupied{opacity:.55;cursor:not-allowed;outline:3px solid #111827}
.ebp-booth-label{pointer-events:none}

.ebp-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:99999}
.ebp-modal[aria-hidden="false"]{display:flex}
.ebp-modal-card{background:#fff;border-radius:16px;max-width:520px;width:100%;border:1px solid #e5e7eb;box-shadow:0 20px 80px rgba(0,0,0,.28)}
.ebp-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;border-bottom:1px solid #eee}
.ebp-modal-title{font-weight:900;font-size:18px}
.ebp-modal-sub{color:#6b7280;font-size:12px;margin-top:2px}
.ebp-modal-body{padding:14px;color:#111827}
.ebp-modal-actions{padding:14px;border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}


/* Added in v0.5.0 */



/* ===== Floorplan (theme-agnostic, scoped) ===== */
.ebp-floor-wrapper{max-width:1200px;margin:0 auto}
.ebp-floor-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 12px}
.ebp-pill{padding:8px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.15);background:#fff;font-weight:700}
.ebp-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ebp-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid rgba(15,23,42,.18);background:#fff}
.ebp-floor-canvas{position:relative;border:1px solid rgba(15,23,42,.12);border-radius:16px;overflow:hidden;background:#fff}
.ebp-floor-bg{display:block;width:100%;height:auto}
.ebp-floor-grid{
  position:absolute; inset:0;
  display:grid;
  grid-template-columns: repeat(var(--ebp-cols), 1fr);
  grid-template-rows: repeat(var(--ebp-rows), 1fr);
  pointer-events:none; /* enable only buttons */
}
.ebp-booth{
  pointer-events:auto;
  border:2px solid rgba(0,0,0,.75);
  border-radius:3px;
  padding:0;
  min-width:0; min-height:0;
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
  line-height:1;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
  cursor:pointer;
}
.ebp-booth-code{font-size:12px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
/* Zones (legend colors) */
.ebp-chip.zone-sponsors, .ebp-booth.zone-sponsors{background:#ff0000;color:#fff}
.ebp-chip.zone-onhold,  .ebp-booth.zone-on_hold, .ebp-booth.zone-onhold{background:#ffd400;color:#111}
.ebp-chip.zone-sold,    .ebp-booth.zone-sold{background:#ff33cc;color:#fff}
.ebp-chip.zone-regular, .ebp-booth.zone-regular{background:#2e7d32;color:#fff}
.ebp-chip.zone-food,    .ebp-booth.zone-food{background:#00BCD4;color:#00323a} /* Food booth label is by code R1-R20; override as needed */
.ebp-chip.zone-corporate, .ebp-booth.zone-corporate{background:#1e40ff;color:#fff}
.ebp-chip.zone-prime,   .ebp-booth.zone-prime{background:#6b3f12;color:#fff}

/* Booking states overlay */
.ebp-booth.state-occupied{filter:saturate(0.7) brightness(0.9)}
.ebp-booth.state-pending{outline:3px dashed rgba(0,0,0,.5); outline-offset:-2px}
.ebp-booth.state-hold{outline:3px solid rgba(0,0,0,.5); outline-offset:-2px}

.ebp-floor-help{margin-top:10px;color:rgba(15,23,42,.75);font-size:13px}
