/* Ticket UI (scoped) – v1 */

.mlTickets{--mlGap:12px;}
.mlTickets.hasSticky{padding-bottom:86px;}
.mlTickets .mlTitleRow{display:flex;align-items:flex-end;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;}
.mlTickets .mlTitleRow h2{margin:0;}
.mlTickets .mlSub{opacity:.9;margin-top:6px;}

.mlTickets .mlPanel{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);border-radius:14px;padding:12px;}
.mlTickets .mlPanel strong{font-weight:900;}

.mlTicketList{display:flex;flex-direction:column;gap:10px;}

.mlTicketCard{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  border-radius:16px;
  padding:12px;
}

.mlTicketTop{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.mlTicketName{font-weight:950;letter-spacing:.2px;}
.mlTicketDesc{white-space:pre-line;opacity:.92;margin-top:6px;font-size:13px;}
.mlTicketMeta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;}
.mlTicketPrice{font-weight:950;}

.mlQty{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.12);
  border-radius:999px;
}
.mlQty button{
  width:38px;height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
  color:inherit;
  font-weight:900;
  cursor:pointer;
}
.mlQty button:disabled{opacity:.45;cursor:not-allowed;}
.mlQty input{
  width:54px;
  text-align:center;
  border:0;
  background:transparent;
  color:inherit;
  font-weight:900;
  font-size:16px;
  outline:none;
}

.mlPartners{display:flex;justify-content:space-between;width:100%;gap:10px;flex-wrap:wrap;margin-top:10px;}

.mlStickyBuy{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:999;
  padding:10px;
  background:rgba(10,12,16,.68);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top:1px solid rgba(255,255,255,.10);
  transform: translateY(120%);
  transition: transform .18s ease;
}
.mlStickyBuy.isOn{transform: translateY(0);}
.mlStickyInner{max-width:1100px;margin:50px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mlStickyInner .mlStickyInfo{display:flex;flex-direction:column;gap:2px;}
.mlStickyInner .mlStickyInfo .small{opacity:.9}

.mlModal{
  position:fixed;inset:0;z-index:1000;
  background:rgba(0,0,0,.55);
  display:none;align-items:center;justify-content:center;
  padding:18px;
}
.mlModal.isOpen{display:flex;}
.mlModalCard{
  width:min(560px, 100%);
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(12,15,20,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  padding:14px;
}
.mlModalHead{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mlModalHead h3{margin:0;font-size:18px;}
.mlModalClose{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);cursor:pointer;color:inherit;}
.mlModalBody{margin-top:10px;opacity:.95;}
.mlModalActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.mlModalActions .btn{flex:1 1 200px;justify-content:center;}

@media (min-width: 921px){
  .mlTicketCard{padding:14px;}
  .mlTicketTop{flex-wrap:nowrap;}
}
