/* =========================================
displayTicket.css
Clean Premium Ticket UI
========================================= */

/* ================= TICKET WRAP ================= */
.ticketBox{
background:#ffffff;
border:1px solid #ede9fe;
border-radius:24px;
padding:28px 24px;
text-align:center;
box-shadow:
0 18px 40px rgba(15,23,42,.08),
0 4px 14px rgba(15,23,42,.04);
animation:ticketIn .3s ease;
position:relative;
overflow:hidden;
}



/* ================= TITLE ================= */
.ticketTitle{
font-size:26px;
font-weight:900;
color:#111827;
margin-bottom:18px;
padding-top:6px;
}

/* ================= QR ================= */
.ticketQR{
width:220px;
height:220px;
padding:10px;
background:#ffffff;
border-radius:18px;
border:1px solid #e5e7eb;
display:block;
margin:0 auto 18px;
box-shadow:0 10px 24px rgba(0,0,0,.05);
transition:.2s ease;
}

.ticketQR:hover{
transform:scale(1.03);
}

/* ================= TEXT ================= */
.ticketMeta{
font-size:14px;
font-weight:700;
color:#475569;
line-height:1.7;
margin:2px 0;
text-align:center;
}

.ticketMeta b{
font-size:18px;
font-weight:900;
color:#111827;
display:block;
margin-bottom:4px;
}

/* ================= DIVIDER ================= */
.ticketLine{
border:none;
border-top:1px dashed #cbd5e1;
margin:18px auto;
width:88%;
}

/* ================= SUCCESS ================= */
.ticketNotice{
margin-top:18px;
padding:14px;
border-radius:16px;
background:#dcfce7;
color:#166534;
font-size:14px;
font-weight:900;
animation:pulseSoft 1.8s infinite;
}

/* ================= ACTION ================= */
.ticketBox .regBtn{
margin-top:18px;
min-width:220px;
}

/* ================= ONLINE EVENT (NO QR) ================= */
.ticketIcon{
width:84px;
height:84px;
margin:0 auto 18px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:34px;
background:#f5f3ff;
color:#6d28d9;
border:1px solid #ddd6fe;
}

/* ================= ANIMATION ================= */
@keyframes ticketIn{
from{
opacity:0;
transform:translateY(16px) scale(.97);
}
to{
opacity:1;
transform:translateY(0) scale(1);
}
}

@keyframes pulseSoft{
0%,100%{
box-shadow:0 0 0 rgba(34,197,94,0);
}
50%{
box-shadow:0 0 0 6px rgba(34,197,94,.08);
}
}

/* ================= MOBILE ================= */
@media(max-width:760px){

.ticketBox{
padding:24px 18px;
border-radius:22px;
}

.ticketTitle{
font-size:22px;
}

.ticketQR{
width:190px;
height:190px;
}

.ticketMeta{
font-size:13px;
}

.ticketMeta b{
font-size:16px;
}

}

@media(max-width:480px){

.ticketTitle{
font-size:20px;
}

.ticketQR{
width:170px;
height:170px;
}

.ticketBox .regBtn{
width:100%;
min-width:unset;
}

}