.dtp-overlay[hidden]{display:none!important}
.dtp-overlay{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.dtp-dialog{width:min(100%,570px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;color:#111;border-radius:20px;padding:26px;font-family:Montserrat,sans-serif;box-shadow:0 24px 70px #0005}
.dtp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.dtp-close{border:1px solid #ddd;border-radius:50%;width:38px;height:38px;background:#fff;color:#111;cursor:pointer;font-size:23px;flex-shrink:0}
.dtp-label{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.dtp-title{font-size:clamp(21px,4vw,28px);line-height:1.25;margin:10px 0}
.dtp-meta{font-size:13px;color:#666;margin:0 0 22px}
.dtp-ticket{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-top:1px solid #e5e5e5}
.dtp-ticket strong{display:block;font-size:15px}
.dtp-ticket small{display:block;margin-top:5px;color:#666}
.dtp-stepper{display:flex;align-items:center;gap:12px}
.dtp-stepper button{width:34px;height:34px;border:1px solid #bbb;background:#fff;color:#111;border-radius:8px;cursor:pointer;font-size:20px}
.dtp-stepper output{min-width:18px;text-align:center;font-weight:800}
.dtp-summary{background:#f4f4f4;padding:18px;border-radius:12px;margin-top:15px}
.dtp-summary-row{display:flex;justify-content:space-between;gap:12px;margin:8px 0}
.dtp-summary-total{font-size:21px;font-weight:800;border-top:1px solid #ddd;padding-top:13px;margin-top:13px}
.dtp-checkout{display:block;width:100%;border:0;border-radius:10px;padding:16px;margin-top:16px;background:#ddd;color:#555;font:700 14px Montserrat,sans-serif;cursor:not-allowed}
.dtp-notice{font-size:12px;color:#666;line-height:1.7;margin:13px 0 0}
.dtp-event-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #111;border-radius:9px;padding:11px 14px;text-decoration:none;color:inherit;background:transparent;font:700 13px Montserrat,sans-serif;cursor:pointer}
@media(max-width:480px){.dtp-dialog{padding:20px}.dtp-ticket{align-items:flex-start}.dtp-stepper{gap:7px}}
