.checkout-modal{overflow-y:auto;padding:28px 16px;background:#242127b0;align-items:center}
.payment-done{text-align:center}
.payment-reminder{margin:16px 0 0;padding:20px 16px;border:2px dashed #d99797;border-radius:16px;background:#fcf3f3;color:#a92d2d;font-size:14px;font-weight:800;line-height:1.65;text-align:center;overflow-wrap:anywhere}
.checkout-next:disabled{background:#c9c9ce;color:#f7f7f7;cursor:not-allowed;filter:none;opacity:.8}
.checkout-error{font-size:12px;line-height:1.45;color:#b71f49;margin:5px 4px 8px;text-align:left}.checkout-error[hidden],.checkout-validation-summary[hidden]{display:none}
.checkout-validation-summary{font-size:13px;line-height:1.5;padding:10px 12px;margin:0 0 15px;border-radius:8px;background:#fff0f4;color:#b71f49}
.checkout-input.is-invalid{border-color:#d52859;box-shadow:0 0 0 1px #d5285955}.checkout-consent.is-invalid{color:#b71f49}.checkout-consent.is-invalid input{outline:1px solid #d52859;outline-offset:2px}
.checkout-viewport{overflow:hidden}.checkout-track{display:flex;width:200%;align-items:flex-start;transform:translateX(0);transition:transform .42s ease,height .42s ease}.checkout-step{flex:0 0 50%;width:50%;min-width:0}.checkout-modal[data-step="payment"] .checkout-track{transform:translateX(-50%)}
.checkout-modal[data-step="payment"] .modal-card{background:#f1f6fc}.checkout-payment{padding:0 6px;outline:none}.checkout-payment>*{max-width:380px;margin-left:auto;margin-right:auto}.checkout-payment .checkout-back{display:block;background:none;border:0;color:#666;margin-bottom:16px;margin-left:calc((100% - min(380px,100%)) / 2);padding:0;font-size:14px}.payment-card{padding:26px 28px;margin-bottom:24px;border-radius:18px;background:#fff;box-shadow:0 5px 25px #7d91ad12}.payment-card:last-child{margin-bottom:0}.payment-card h3{font-size:20px;line-height:1.3;margin:0 0 22px;font-weight:700;outline:none}.payment-summary,.payment-details{display:grid;grid-template-columns:104px minmax(0,1fr);gap:5px 8px;font-size:14px;line-height:1.4;margin:0}.payment-summary dd,.payment-details dd{margin:0;font-weight:500;overflow-wrap:anywhere}.payment-summary dt,.payment-details dt{margin:0}.payment-tabs{display:flex;justify-content:center;gap:14px;margin:0 0 22px}.payment-tab{border:0;border-radius:99px;background:#e6e6e6;color:#444;padding:8px 19px;font-size:14px;font-weight:600}.payment-tab.active{background:var(--gradient);color:#fff}.payment-qr{width:min(230px,100%);min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #e2dce4;border-radius:14px;padding:12px;margin:0 auto 24px;background:#fff}.payment-qr img{width:100%;height:auto}.payment-qr-help{font-size:14px;text-align:center;line-height:1.5;color:#727b86;margin:0}.payment-details{grid-template-columns:105px minmax(0,1fr);font-size:13px;gap:4px 8px}.payment-done{display:block;width:100%;border:0;border-radius:99px;background:var(--gradient);color:#fff;font-size:14px;font-weight:600;padding:10px 8px;margin:24px auto 0}.payment-done:disabled{background:#ddd;color:#888;cursor:not-allowed}.payment-status{background:#f1f6fc;padding:12px;border-radius:10px;font-size:13px;line-height:1.5}.payment-status[hidden],.payment-qr img[hidden],.payment-qr-help[hidden]{display:none}.payment-notes ul{list-style:none;padding:0;margin:0}.payment-notes li{position:relative;padding-left:23px;font-size:13px;line-height:1.6;margin:0 0 16px;color:#444}.payment-notes li:before{content:'✓';position:absolute;left:0;top:0;color:#71956b;font-size:19px}.payment-zalo{display:block;background:linear-gradient(100deg,#1265c1,#1d9dd0);color:#fff;text-align:center;font-size:14px;font-weight:600;border-radius:99px;padding:10px;margin-top:22px}.payment-zalo[aria-disabled="true"]{opacity:.55;cursor:not-allowed}.payment-support-phone{display:block;text-align:center;color:#536e87;font-size:12px;margin-top:12px}
@media(prefers-reduced-motion:reduce){.checkout-track{transition:none}}
@media(max-width:600px){.checkout-payment{padding:0 1px}.payment-card{padding:24px 20px}.payment-card h3{font-size:19px}.payment-summary{grid-template-columns:96px minmax(0,1fr);font-size:13px}.payment-details{grid-template-columns:96px minmax(0,1fr);font-size:12px}}
.checkout-modal .modal-card{width:min(684px,100%);max-height:calc(100dvh - 56px);overflow-y:auto;border-radius:46px;padding:40px 48px 42px;background:linear-gradient(145deg,#ffeafa99,#ffffffbc 55%,#e9f5ffcc),url('assets/01.jpg') center/cover;box-shadow:0 20px 70px #15112233}
.checkout-modal .modal-close{right:18px;top:10px;color:#888;line-height:1;padding:3px}
.checkout-header{display:grid;grid-template-columns:125px 1fr 38px;gap:22px;align-items:center;margin:0 0 34px}
.checkout-header>img{width:115px}.checkout-header h2{font-size:22px;font-weight:600;line-height:1.3;text-align:center;margin:0;color:#333}.checkout-user{background:#ececec;border-radius:50%;display:grid;place-items:center;width:38px;height:38px;color:#999}.checkout-user svg{width:28px;height:28px}
.order-box{min-width:0;border:1.5px solid #ee7393;border-radius:12px;margin:0;padding:28px 25px 40px;position:relative;box-shadow:0 0 2px #f783a288}
.order-box legend{padding:0 18px;font-size:18px;font-weight:700;margin-left:2px}.order-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.order-info p{font-size:16px;line-height:1.6;margin:0}.order-price{font-weight:700;color:#ff4b73}.customer-fields{display:grid;gap:10px}.checkout-input{display:flex;align-items:center;gap:12px;border:1px solid #e1e1e1;border-radius:99px;background:#ffffffcf;padding:10px 13px;box-shadow:0 2px 2px #7773}.checkout-input svg{width:20px;height:20px;flex:none;fill:none;stroke:#999;stroke-width:1.5}.checkout-input input{width:100%;min-width:0;border:0;border-left:1px solid #ddd;outline:none;background:transparent;padding:1px 0 1px 12px;font-size:12px;color:#333;line-height:1.4}.checkout-input:focus-within{border-color:#ff5b86;box-shadow:0 0 0 2px #ff4d781a}.checkout-input input::placeholder{color:#999}
.checkout-consent{display:flex;align-items:flex-start;gap:5px;font-size:11px;line-height:1.4;color:#555;margin-top:14px}.checkout-consent input{margin:1px 0 0;accent-color:#ff4d78;flex:none;width:14px;height:14px}.checkout-consent a,.checkout-help a{color:inherit;text-decoration:underline;text-underline-offset:2px}.checkout-next{position:absolute;bottom:-19px;left:50%;transform:translateX(-50%);border:2px solid #ffe7ef;border-radius:99px;min-width:178px;height:43px;background:var(--gradient);color:#fff;font-size:20px;font-weight:600;padding:0 24px;white-space:nowrap}.checkout-next:hover{filter:brightness(1.03)}
.checkout-promises{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border-radius:99px;margin-top:35px;padding:20px 22px;box-shadow:0 10px 25px #7e789615}.checkout-promises span{display:flex;align-items:center;gap:6px;color:#ec6179;font-size:12px;font-weight:700;white-space:nowrap}.checkout-promises img{width:19px;height:22px;object-fit:contain}.checkout-help{text-align:center;font-size:15px;line-height:1.6;margin-top:22px}.checkout-help p{margin:0}.checkout-help a{font-weight:600}.checkout-ready{margin:20px 0 0;text-align:center;font-size:14px;line-height:1.5;color:#444;background:#ffffffbd;padding:14px;border-radius:12px}.checkout-ready[hidden]{display:none}.checkout-ready a{display:block;margin-top:8px;color:#e63d6d;font-weight:600;text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.checkout-modal{padding:12px}.checkout-modal .modal-card{max-height:calc(100dvh - 24px);border-radius:28px;padding:32px 20px 26px}.checkout-header{grid-template-columns:84px 1fr 28px;gap:9px;margin-bottom:24px}.checkout-header>img{width:84px}.checkout-header h2{font-size:16px}.checkout-user{width:28px;height:28px}.checkout-user svg{width:21px;height:21px}.order-box{padding:18px 16px 34px}.order-box legend{font-size:16px;padding:0 8px}.order-grid{grid-template-columns:1fr;gap:18px}.order-info p{font-size:15px}.checkout-input input{font-size:14px}.checkout-consent{font-size:12px}.checkout-promises{flex-wrap:wrap;justify-content:center;border-radius:20px;gap:12px;padding:16px 8px}.checkout-promises span{font-size:10px}.checkout-help{font-size:12px}.checkout-next{height:40px;font-size:18px}}
/* Registration notification is independent from payment confirmation. */
.order-email-status{width:min(380px,100%);padding:12px 16px;margin:8px auto 16px;background:#fff;border-radius:12px;font-size:14px;line-height:1.5;color:#394355;overflow-wrap:anywhere}
.order-email-status[hidden]{display:none}
