.bmc-form { max-width: 720px; margin: 1rem auto; padding: 1rem; border: 1px solid #eee; border-radius: 12px; }
.bmc-form label { display:block; margin-bottom: .75rem; font-weight:600; }
.bmc-form input[type=text],
.bmc-form input[type=number],
.bmc-form input[type=file],
.bmc-form textarea { width:100%; padding:.6rem .7rem; border:1px solid #ddd; border-radius:10px; }
.bmc-btn { display:inline-block; padding:.6rem 1.1rem; border-radius:999px; border:none; background:#0b3a6e; color:#fff; cursor:pointer; }
.bmc-note { font-size:.9rem; color:#666; }
.bmc-alert { background:#fff6e6; border:1px solid #ffd9a3; padding:.8rem 1rem; border-radius:10px; }
.bmc-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin:1rem 0; }
.bmc-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap:1rem; }
.bmc-card { display:block; text-decoration:none; color:inherit; border:1px solid #eee; border-radius:14px; overflow:hidden; background:#fff; }
.bmc-thumb img { width:100%; height:200px; object-fit:cover; display:block; }
.bmc-card-body { padding:.75rem .9rem; }
.bmc-title { font-size:1.05rem; margin:0 0 .25rem 0; }
.bmc-meta { display:flex; justify-content:space-between; font-size:.95rem; color:#333; }
.bmc-price { font-weight:800; }
.bmc-tickets { max-width: 720px; margin: 1rem auto; }
.bmc-ticket { border:1px solid #eee; border-radius:12px; margin-bottom:.75rem; }
.bmc-ticket-head { display:flex; justify-content:space-between; padding:.6rem .8rem; background:#f9fbff; border-bottom:1px solid #eee; }
.bmc-ticket-body { padding:.8rem; }
@media (max-width: 640px){
  .bmc-form, .bmc-tickets { padding:.6rem; }
  .bmc-thumb img { height:160px; }
}
