/* Christmas Party tickets page + voucher */
.xm-hero{background:radial-gradient(120% 90% at 30% 0,#C8102E 0,#7A0A1C 55%,#140306 100%);color:#fff;padding:48px 0 56px}
.xm-in{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:44px;align-items:center}
.xm-flyer{width:100%;height:auto;border-radius:20px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.xm-copy .eyebrow{color:#F3D27A}.xm-copy h1{color:#fff;font-size:clamp(32px,4.6vw,54px);line-height:1.05;margin:10px 0 14px}
.xm-lead{font-size:19px;color:#FBE9D0;margin:0 0 18px}.xm-facts{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.xm-facts li{background:rgba(255,255,255,.08);border:1px solid rgba(243,210,122,.35);border-radius:14px;padding:12px 14px;color:#FBE9D0}.xm-facts b{color:#fff}
.xm-prices{font-size:20px;color:#fff;margin:0 0 8px}.xm-prices b{color:#F3D27A}.xm-note{color:#F6E7C8;font-size:15px;margin:0 0 20px}
.xm-sec{background:#F7F3EE}.xm-wrap{max-width:680px}
.xm-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 6px 20px rgba(11,31,58,.06);margin-bottom:18px}
.xm-card h2,.xm-card h3{color:var(--navy);margin:0 0 6px}.xm-sub{color:var(--muted,#4A5568);font-size:14.5px;margin:6px 0 12px}
.xm-kind{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.xm-kind button{border:2px solid var(--line);background:#fff;border-radius:16px;padding:14px;cursor:pointer;font:inherit;text-align:left}
.xm-kind b{display:block;font-size:18px;color:var(--navy)}.xm-kind span{color:#A3124A;font-weight:800;font-size:18px}.xm-kind button.on{border-color:#A3124A;background:#FDF3F7}
.xm-cnt{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.xm-cnt small{color:var(--muted,#4A5568);font-weight:400}
.xm-q{display:inline-flex;align-items:center;gap:12px}.xm-q button{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font:700 20px/1 var(--body,inherit);cursor:pointer}.xm-q b{min-width:18px;text-align:center;font-size:18px}
.xm-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.xm-tot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.xm-tot b{font-size:26px;color:var(--navy)}
.xm-pay{border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:12px}.xm-pay h4{margin:0 0 10px;color:var(--navy);font-size:16px}
.xm-pay .btn{display:block;width:100%;text-align:center;margin-top:8px}
.xm-qr{display:flex;gap:14px;align-items:center;font-size:14px;line-height:1.5}.xm-qr img{width:130px;height:130px;flex:none;border:1px solid var(--line);border-radius:10px}
.xm-pill{display:inline-block;background:#FFF4D6;color:#7A5A00;font-weight:700;font-size:13px;padding:4px 11px;border-radius:999px}.xm-pill.ok{background:#E6F4EA;color:#1F7A4A}
@media(max-width:860px){.xm-in{grid-template-columns:1fr}.xm-flyer{max-width:340px;margin:0 auto;display:block}}
@media(max-width:560px){.xm-two{grid-template-columns:1fr}.xm-card{padding:18px}.xm-tot{flex-direction:column;align-items:stretch}.xm-qr{flex-direction:column;align-items:flex-start}}
