.checkout-dialog{position:fixed;inset:0;margin:auto;width:min(540px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:20px;overflow:auto;background:#edf0ee;color:#172028;box-shadow:0 30px 100px #0006;font-family:Arial,Helvetica,sans-serif;overscroll-behavior:contain}
.checkout-dialog::backdrop{background:#071018bf;backdrop-filter:blur(9px)}
.checkout-form{padding:27px 30px 25px;background:radial-gradient(ellipse at 85% 0,#e1f0f3,transparent 55%),linear-gradient(135deg,#f7f8f6,#e0e7e9 65%,#f5f4f1)}
.checkout-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:31px}
.checkout-header>span,.checkout-eyebrow{font:10px monospace;letter-spacing:.09em;color:#5f6b72}
.checkout-close{border:0;background:#d9e0e2;padding:10px 13px;border-radius:7px;color:#283740;font:12px Arial,sans-serif;cursor:pointer;min-height:42px;white-space:nowrap}
.checkout-close span{font-size:18px;vertical-align:-1px;margin-left:7px}
.checkout-eyebrow{margin:0 0 9px}.checkout-dialog h2{margin:0;font-size:clamp(29px,5vw,42px);font-weight:900;line-height:1.05;letter-spacing:-.045em}
.checkout-event{font-size:12px;line-height:1.6;color:#53626c;margin:13px 0 24px}
.checkout-product{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:21px;background:#ffffff8c;border-radius:12px}
.checkout-product h3{margin:0;font-size:27px;font-weight:900;line-height:1.1;letter-spacing:-.035em}.checkout-product p{margin:8px 0 0;font-size:12px;color:#465965;line-height:1.4}
.checkout-price-label{padding:6px 8px;background:#dce7e6;border-radius:5px;font-size:10px;line-height:1.35;font-weight:700;text-align:center;max-width:105px}
.checkout-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:25px 0}
.checkout-quantity-row label{font-size:14px;font-weight:700}.checkout-quantity-row p{font-size:11px;line-height:1.5;color:#5b6971;margin:6px 0 0}
.checkout-stepper{display:flex;align-items:center;gap:3px;background:#d7e0e3;border-radius:8px;padding:4px;flex:none}
.checkout-stepper button{border:0;background:transparent;color:#1e323e;cursor:pointer;font-size:22px;width:34px;height:40px;padding:0;border-radius:5px}
.checkout-stepper input{width:50px;min-width:0;height:40px;border:0;border-radius:5px;background:#f7faf9;color:#1b2d36;text-align:center;font:bold 16px Arial,sans-serif;padding:2px;-moz-appearance:textfield;appearance:textfield}
.checkout-stepper input::-webkit-inner-spin-button,.checkout-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.checkout-stepper button:disabled{opacity:.35;cursor:default}.checkout-stepper button:not(:disabled):hover{background:#c3d1d7}
.checkout-total{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 20px;background:#cbd7dc70;border-radius:11px}
.checkout-total>span{font-size:12px;line-height:1.45;max-width:170px}.checkout-total output{font-size:30px;font-weight:900;letter-spacing:-.04em;overflow-wrap:anywhere;text-align:right}
.checkout-total-note,.checkout-product-note{font-size:11px;line-height:1.6;color:#53626b;margin:12px 1px 0}.checkout-product-note{color:#3b535f}
.checkout-status{min-height:36px;font-size:12px;line-height:1.6;color:#324c58;margin:22px 1px 13px}
.checkout-continue{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:54px;padding:16px 21px;border:0;border-radius:9px;color:#0e202b;background:linear-gradient(120deg,#fff,#bbcbd5 22%,#faffff 39%,#c4d5df 63%,#eef5f8 78%,#a8bbc8);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 1px #657d8a4d;cursor:pointer;font:bold 13px Arial,sans-serif;transition:filter .2s,transform .2s}
.checkout-continue:not(:disabled):hover{filter:brightness(1.07);transform:translateY(-1px)}.checkout-continue:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(1)}.checkout-continue span{font-size:19px}
.checkout-help{font-size:11px;text-align:center;margin:15px 0 23px;color:#58666e}.checkout-help a,.checkout-policy-links a{color:#243f4f;text-underline-offset:3px}
.checkout-policy-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 18px;font-size:10px}
.checkout-dialog :focus-visible{outline:3px solid #477d96;outline-offset:3px}
@media(max-width:480px){.checkout-form{padding:21px 20px}.checkout-header{margin-bottom:26px}.checkout-header>span{font-size:8px}.checkout-product{padding:18px;gap:12px}.checkout-product h3{font-size:25px}.checkout-quantity-row{gap:10px}.checkout-stepper input{width:42px}.checkout-stepper button{width:30px}.checkout-total{padding:17px}.checkout-total output{font-size:28px}}
@media(prefers-reduced-motion:reduce){.checkout-continue{transition:none}}

#checkout-form[hidden],#ticket-options-panel[hidden]{display:none!important}
.checkout-dialog.ticket-options-mode{width:min(460px,calc(100vw - 28px));background:linear-gradient(145deg,#313131,#121212 55%,#242424);color:#f0f4f7;border:1px solid #aaa6;box-shadow:inset 0 1px 0 #fff3,0 30px 100px #000b}
.ticket-options-panel{padding:22px}.ticket-options-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.ticket-options-toolbar .eyebrow{font-size:10px;color:#c3cbd1;letter-spacing:.1em}.ticket-options-toolbar .checkout-close{background:#373737;color:#edf1f4}
.ticket-options-panel #ticket-options-title{font-size:29px;line-height:1.1}.ticket-options-panel #ticket-options-description{font-size:13px;color:#c3cbd1;margin:10px 0 18px}.ticket-options-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticket-option{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid #91919155;border-radius:10px;background:linear-gradient(135deg,#353535,#1c1c1c);color:#edf1f4;text-align:left;min-height:72px;cursor:pointer}.ticket-option:hover,.ticket-option:focus-visible{border-color:#d6dce1;background:linear-gradient(135deg,#454545,#282828)}.ticket-option:disabled{opacity:.5;cursor:default}.ticket-option-name{font-size:17px;font-weight:800;line-height:1.2}.ticket-option small{display:block;font-size:10px;font-weight:400;color:#bfc9d0;margin-top:5px;line-height:1.35;letter-spacing:0}.ticket-option-price{font-size:26px;font-weight:900;line-height:1.1;text-align:right;white-space:nowrap}.ticket-option-price>small:first-child{margin:0 0 3px}.ticket-options-panel .ticket-options-footnote{font-size:10px;line-height:1.5;color:#b9c4cd;margin:15px 0 0}
.checkout-back{display:block;min-height:36px;border:0;padding:0;background:transparent;color:#344954;font-size:12px;margin:0 0 16px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:420px){.ticket-options-panel{padding:18px}.ticket-option{padding:13px;gap:10px}.ticket-option-name{font-size:15px}.ticket-option-price{font-size:24px}}
