:root{--voucher-font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--voucher-font-heading:"Outfit","Inter",system-ui,sans-serif;--voucher-color-bg-page:#f8f7fa;--voucher-color-bg-surface:#fff;--voucher-color-bg-surface-muted:#f4f5f7;--voucher-color-bg-surface-soft:#f4f5f7;--voucher-color-text-primary:rgba(58,66,77,.9);--voucher-color-text-secondary:rgba(58,66,77,.7);--voucher-color-text-muted:rgba(58,66,77,.5);--voucher-color-border:rgba(58,66,77,.14);--voucher-color-border-subtle:rgba(58,66,77,.08);--voucher-color-accent:#4457d0;--voucher-color-accent-hover:#3e4ec5;--voucher-color-accent-pressed:#3544b9;--voucher-color-accent-soft:rgba(68,87,208,.16);--voucher-color-info:#1e88c7;--voucher-color-info-soft:rgba(76,186,244,.16);--voucher-color-success:#0e7c41;--voucher-color-success-soft:rgba(41,174,99,.16);--voucher-color-warning:#b37800;--voucher-color-warning-soft:rgba(255,171,0,.16);--voucher-color-error:#cc3d41;--voucher-color-error-soft:rgba(255,112,116,.16);--voucher-radius-card:12px;--voucher-radius-field:8px;--voucher-radius-control:6px;--voucher-radius-pill:999px;--voucher-shadow-control:0px 1px 2px 0px rgba(47,43,61,.08);--voucher-shadow-button:0px 4px 14px 0px rgba(68,87,208,.38);--voucher-shadow-button-hover:0px 8px 20px 0px rgba(68,87,208,.42);--voucher-ease-standard:cubic-bezier(0.22,1,0.36,1)}.voucher-page-bg *,.voucher-page-bg :after,.voucher-page-bg :before{box-sizing:border-box}.voucher-page-bg{background:var(--voucher-color-bg-page);color:var(--voucher-color-text-primary);display:flex;flex-direction:column;font-family:var(--voucher-font-body);min-height:100vh;-webkit-font-smoothing:antialiased}.voucher-header{align-items:center;background:var(--voucher-color-bg-surface);border-bottom:1px solid var(--voucher-color-border-subtle);display:flex;flex:0 0 auto;height:60px;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:10}.voucher-logo{flex:0 0 auto;height:22px}.voucher-logo img{display:block;height:100%;width:auto}.voucher-back{align-items:center;background:var(--voucher-color-bg-surface);border:1px solid var(--voucher-color-border);border-radius:var(--voucher-radius-pill);color:var(--voucher-color-text-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;text-decoration:none;width:36px}.voucher-back:hover{background:var(--voucher-color-bg-surface-soft)}.voucher-back svg{display:block}.voucher-timer{align-items:center;background:var(--voucher-color-warning-soft);border-radius:var(--voucher-radius-pill);color:var(--voucher-color-warning);display:inline-flex;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;gap:6px;padding:6px 10px}.voucher-body{flex:1}.voucher-page{margin:0 auto;max-width:600px;padding:48px 20px}.voucher-footer{align-items:center;background:var(--voucher-color-bg-surface);border-top:1px solid var(--voucher-color-border-subtle);color:var(--voucher-color-text-muted);display:flex;flex:0 0 auto;font-size:12px;height:52px;justify-content:space-between;padding:0 20px}.voucher-footer a{color:inherit;text-decoration:none}.page-eyebrow,.voucher-footer a:hover{color:var(--voucher-color-accent-hover)}.page-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.page-title{color:var(--voucher-color-text-primary);font-family:var(--voucher-font-heading);font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0 0 4px}.page-sub{color:var(--voucher-color-text-secondary);font-size:14px;line-height:1.55;margin:0}.form-sections{gap:20px;margin-top:20px}.form-sections,.page-sections{display:flex;flex-direction:column}.page-sections{gap:16px}.form-fields{gap:12px}.form-fields,.form-section{display:flex;flex-direction:column}.form-section{gap:8px}.closed-message{color:var(--voucher-color-text-secondary);font-size:15px;padding-top:40px;text-align:center}.venue-card{background:linear-gradient(180deg,var(--voucher-color-bg-surface) 0,#f9fafe 100%);border:1px solid var(--voucher-color-border);border-radius:var(--voucher-radius-card);gap:12px;padding:12px 14px}.venue-card,.venue-card .cover{align-items:center;display:flex}.venue-card .cover{background:linear-gradient(135deg,var(--voucher-color-accent),var(--voucher-color-accent-pressed));border-radius:10px;color:#fff;flex:0 0 auto;font-family:var(--voucher-font-heading);font-size:16px;font-weight:700;height:40px;justify-content:center;letter-spacing:-.01em;width:40px}.venue-card .meta{flex:1;min-width:0}.venue-card .meta .t{color:var(--voucher-color-text-primary);font-size:14px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.venue-card .meta .s{color:var(--voucher-color-text-secondary);font-size:12px}.denom-list{display:flex;flex-direction:column;gap:10px}.denom-row{align-items:center;background:var(--voucher-color-bg-surface);border:1.5px solid var(--voucher-color-border);border-radius:var(--voucher-radius-card);display:flex;gap:14px;padding:14px 16px;transition:border-color .2s var(--voucher-ease-standard),box-shadow .2s var(--voucher-ease-standard)}.denom-row.has-qty{border-color:var(--voucher-color-accent);box-shadow:0 0 0 3px var(--voucher-color-accent-soft)}.denom-row .amt-stack{display:flex;flex:1;flex-direction:column;gap:2px}.denom-row .amt{color:var(--voucher-color-text-primary);font-family:var(--voucher-font-heading);font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1}.denom-row .amt .ccy{font-weight:500;margin-left:4px}.denom-row .amt .ccy,.denom-row .sub{color:var(--voucher-color-text-muted);font-size:12px}.custom-row .amt-label{color:var(--voucher-color-text-primary);font-size:16px;font-weight:600;line-height:1.3}.custom-row .custom-input-wrap{align-items:center;display:flex;gap:8px}.custom-row input[type=number]{-moz-appearance:textfield;border:1.5px solid var(--voucher-color-border);border-radius:var(--voucher-radius-control);color:var(--voucher-color-text-primary);font:inherit;font-size:15px;outline:none;padding:8px 10px;transition:border-color .15s,box-shadow .15s;width:100px}.custom-row input[type=number]::-webkit-inner-spin-button,.custom-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.custom-row input[type=number]:focus{border-color:var(--voucher-color-accent);box-shadow:0 0 0 3px var(--voucher-color-accent-soft)}.custom-row input[type=number].invalid{border-color:var(--voucher-color-error);box-shadow:0 0 0 3px var(--voucher-color-error-soft)}.custom-row .custom-kr{color:var(--voucher-color-text-muted);font-size:13px;font-weight:500}#custom-items-list{display:flex;flex-direction:column;gap:10px}.custom-add-btn{background:var(--voucher-color-bg-surface);border:1.5px solid var(--voucher-color-border);border-radius:var(--voucher-radius-pill);color:var(--voucher-color-text-secondary);cursor:pointer;flex:0 0 auto;font-size:13px;font-weight:600;height:36px;padding:0 14px;transition:border-color .15s,color .15s;white-space:nowrap}.custom-add-btn:not(:disabled):hover{border-color:var(--voucher-color-accent);color:var(--voucher-color-accent-hover)}.custom-add-btn:disabled{cursor:default;opacity:.4}.stepper{background:var(--voucher-color-bg-surface-soft);gap:4px;padding:4px}.stepper,.stepper button{align-items:center;border-radius:var(--voucher-radius-pill);display:inline-flex}.stepper button{background:transparent;border:none;color:var(--voucher-color-text-primary);cursor:pointer;height:32px;justify-content:center;transition:background .15s var(--voucher-ease-standard);width:32px}.stepper button:hover:not(:disabled){background:#fff;box-shadow:var(--voucher-shadow-control)}.stepper button:disabled{cursor:not-allowed;opacity:.32}.stepper .val{color:var(--voucher-color-text-primary);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600;min-width:22px;text-align:center}.stepper.active{background:var(--voucher-color-accent-soft)}.stepper.active .val{color:var(--voucher-color-accent-pressed)}.btn{align-items:center;border:1px solid transparent;border-radius:var(--voucher-radius-pill);cursor:pointer;display:inline-flex;font-family:var(--voucher-font-body);font-size:15px;font-weight:600;gap:8px;justify-content:center;line-height:1;padding:14px 22px;text-decoration:none;transition:background-color .2s var(--voucher-ease-standard),box-shadow .2s var(--voucher-ease-standard),transform .12s var(--voucher-ease-standard);user-select:none;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5}.btn .btn__spinner{animation:voucher-spin .7s linear infinite;border:2px solid hsla(0,0%,100%,.35);border-radius:var(--voucher-radius-pill);border-top-color:#fff;display:none;flex:0 0 auto;height:16px;width:16px}.btn .btn__label{align-items:center;display:inline-flex;gap:8px}.btn.is-loading .btn__spinner{display:inline-block}.btn.is-loading{cursor:wait;opacity:1}.btn.is-loading .btn__label svg{display:none}@keyframes voucher-spin{to{transform:rotate(1turn)}}.btn--primary{background:var(--voucher-color-accent);box-shadow:var(--voucher-shadow-button);color:#fff}.btn--primary:hover:not(:disabled){background:var(--voucher-color-accent-hover);box-shadow:var(--voucher-shadow-button-hover)}.btn--primary:active:not(:disabled){background:var(--voucher-color-accent-pressed)}.btn--secondary{background:#fff;border-color:rgba(68,87,208,.42);color:var(--voucher-color-accent-hover)}.btn--secondary:hover:not(:disabled){background:var(--voucher-color-accent-soft);border-color:var(--voucher-color-accent)}.btn--ghost{background:transparent;color:var(--voucher-color-text-secondary)}.btn--ghost:hover:not(:disabled){background:rgba(58,66,77,.06);color:var(--voucher-color-text-primary)}.btn--block{width:100%}.btn--lg{font-size:16px;padding:16px 24px}.btn--sm{font-size:13px;padding:8px 14px}.voucher-cta{display:flex;flex-direction:column;gap:24px;padding-top:12px}.voucher-cta__cancel{text-align:center}.voucher-cta__cancel a{color:var(--voucher-color-text-muted);font-size:12px;text-decoration:none}.voucher-cta__cancel a:hover{color:var(--voucher-color-text-secondary)}.order-summary{background:var(--voucher-color-bg-surface);border:1px solid var(--voucher-color-border-subtle);border-radius:var(--voucher-radius-card);overflow:hidden}.order-summary__header{align-items:center;display:flex;justify-content:space-between;padding:14px 16px 10px}.order-summary__title{color:var(--voucher-color-text-primary);font-size:14px;font-weight:600}.order-summary__count{color:var(--voucher-color-text-muted);font-size:12px}.order-summary__items{display:flex;flex-direction:column;gap:6px;padding:0 12px 10px}.order-item{align-items:center;background:var(--voucher-color-bg-surface-muted);border-radius:var(--voucher-radius-field);display:flex;gap:8px;padding:9px 12px}.order-item__label{color:var(--voucher-color-text-primary);flex:1;font-size:14px;font-weight:700}.order-item__qty{color:var(--voucher-color-text-muted);font-size:13px}.order-item__sub{color:var(--voucher-color-text-primary);font-size:14px;font-variant-numeric:tabular-nums;font-weight:600;min-width:56px;text-align:right}.order-summary__footer{align-items:baseline;border-top:1px solid var(--voucher-color-border-subtle);display:flex;justify-content:space-between;padding:10px 16px 14px}.order-summary__total-label{color:var(--voucher-color-text-secondary);font-size:13px}.order-summary__total-amount{color:var(--voucher-color-text-primary);font-family:var(--voucher-font-heading);font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em;line-height:1}.cta-total{align-items:baseline;background:var(--voucher-color-bg-surface);border:1px solid var(--voucher-color-border-subtle);border-radius:var(--voucher-radius-card);display:flex;justify-content:space-between;padding:12px 16px}.cta-total__label{color:var(--voucher-color-text-secondary);font-size:13px}.cta-total__amount{color:var(--voucher-color-text-primary);font-family:var(--voucher-font-heading);font-size:22px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em}.field{display:flex;flex-direction:column;gap:6px}.field label{color:var(--voucher-color-text-primary);font-size:13px;font-weight:500}.field .hint{color:var(--voucher-color-text-muted);font-size:12px}.field .hint--end{text-align:right}.field__optional{color:var(--voucher-color-text-muted);font-weight:400}.input-wrap{align-items:center;background:#fff;border:1.5px solid var(--voucher-color-border);border-radius:var(--voucher-radius-field);display:flex;gap:10px;padding:14px 16px;transition:border-color .15s,box-shadow .15s}.input-wrap:focus-within{border-color:var(--voucher-color-accent);box-shadow:0 0 0 3px var(--voucher-color-accent-soft)}.input-wrap.error{border-color:var(--voucher-color-error);box-shadow:0 0 0 3px var(--voucher-color-error-soft)}.input-wrap input,.input-wrap select{background:transparent;border:none;color:var(--voucher-color-text-primary);flex:1;font:inherit;font-size:15px;min-width:0;outline:none}.input-wrap input::placeholder{color:var(--voucher-color-text-muted)}.input-wrap .lead{color:var(--voucher-color-text-muted);display:inline-flex}.field-err{align-items:center;color:var(--voucher-color-error);display:inline-flex;font-size:12px;gap:4px}.field textarea{border:1.5px solid var(--voucher-color-border);border-radius:var(--voucher-radius-field);color:var(--voucher-color-text-primary);font:inherit;font-size:14px;outline:none;padding:12px 14px;resize:none;transition:border-color .15s,box-shadow .15s;width:100%}.field textarea:focus{border-color:var(--voucher-color-accent);box-shadow:0 0 0 3px var(--voucher-color-accent-soft)}.form-grid-2{display:grid;gap:12px;grid-template-columns:1fr 1fr}.alert{align-items:flex-start;border-radius:var(--voucher-radius-field);display:flex;font-size:13px;gap:10px;line-height:1.5;padding:12px 14px}.alert>svg{flex:0 0 auto;margin-top:1px}.alert--info{background:var(--voucher-color-info-soft);color:var(--voucher-color-info)}.alert--warning{background:var(--voucher-color-warning-soft);color:var(--voucher-color-warning)}.alert--error{background:var(--voucher-color-error-soft);color:var(--voucher-color-error)}.alert--success{background:var(--voucher-color-success-soft);color:var(--voucher-color-success)}.v-divider{background:var(--voucher-color-border-subtle);height:1px}.section-label{color:var(--voucher-color-text-primary);font-size:13px;font-weight:600}.delivery-methods,.payment-methods{display:flex;flex-direction:column;gap:8px}.delivery-card,.payment-card{align-items:center;background:#fff;border:1.5px solid var(--voucher-color-border);border-radius:var(--voucher-radius-card);cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:border-color .15s var(--voucher-ease-standard),background .15s var(--voucher-ease-standard)}.delivery-card:has(input:checked),.payment-card:has(input:checked){background:var(--voucher-color-accent-soft);border-color:var(--voucher-color-accent)}.delivery-card input[type=radio],.payment-card input[type=radio]{accent-color:var(--voucher-color-accent);flex:0 0 auto}.dc-info,.pc-info{flex:1}.dc-label,.pc-label{color:var(--voucher-color-text-primary);font-size:14px;font-weight:600}.dc-sub,.pc-sub{font-size:12px}.dc-sub,.method-fee,.pc-sub{color:var(--voucher-color-text-secondary)}.method-fee{font-size:13px;font-weight:600;white-space:nowrap}.customer-card{align-items:center;background:#fff;border:1.5px solid var(--voucher-color-border);border-radius:var(--voucher-radius-card);display:flex;gap:10px;justify-content:space-between;padding:12px 14px}.customer-card__info{flex:1;min-width:0}.customer-card__name{color:var(--voucher-color-text-primary);font-size:13px;font-weight:600}.customer-card__email{color:var(--voucher-color-text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-card__edit{color:var(--voucher-color-accent-hover);cursor:pointer;flex:0 0 auto;font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap}.customer-card__edit:hover{text-decoration:underline}.receipt{background:var(--voucher-color-bg-surface);border:1px solid var(--voucher-color-border);border-radius:var(--voucher-radius-card);display:flex;flex-direction:column;gap:10px;padding:16px}.receipt h4{color:var(--voucher-color-text-primary);font-family:var(--voucher-font-heading);font-size:15px;font-weight:600;margin:0}.receipt .row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.receipt .row .k{color:var(--voucher-color-text-secondary)}.receipt .row .v{font-weight:500}.receipt .row .v,.receipt .total{color:var(--voucher-color-text-primary)}.receipt .total{border-top:1px solid var(--voucher-color-border);display:flex;font-size:15px;font-weight:700;justify-content:space-between;padding-top:10px}.letter-address{background:var(--voucher-color-bg-surface-muted);border-radius:var(--voucher-radius-field);display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:14px}.consent-row{align-items:flex-start;align-items:center;color:var(--voucher-color-text-secondary);display:flex;font-size:13px;gap:8px}.consent-row input[type=checkbox]{accent-color:var(--voucher-color-accent);flex:0 0 auto;margin-top:2px}.consent-row a{color:var(--voucher-color-accent-hover)}.newsletter-row{align-items:center;color:var(--voucher-color-text-secondary);cursor:pointer;display:flex;font-size:13px;gap:8px}.newsletter-row input[type=checkbox]{accent-color:var(--voucher-color-accent);flex:0 0 auto}.timer-card{align-items:flex-start;background:var(--voucher-color-warning-soft);border:1px solid rgba(214,141,0,.16);border-radius:var(--voucher-radius-card);color:var(--voucher-color-warning);display:flex;gap:12px;padding:16px 18px}.timer-card.is-warning{background:var(--voucher-color-error-soft);border-color:rgba(208,68,68,.16);color:var(--voucher-color-error)}.timer-card__icon{display:inline-flex;flex:0 0 auto;margin-top:1px}.timer-card__body{display:flex;flex-direction:column;gap:4px}.timer-card__title{font-size:14px;font-weight:700}.timer-card__text{font-size:13px;line-height:1.5}.confirm-hero{flex-direction:column;gap:12px;padding:40px 0 24px;text-align:center}.confirm-check,.confirm-hero{align-items:center;display:flex}.confirm-check{background:var(--voucher-color-success-soft);color:var(--voucher-color-success);height:72px;justify-content:center;position:relative;width:72px}.confirm-check,.confirm-check:after{border-radius:var(--voucher-radius-pill)}.confirm-check:after{border:1.5px solid rgba(41,174,99,.24);content:"";inset:-6px;position:absolute}.confirm-check--warning{background:var(--voucher-color-warning-soft);color:var(--voucher-color-warning)}.confirm-check--error{background:var(--voucher-color-error-soft);color:var(--voucher-color-error)}.blocker{flex-direction:column;gap:10px;padding:32px 0;text-align:center}.blocker,.blocker-icon{align-items:center;display:flex}.blocker-icon{background:var(--voucher-color-warning-soft);border-radius:var(--voucher-radius-pill);color:var(--voucher-color-warning);height:56px;justify-content:center;width:56px}.blocker-icon--error{background:var(--voucher-color-error-soft);color:var(--voucher-color-error)}.action-group{display:flex;flex-direction:column;gap:10px}.receipt-note{color:var(--voucher-color-text-muted);font-size:12px;text-align:center}.letter-errors{color:var(--voucher-color-error);font-size:12px;margin:0;padding-left:20px}.is-hidden{display:none!important}