.bp-event{max-width:1100px;margin:2rem auto;padding:1rem}.bp-event-cover{display:block;max-width:100%;height:auto;margin:0 auto 1rem}.bp-event-date,.bp-event-venue{font-weight:600}.bp-ticket-types{margin:1.5rem 0}.bp-ticket-type{display:flex;align-items:center;gap:1rem;padding:12px;border:1px solid #ddd;border-radius:6px;margin:8px 0;cursor:pointer}.bp-ticket-type span{display:flex;flex:1;flex-direction:column}.bp-ticket-type small{opacity:.7}.bp-ticket-type strong{white-space:nowrap}.bp-unavailable{opacity:.45;cursor:not-allowed}.bp-map-wrap{position:relative;width:100%;max-width:1000px}.bp-map-bg{display:block;width:100%;height:auto}.bp-map-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.bp-map-item{fill:#4caf50;stroke:#236b2a;stroke-width:2;cursor:pointer}.bp-map-item.bp-table{fill:#b9d9a9}.bp-map-item.bp-selected{fill:#2196f3;stroke:#084d89}.bp-map-item.bp-unavailable{fill:#999;stroke:#555;cursor:not-allowed;opacity:.7}.bp-map-label{font-size:15px;fill:#222}.bp-map-label-text{font-size:10px;fill:#111;pointer-events:none}.bp-map-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.bp-map-legend span:first-child{color:#27832c}.bp-map-legend span:nth-child(2){color:#1680d6}.bp-map-legend span:nth-child(3){color:#777}.bp-selected-seats{margin:.75rem 0;font-weight:600}.bp-buy{margin:1rem 0}.bp-message{margin:.5rem 0;color:#b32d2e}.bp-login-required{padding:1rem;border:1px solid #ddd;background:#fafafa}.bp-scanner{max-width:600px;margin:1rem auto;padding:1rem;border:1px solid #ddd;border-radius:8px}.bp-scan-form{display:flex;gap:.5rem}.bp-scan-form input{flex:1;min-width:0}.bp-scan-result{padding:1rem;margin-top:1rem}.bp-scan-result.success{background:#d8f3dc;color:#155724}.bp-scan-result.error{background:#f8d7da;color:#721c24}@media(max-width:600px){.bp-ticket-type{align-items:flex-start}.bp-scan-form{flex-direction:column}}
.bp-section-polygon{stroke:#0878bd;stroke-width:2;fill:rgba(0,120,215,.18);pointer-events:none}.bp-section-label{font-size:14px;fill:#111;pointer-events:none}
.bp-door-sale-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.bp-door-sale-form label{display:flex;flex-direction:column;gap:5px}.bp-door-sale-form input,.bp-door-sale-form select{max-width:100%}.bp-door-sale-result{margin-top:10px;padding:8px}.bp-event .button.alt,.bp-event .bp-buy{background:var(--bp-primary);border-color:var(--bp-primary);color:#fff}
