/* Buyer surfaces share the approved Brewski palette. */
.engine-page{background:#fff8ee;color:#201e19;min-height:100vh}.engine-header{background:#5b1f33;color:#fff8ee;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px max(6vw,16px)}.engine-header a{display:inline-flex;align-items:center;min-height:44px}.engine-header img{width:165px;height:auto}.engine-page .wrap{max-width:1000px;padding:0 max(6vw,16px)}.engine-page .plain-hero{padding:48px 0 64px}.engine-page .plain-hero h1{font-size:clamp(48px,10vw,96px);color:#5b1f33;max-width:12ch}.engine-page p{color:#514b42;overflow-wrap:anywhere}.engine-page .eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#5b1f33}.engine-page .button{background:#4c5229;color:#fff8ee;min-height:48px}.engine-page .button:hover{background:#383e1e}.engine-page .hero-actions{margin-top:28px}.engine-page a{overflow-wrap:anywhere}.engine-page a:focus-visible,.engine-page button:focus-visible,.engine-page input:focus-visible{outline:3px solid #5b1f33;outline-offset:4px}.engine-header a:focus-visible{outline-color:#fff8ee}.engine-page dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px 20px;border-block:1px solid #c8b9a5;padding:24px 0}.engine-page dt{font-weight:700}.engine-page dd{margin:0;overflow-wrap:anywhere;line-height:1.5}.engine-page .ticket-warning:not(:empty){padding:16px;background:#5b1f33;color:#fff8ee;font-weight:700}.engine-page .ticket-warning:empty{display:none}.engine-page .ticket-qr{margin:24px 0;padding:24px;background:white;border:1px solid #c8b9a5;max-width:360px}.engine-page .ticket-qr svg{display:block;width:220px;max-width:100%;height:auto;margin:auto}.engine-page figcaption{line-height:1.5;margin-top:18px;font-size:15px}.engine-page form{display:grid;gap:14px;max-width:520px;padding:24px;background:#fff;border:1px solid #c8b9a5;border-radius:8px}.engine-page label{font-weight:700}.engine-page input{width:100%;min-width:0;min-height:48px;border:1px solid #71675b;padding:12px;border-radius:3px}.engine-page #state-line{font-size:24px;font-weight:700;color:#5b1f33}.engine-page #ticket-list{padding:0;list-style:none}.engine-page #ticket-list a{display:flex;align-items:center;min-height:48px;padding:16px;background:#4c5229;color:#fff8ee;border-radius:4px;margin-block:12px}.engine-page h2{font-size:clamp(28px,6vw,44px);overflow-wrap:anywhere}.engine-footer{border-top:1px solid #c8b9a5;padding-top:24px;margin-top:40px;font-size:14px}.engine-page [hidden]{display:none!important}@media(max-width:400px){.engine-header{flex-wrap:wrap;gap:4px}.engine-page dl{grid-template-columns:1fr;gap:6px}.engine-page dd{margin-bottom:12px}.engine-page form{padding:18px}}@media print{.engine-header,.engine-page .hero-actions,.engine-footer,.skip{display:none}.engine-page .plain-hero{padding:0}.engine-page .plain-hero h1{font-size:36px}.engine-page .ticket-qr{break-inside:avoid}}

.engine-page .text-link{display:inline-flex;align-items:center;min-height:44px;padding-block:12px}

.engine-page .ticket-scan-block{max-width:460px}.engine-page .ticket-scan-details{margin:0 0 18px}.engine-page .ticket-scan-details h2{font-size:clamp(26px,5vw,36px);line-height:1.1;margin-bottom:16px}.engine-page .ticket-valid-days{font-size:22px;font-weight:700;line-height:1.35;color:#5b1f33}.engine-page .ticket-valid-days strong{font-size:14px;text-transform:uppercase;letter-spacing:.08em}.engine-page .ticket-scan-help{font-size:15px;margin:18px 0 0}

.checkout-return-page .plain-hero h1{font-size:clamp(30px,7.8vw,80px)}
@media(max-width:600px){.engine-header{flex-wrap:wrap}.engine-header>nav{display:flex;gap:16px;flex-wrap:wrap}}

/* Payment return: one status, with the existing polling loop controlling progress. */
.checkout-return-page .plain-hero{max-width:720px}
.return-status{display:flex;align-items:flex-start;gap:14px;margin:28px 0 12px}
.return-status #state-line{margin:0;line-height:1.4}
.return-progress{flex:none;width:22px;height:22px;margin-top:6px;border:2px solid #c8b9a5;border-top-color:#5b1f33;border-radius:50%;animation:return-turn 1.2s linear infinite}
.checkout-return-page #detail-line{max-width:58ch;line-height:1.65}
.checkout-return-page #payment-method-line,.checkout-return-page #order-line{font-size:14px;border-top:1px solid #c8b9a5;padding-top:16px}
.checkout-return-page .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.checkout-return-page .hero-actions .button{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:14px 20px;line-height:1.4}
@keyframes return-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.return-progress{animation:none}}
@media(max-width:400px){.checkout-return-page .hero-actions{align-items:stretch;flex-direction:column}.return-status #state-line{font-size:21px}}
