.gem-checkout{border:1px solid #e3e6ea;border-radius:16px;padding:28px;margin:28px 0;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.07)}
.gem-checkout h3{margin:0 0 22px;font-size:32px;color:#71169a}
.gem-ticket-list{display:grid;gap:22px}
.gem-ticket-card-title{font-size:20px;font-weight:700;margin:0 0 7px}
.gem-ticket-grid{display:grid;grid-template-columns:145px 1.15fr .72fr 1.45fr;border-left:1px solid #d8dce2;border-top:1px solid #d8dce2}
.gem-ticket-grid>span{padding:15px 18px;border-right:1px solid #d8dce2;border-bottom:1px solid #d8dce2;display:flex;align-items:center}
.gem-ticket-head{font-weight:700;background:#f7f7fa}
.gem-ticket-row select{width:100%;max-width:125px;min-height:48px;padding:8px 12px;background:#fff}
.gem-ticket-note{font-size:17px;line-height:1.55;margin:24px 0 18px}
.gem-customer{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.gem-customer label{font-weight:700}
.gem-customer input{display:block;width:100%;box-sizing:border-box;padding:11px 12px;margin-top:7px;border:1px solid #c9ced6;border-radius:7px}
.gem-payment-buttons{display:flex;flex-wrap:nowrap;gap:10px;margin-top:18px;width:100%}
.gem-pay-button{flex:1 1 0;width:50%;border-radius:9px;min-height:52px;padding:10px 14px;font-size:15px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap}
.gem-pay-button:hover{transform:translateY(-1px)}
.gem-stripe-button{background:#4f46e5;color:#fff;border:1px solid #4f46e5;box-shadow:0 4px 10px rgba(79,70,229,.20);flex-wrap:wrap}
.gem-stripe-button:hover{background:#4338ca;border-color:#4338ca;box-shadow:0 6px 14px rgba(79,70,229,.24)}
.gem-stripe-button small{display:block;width:100%;font-size:10px;font-weight:500;opacity:.82;margin-top:-4px;line-height:1.1}
.gem-paypal-button{background:#fff;color:#374151;border:1px solid #d1d5db;box-shadow:none}
.gem-paypal-button:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 3px 8px rgba(0,0,0,.07)}
.gem-paypal-mark{font-style:italic;font-weight:900;color:#1f4b8f;font-size:20px;line-height:1}
.gem-card-mark{font-size:18px;line-height:1}
.gem-confirmation{border:1px solid #d9eadc;background:#f4fbf5;border-radius:12px;padding:20px;margin:20px 0}
@media(max-width:780px){.gem-ticket-head{display:none}.gem-ticket-grid{grid-template-columns:1fr 1fr}.gem-ticket-grid>span{min-height:54px}.gem-ticket-row>span:before{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:#6b7280;width:100%;margin-bottom:4px}.gem-ticket-row>span{display:block}.gem-ticket-row>span:nth-child(1):before{content:"Quantity"}.gem-ticket-row>span:nth-child(2):before{content:"Ticket"}.gem-ticket-row>span:nth-child(3):before{content:"Price"}.gem-ticket-row>span:nth-child(4):before{content:"Description"}.gem-customer{grid-template-columns:1fr}.gem-pay-button{width:50%;min-width:0;padding-left:8px;padding-right:8px;font-size:13px}.gem-payment-buttons{gap:8px}.gem-stripe-button small{font-size:9px}}
@media(max-width:480px){.gem-checkout{padding:18px}.gem-checkout h3{font-size:26px}.gem-ticket-grid{grid-template-columns:1fr}.gem-ticket-row select{max-width:none}.gem-ticket-note{font-size:15px}}


/* Ticket sales status notice */
.gem-sales-closed{max-width:760px;margin:24px auto;padding:24px;border:1px solid #dcdcde;border-radius:12px;background:#fff;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.gem-sales-closed h3{margin:0 0 8px;font-size:24px}
.gem-sales-closed p{margin:0;font-size:16px;line-height:1.6}
.gem-sales-closed-sold_out{border-width:2px}
