/* Match the original Tilda cart geometry, using the landing's Inter font. */
.payment-dialog{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:65px 20px;border:0;background:transparent;color:#192a44;overflow-y:auto;overscroll-behavior:contain;font-family:Inter,Arial,sans-serif}
.payment-dialog::backdrop{background:rgba(0,0,0,.8)}
.reg-content{width:560px;max-width:100%;margin:0 auto;padding:40px;background:#fff;box-sizing:border-box}
.reg-content h2{font:600 24px/1.35 Inter,Arial,sans-serif;color:#111;margin:0 0 30px}
.reg-close{position:fixed;top:14px;right:24px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#fff;font:300 40px/1 Inter,Arial,sans-serif;z-index:2}
.reg-order{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:102px;padding:20px 0;border-block:1px solid #ccc;margin-bottom:50px;font-size:14px;color:#111}
.reg-order b{font-weight:500}.reg-order span{white-space:nowrap;font-size:13px;color:#666}
.reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.reg-field{display:block;min-width:0;margin-bottom:30px}
.reg-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reg-field input,.reg-field textarea{display:block;box-sizing:border-box;width:100%;min-width:0;height:60px;margin:0;padding:0;border:0;border-bottom:1px solid #192a44;border-radius:0;background:#fff;box-shadow:none;color:#192a44;font:400 14px/1.55 Inter,Arial,sans-serif}
.reg-field input::placeholder,.reg-field textarea::placeholder{color:#192a44;opacity:.5}
.reg-field textarea{height:100px;padding-top:20px;resize:vertical}
.reg-content fieldset{min-width:0;border:0;padding:0;margin:0 0 30px}
.reg-content legend{padding:0;margin:0 0 10px;font:400 20px/1.55 Inter,Arial,sans-serif}
.reg-content fieldset label{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:15px;line-height:1.55}
.reg-content input[type=checkbox]{appearance:none;display:inline-grid;place-content:center;width:20px;height:20px;flex:0 0 20px;border:2px solid #192a4480;border-radius:0;margin:0;background:#fff;cursor:pointer}
.reg-content input[type=checkbox]:checked{border-color:#192a44}.reg-content input[type=checkbox]:checked::after{content:'';width:10px;height:6px;border-left:2px solid #192a44;border-bottom:2px solid #192a44;transform:translateY(-1px) rotate(-45deg)}
.reg-content .reg-small{font:400 13px/1.55 Inter,Arial,sans-serif;opacity:.7}
.reg-agreement{display:flex;align-items:flex-start;gap:10px;font:400 13px/1.55 Inter,Arial,sans-serif}
.reg-content a{color:#111;text-decoration:underline;text-underline-offset:3px}
.reg-submit{display:block;width:100%;min-height:60px;margin-top:30px;padding:18px 15px;border:0;border-radius:0;background:#192a44;color:#fff;font:600 16px/1.4 Inter,Arial,sans-serif}
.reg-submit:disabled{opacity:.5;cursor:default}
.reg-demo{margin-top:25px;padding:0;background:transparent;color:#777;font:400 12px/1.55 Inter,Arial,sans-serif}.reg-status:empty{display:none}.reg-status{margin-top:20px;font-size:14px}
@media(max-width:600px){.payment-dialog{padding:50px 10px 20px}.reg-content{padding:30px 20px}.reg-close{top:6px;right:10px}.reg-order{margin-bottom:30px;gap:10px}.reg-order b{max-width:55%}.reg-grid{gap:0 12px}.reg-field{margin-bottom:25px}.reg-content h2{font-size:22px}.reg-content legend{font-size:18px}}
@media(max-width:360px){.reg-grid{grid-template-columns:1fr}.reg-order{font-size:12px}.reg-order span{font-size:12px}}
/* Keep the close control attached to the form on every screen size. */
.payment-dialog{--form-top:65px}
.reg-close{position:absolute;top:calc(var(--form-top) + 10px);right:calc(50% - min(280px, (100% - 40px)/2) + 10px);color:#192a44;background:#fff;font-size:32px}
.reg-content{padding-top:48px}
@media(max-width:600px){.payment-dialog{--form-top:50px}.reg-close{right:20px}.reg-content{padding-top:48px}}
.reg-content{position:relative}
.reg-close{top:10px;right:10px}
/* Leave room around entered text and keep focus consistent with underline fields. */
.reg-field input,.reg-field textarea{padding-left:14px;padding-right:14px}
.reg-field input,.reg-field textarea{transition:border-color .18s ease,box-shadow .18s ease}
.reg-field input:focus,.reg-field textarea:focus{outline:none;box-shadow:0 0 0 3px #8805110d,0 0 14px #88051124}
/* Use the landing's burgundy as the registration accent. */
.payment-dialog{--reg-accent:var(--wine,#880511);color:var(--ink,#151515)}
.reg-close{color:var(--reg-accent)}
.reg-submit{background:var(--reg-accent)}
.reg-submit:hover:not(:disabled){background:var(--wine-dark,#65040d)}
.reg-field input,.reg-field textarea{color:var(--ink,#151515);border-bottom-color:var(--reg-accent)}
.reg-field input:placeholder-shown:not(:focus),.reg-field textarea:placeholder-shown:not(:focus){border-bottom-color:color-mix(in srgb,var(--reg-accent) 25%,transparent)}
.reg-field input::placeholder,.reg-field textarea::placeholder{color:var(--ink,#151515)}
.reg-field input:focus,.reg-field textarea:focus{border-bottom-color:var(--reg-accent)}
.reg-content input[type=checkbox]{border-color:var(--reg-accent);accent-color:var(--reg-accent)}
.reg-content input[type=checkbox]:checked{border-color:var(--reg-accent)}
.reg-content input[type=checkbox]:checked::after{border-color:var(--reg-accent)}
.reg-content a{color:var(--reg-accent)}
.reg-content .reg-close:focus-visible{outline:2px solid var(--reg-accent);outline-offset:4px}
.reg-content input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #8805110d,0 0 14px #88051124}
.reg-content input[type=checkbox]{border-color:color-mix(in srgb,var(--reg-accent) 30%,transparent)}
.reg-content input[type=checkbox]:checked{border-color:var(--reg-accent)}
@media(forced-colors:active){.reg-field input:focus,.reg-field textarea:focus,.reg-content input[type=checkbox]:focus-visible{outline:2px solid Highlight;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.reg-field input,.reg-field textarea{transition:none}}

/* Ticket row: decorative SVG and accessible quantity controls. */
.reg-ticket{display:flex;align-items:center;gap:14px;padding:18px 0;margin-bottom:20px;border-block:1px solid #e9e4e2}
.reg-ticket>img{flex:0 0 64px;width:64px;height:76px;object-fit:contain;border-radius:10px}
.reg-ticket>b{font-size:14px;font-weight:500;flex:1}
.reg-ticket__quantity{display:flex;align-items:center;gap:6px}
.reg-ticket__quantity button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #ded4d3;border-radius:50%;background:white;color:var(--wine,#880511);font-size:20px;line-height:1}
.reg-ticket__quantity button:disabled{opacity:.35;cursor:default}
.reg-ticket__quantity input{width:34px!important;min-width:0;padding:6px 0!important;text-align:center;border:0!important;background:transparent;appearance:textfield;font:inherit}
.reg-ticket__quantity input::-webkit-inner-spin-button{appearance:none}
.reg-ticket__total{min-width:90px;text-align:right;font-size:14px;white-space:nowrap}
@media(max-width:520px){.reg-ticket{gap:10px;flex-wrap:wrap}.reg-ticket>b{flex-basis:calc(100% - 80px)}.reg-ticket__quantity{margin-left:74px}.reg-ticket__total{margin-left:auto}}

.reg-ticket__quantity button{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.reg-ticket__quantity button::selection{background:transparent}
.reg-ticket__quantity button:focus:not(:focus-visible){outline:none;box-shadow:none}
.reg-ticket__quantity button:focus-visible{outline:2px solid #88051166;outline-offset:3px}

/* Match browser-autofilled fields to the white registration form. */
.payment-dialog input:-webkit-autofill,
.payment-dialog input:-webkit-autofill:hover,
.payment-dialog input:-webkit-autofill:focus{
 -webkit-text-fill-color:#151515;
 caret-color:#151515;
 -webkit-box-shadow:0 0 0 1000px #fff inset;
 box-shadow:0 0 0 1000px #fff inset;
}
.payment-dialog input:-webkit-autofill:focus{
 -webkit-box-shadow:0 0 0 1000px #fff inset,0 0 0 3px #8805110d,0 0 14px #88051124;
 box-shadow:0 0 0 1000px #fff inset,0 0 0 3px #8805110d,0 0 14px #88051124;
}
.payment-dialog input:autofill{background-color:#fff;color:#151515;caret-color:#151515}

/* Promo action sits inside the field row; status and prices never depend on color alone. */
.reg-promo{position:relative;display:flex;align-items:stretch;gap:12px}
.reg-promo .reg-field{flex:1;min-width:0;margin-bottom:0}
.reg-promo__apply{flex:0 0 46px;width:46px;height:46px;align-self:center;display:grid;place-items:center;padding:0;background:#880511;color:#fff;border:0;border-radius:12px;cursor:pointer}
.reg-promo__apply:hover{background:#65040d}
.reg-promo__apply:disabled{opacity:.5;cursor:wait}
.reg-promo__apply svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reg-promo__apply:focus-visible{outline:2px solid #88051166;outline-offset:3px}
.reg-promo__status{font-size:13px;line-height:1.45;color:#6a343d;margin:8px 0 20px;white-space:normal}
.reg-promo__status:empty{margin-bottom:16px}

.reg-promo__apply,.reg-promo__apply svg{user-select:none;-webkit-user-select:none;touch-action:manipulation}
.reg-promo__apply svg{pointer-events:none}
.reg-promo__status.is-error{color:#a51625;font-weight:400}
.reg-promo input[aria-invalid="true"]{border-bottom-color:#a51625}
