.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--brand-bg, transparent);background-image:var(--brand-bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat}.top-bar{position:sticky;top:0;z-index:200;display:flex;justify-content:flex-end;align-items:center;padding:.4rem .75rem;background:transparent;min-height:44px}.language-switcher{display:flex;gap:.25rem;align-items:center}.lang-btn{background:none;border:none;padding:.2rem .3rem;cursor:pointer;border-radius:var(--gc-radius-sm);line-height:1;opacity:.55;transition:opacity .2s,transform .15s;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.lang-btn img{display:block;border-radius:2px}.lang-btn:hover{opacity:.8}.lang-btn.active{opacity:1;transform:scale(1.15);filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}.app-header{background:var(--gc-surface);border-bottom:1px solid var(--gc-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem 2rem;box-shadow:var(--gc-shadow-sm);display:flex;justify-content:center;align-items:center}.app-header h1{color:var(--gc-text);font-size:2rem;font-weight:700;margin:0}.app-logo{max-height:64px;height:auto;width:auto;max-width:100%}.app-main{flex:1}.app-container{width:100%;max-width:1140px;margin-left:auto;margin-right:auto;padding:1rem .75rem}@media (min-width: 768px){.app-container{padding-top:1.5rem;padding-bottom:1.5rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--gc-on-ink-muted)}.spinner{width:50px;height:50px;border:3px solid var(--gc-border);border-top-color:var(--gc-accent-strong);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.ticket-perf{--perf-pad: var(--gc-space-6);position:relative;height:0;margin:var(--gc-space-5) calc(var(--perf-pad) * -1);border-top:1px solid var(--gc-border)}.btn{padding:.8rem 1.75rem;border:2px solid transparent;border-radius:var(--gc-radius-sm);font-size:var(--gc-text-md);font-family:inherit;font-weight:600;letter-spacing:.01em;line-height:1.2;cursor:pointer;transition:background var(--gc-transition),border-color var(--gc-transition),color var(--gc-transition),box-shadow var(--gc-transition),transform 80ms ease}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--gc-accent-gradient);color:var(--gc-on-accent);box-shadow:0 2px 8px color-mix(in srgb,var(--gc-accent) 25%,transparent)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--gc-accent-shadow)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--gc-accent) 30%,transparent)}.btn-secondary{background:var(--gc-surface);border-color:var(--gc-border);color:var(--gc-text)}.btn-secondary:hover:not(:disabled){border-color:var(--gc-accent);color:var(--gc-accent-strong);background:var(--gc-accent-soft)}@media (max-width: 768px){.app-header{padding:1rem}.app-header h1{font-size:1.5rem}.lang-btn img{width:20px;height:15px}}.swish-spinner{display:inline-block;width:14px;height:14px;vertical-align:middle;border:2px solid var(--gc-border);border-top-color:var(--gc-swish-green);border-radius:50%;animation:swish-spin .8s linear infinite}@keyframes swish-spin{to{transform:rotate(360deg)}}.trust-footer{margin-top:var(--gc-space-6);background:var(--gc-surface);border-top:1px solid var(--gc-border);box-shadow:0 -1px 3px #1018280a;font-size:var(--gc-text-sm);color:var(--gc-text-muted)}.trust-footer-inner{max-width:1140px;margin:0 auto;padding:var(--gc-space-6) var(--gc-space-4);display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,20rem));justify-content:start;gap:var(--gc-space-5) var(--gc-space-7);text-align:left}@media (max-width: 640px){.trust-footer-inner{grid-template-columns:minmax(0,1fr)}}.trust-footer h2{font-size:var(--gc-text-sm);font-weight:600;color:inherit;margin-bottom:var(--gc-space-2)}.trust-footer p{margin:0 0 var(--gc-space-1);line-height:1.6;white-space:pre-line}.trust-footer a{color:inherit;text-decoration:underline}.trust-footer a:hover{text-decoration:none}.trust-footer-secure{display:flex;align-items:center;gap:var(--gc-space-2);margin-top:var(--gc-space-2)}.trust-footer-secure svg{flex-shrink:0;width:16px;height:16px}.policy-page{max-width:720px}.policy-page .policy-updated{color:inherit;opacity:.65;font-size:var(--gc-text-sm);margin-bottom:var(--gc-space-5)}.policy-page section{margin-bottom:var(--gc-space-5)}.policy-page h3{font-size:var(--gc-text-lg);font-weight:600;margin-bottom:var(--gc-space-2)}.policy-page p{line-height:1.65;margin-bottom:var(--gc-space-3)}.policy-page a{color:var(--gc-accent-strong)}.cookie-notice{position:fixed;left:0;right:0;bottom:0;z-index:400;background:var(--gc-surface);border-top:1px solid var(--gc-border);box-shadow:0 -4px 16px #10182824}.cookie-notice-inner{max-width:1140px;margin:0 auto;padding:var(--gc-space-4);display:flex;align-items:center;gap:var(--gc-space-4);flex-wrap:wrap}.cookie-notice-inner p{flex:1 1 320px;margin:0;font-size:var(--gc-text-sm);color:var(--gc-text-muted);line-height:1.5}.cookie-notice-inner a{color:var(--gc-accent-strong)}.cookie-notice-actions{display:flex;gap:var(--gc-space-2);flex-wrap:wrap}.cookie-notice-actions .btn{padding:.55rem 1.25rem;font-size:var(--gc-text-sm)}.gift-card-form-container{display:flex;justify-content:center;width:100%}.form-card{background:var(--gc-surface);border-radius:var(--gc-radius-lg);padding:2rem;box-shadow:var(--gc-shadow-md);width:100%;max-width:600px}.form-card h2{color:inherit;margin-bottom:2rem;font-family:var(--gc-font-display);font-size:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:inherit;font-weight:600;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--gc-border);border-radius:var(--gc-radius-md);font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--gc-accent) 12%,transparent)}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--gc-danger);background-color:var(--gc-danger-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--gc-danger) 12%,transparent)}.form-group textarea{resize:vertical;min-height:100px}.form-group input[type=checkbox]{width:auto;margin-right:.5rem;cursor:pointer}.form-group label.checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:400}.checkbox-label.send-to-me{gap:.6rem;min-height:44px}.checkbox-label.send-to-me input[type=checkbox]{width:18px;height:18px;min-width:18px;flex-shrink:0;margin:0}.radio-group{display:flex;gap:.75rem;flex-wrap:wrap;padding:.75rem;background:var(--gc-surface-muted);border-radius:var(--gc-radius-md);border:2px solid var(--gc-border);margin-top:.5rem}.radio-label{display:flex;align-items:center;cursor:pointer;font-weight:500;padding:.6rem 1.25rem;border-radius:var(--gc-radius-sm);border:2px solid transparent;transition:all .2s ease;flex:1;min-width:150px;justify-content:center}.radio-label:hover{background:var(--gc-border)}.radio-label input[type=radio]{width:18px!important;height:18px;min-width:18px;flex-shrink:0;margin:0 .6rem 0 0;padding:0!important;border:none!important;box-shadow:none!important;cursor:pointer;accent-color:var(--gc-accent)}.radio-label:has(input[type=radio]:checked){background:var(--gc-accent-soft);border-color:var(--gc-accent);color:var(--gc-accent-strong)}.radio-label span{-webkit-user-select:none;user-select:none;font-size:1rem}.form-group small{display:block;color:inherit;opacity:.7;font-size:.85rem;margin-top:.25rem}.loading-templates{padding:1rem;text-align:center;color:var(--gc-text-muted);font-style:italic}.error-message{display:flex;align-items:flex-start;gap:.3rem;color:var(--gc-danger);font-size:.875rem;font-weight:600;margin-top:.4rem}.error-message:before{content:"⚠";flex-shrink:0;font-style:normal}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gc-border)}.form-actions button{min-width:120px}.form-actions button:disabled{opacity:.6;cursor:not-allowed}.template-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:.5rem}.template-thumbnail{position:relative;border:2px solid var(--gc-border);border-radius:var(--gc-radius-md);overflow:hidden;cursor:pointer;transition:all .3s ease;background:var(--gc-surface);box-shadow:var(--gc-shadow-sm)}.template-thumbnail:hover{border-color:var(--gc-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--gc-accent) 20%,transparent);transform:translateY(-2px)}.template-thumbnail.selected{border-color:var(--gc-accent);border-width:3px;box-shadow:0 4px 16px color-mix(in srgb,var(--gc-accent) 30%,transparent)}.template-thumbnail.selected:after{content:"✓";position:absolute;top:8px;right:8px;background:var(--gc-accent-strong);color:var(--gc-on-accent);border:2px solid var(--gc-surface);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;z-index:10;box-shadow:0 2px 4px #0003}.template-preview{width:100%;height:180px;position:relative;overflow:hidden;background:var(--gc-surface-muted);display:flex;align-items:center;justify-content:center}.template-preview>div{width:100%;height:100%}.template-thumb-img{width:100%;height:100%;object-fit:contain;display:block}.template-name{padding:.75rem;text-align:center;font-size:.85rem;font-weight:600;color:var(--gc-text);background:var(--gc-surface);border-top:1px solid var(--gc-border);display:flex;flex-direction:column;gap:.5rem}@media (max-width: 768px){.form-card{padding:1.5rem;--perf-pad: var(--gc-space-5)}.form-card h2{font-size:1.5rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.template-thumbnails{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.template-preview{height:150px}}.amount-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.amount-pill{padding:.5rem 1.25rem;min-height:44px;border:2px solid var(--gc-border);border-radius:var(--gc-radius-md);background:var(--gc-surface);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--gc-text)}.amount-pill:hover{border-color:var(--gc-accent);color:var(--gc-accent-strong)}.amount-pill.selected{background:var(--gc-accent-strong);border-color:var(--gc-accent-strong);color:var(--gc-on-accent)}.amount-input-wrap{position:relative;margin-top:.75rem}.amount-input-wrap input{padding-right:2.75rem}.amount-input-suffix{position:absolute;top:50%;right:.9rem;transform:translateY(-50%);color:var(--gc-text-muted);font-weight:600;pointer-events:none}.amount-pills.error{padding:.5rem;border-radius:var(--gc-radius-md);background-color:var(--gc-danger-soft);outline:2px solid var(--gc-danger);outline-offset:2px}.delivery-segmented{display:flex;margin-top:.5rem;border:2px solid var(--gc-border);border-radius:var(--gc-radius-md);overflow:hidden}.segmented-option{flex:1 1 0;min-height:44px;padding:.5rem 1rem;border:none;background:var(--gc-surface);color:var(--gc-text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.segmented-option+.segmented-option{border-left:2px solid var(--gc-border)}.segmented-option:hover{color:var(--gc-accent-strong)}.segmented-option.selected{background:var(--gc-accent-strong);color:var(--gc-on-accent)}.physical-address .address-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.address-field{display:flex;flex-direction:column;gap:.35rem}.address-field.full{grid-column:1 / -1}.address-field label{font-size:.9rem;font-weight:600;color:inherit}.shipping-fee-note{display:block;margin-top:.6rem}.shipping-subtotal{margin:0 0 .5rem;text-align:right;color:var(--gc-text-muted)}@media (max-width: 480px){.physical-address .address-grid{grid-template-columns:1fr}.address-field.half{grid-column:auto}}.ai-message-writer{margin-top:.5rem}.ai-writer-toggle{background:none;border:none;color:var(--gc-accent);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;text-decoration:underline}.ai-writer-toggle:hover{color:var(--gc-accent-strong)}.ai-writer-panel{margin-top:.75rem;padding:1.25rem;background:var(--gc-accent-soft);border:2px solid var(--gc-accent-border);border-radius:var(--gc-radius-md);display:flex;flex-direction:column;gap:1rem}.ai-writer-inputs{display:flex;flex-direction:column;gap:.75rem}.ai-writer-inputs .form-group{margin-bottom:0}.tone-pills{display:flex;gap:.5rem;flex-wrap:wrap}.tone-pill{padding:.375rem .875rem;min-height:44px;border:2px solid var(--gc-border);border-radius:var(--gc-radius-md);background:var(--gc-surface);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.tone-pill:hover{border-color:var(--gc-accent);color:var(--gc-accent-strong)}.tone-pill.selected{background:var(--gc-accent);border-color:var(--gc-accent);color:var(--gc-on-accent)}.ai-generate-btn{align-self:flex-start}.ai-writer-error{color:var(--gc-danger);font-size:.875rem;margin:0}.ai-writer-result{display:flex;flex-direction:column;gap:.5rem}.ai-writer-result textarea{width:100%;padding:.75rem;border:2px solid var(--gc-border);border-radius:var(--gc-radius-md);font-size:1rem;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .3s}.ai-writer-result textarea:focus{outline:none;border-color:var(--gc-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--gc-accent) 12%,transparent)}.payment-method-options{display:flex;gap:.75rem;flex-wrap:wrap}.payment-method-option{flex:1 1 120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.9rem 1rem;min-height:86px;border:2px solid var(--gc-border);border-radius:var(--gc-radius-md);background:var(--gc-surface);color:var(--gc-text-muted);cursor:pointer;transition:border-color .15s,box-shadow .15s,color .15s}.payment-method-option:hover{border-color:var(--gc-accent)}.payment-method-option.selected{border-color:var(--gc-accent-strong);box-shadow:0 0 0 1px var(--gc-accent-strong) inset;color:var(--gc-text)}.payment-method-icon{display:inline-flex;color:var(--gc-text-muted)}.payment-method-name{font-weight:600;font-size:.95rem}.payment-method-option.pm-swish .payment-method-icon{color:var(--gc-swish-pink-soft)}.payment-method-option.pm-swish.selected .payment-method-icon{color:var(--gc-swish-pink)}.payment-method-logo{height:28px;width:auto;display:block}.secure-payment-note{display:flex;align-items:center;gap:.4rem;margin-top:.75rem;color:inherit;opacity:.75;font-size:.875rem}.secure-payment-icon{display:inline-flex;align-items:center;color:inherit}.secure-payment-icon .payment-method-logo{height:18px}.secure-payment-icon svg{width:20px;height:20px}.terms-notice{margin-top:.5rem;color:inherit;opacity:.75;font-size:.85rem}.terms-notice a,.gdpr-consent a{color:inherit;text-decoration:underline}.terms-notice a:hover,.gdpr-consent a:hover{text-decoration:none}.cart-restored-note{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;margin-bottom:1.5rem;background:var(--gc-accent-soft);border:1px solid var(--gc-accent-border);border-radius:var(--gc-radius-md);color:var(--gc-accent-on-soft);font-size:.9rem}.cart-restored-dismiss{border:none;background:none;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 .25rem}.checkout-card{max-width:640px}.ticket-header{margin-bottom:var(--gc-space-4)}.card-wallet{margin-bottom:var(--gc-space-5)}.card-wallet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gc-space-3);margin-bottom:var(--gc-space-3)}.card-wallet-head-right{display:inline-flex;align-items:baseline;gap:var(--gc-space-3);flex-wrap:wrap;justify-content:flex-end}.card-wallet-title{font-size:var(--gc-text-md);font-weight:600;color:inherit}.card-wallet-count{font-size:var(--gc-text-sm);color:inherit;opacity:.65}.wallet-startover{opacity:.75}.wallet-startover-confirm{display:inline-flex;align-items:baseline;gap:var(--gc-space-2);flex-wrap:wrap;font-size:var(--gc-text-sm);color:inherit}.card-wallet-row{list-style:none;display:flex;gap:var(--gc-space-3);margin:0;padding:var(--gc-space-2) 3px var(--gc-space-3);overflow-x:auto;scrollbar-width:thin}.card-wallet-item{flex:0 0 auto}.wallet-card{position:relative;width:172px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:var(--gc-radius-md);overflow:hidden;opacity:.72;transition:opacity var(--gc-transition),box-shadow var(--gc-transition),transform var(--gc-transition),border-color var(--gc-transition)}.wallet-card:hover{opacity:1;transform:translateY(-2px);box-shadow:var(--gc-shadow-md)}.wallet-card.active{opacity:1;border-color:transparent;transform:translateY(-3px);box-shadow:0 0 0 3px color-mix(in srgb,currentColor 85%,transparent),var(--gc-shadow-md)}.wallet-card.active .wallet-card-foot{background:color-mix(in srgb,currentColor 9%,transparent);font-weight:600}.wallet-card.incomplete{border-color:color-mix(in srgb,var(--gc-warning) 60%,transparent)}.wallet-card-open{display:flex;flex-direction:column;width:100%;padding:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left}.wallet-card-tools{position:absolute;top:var(--gc-space-2);right:var(--gc-space-2);display:flex;gap:6px;z-index:2}.wallet-tool{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:#1416189e;color:#fff;font-size:15px;line-height:1;cursor:pointer;transition:background var(--gc-transition)}.wallet-tool:hover:not(:disabled){background:#141618e6}.wallet-tool-danger:hover:not(:disabled){background:var(--gc-danger)}.wallet-tool:disabled{opacity:.4;cursor:not-allowed}.wallet-card-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gc-space-3);padding:var(--gc-space-3);text-align:center;background:#141618d1;color:#fff}.wallet-confirm-q{font-size:var(--gc-text-sm);font-weight:600}.wallet-confirm-actions{display:flex;gap:var(--gc-space-2)}.wallet-confirm-yes,.wallet-confirm-no{padding:6px 12px;border-radius:var(--gc-radius-sm);font:inherit;font-size:var(--gc-text-sm);font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff}.wallet-confirm-yes{background:var(--gc-danger);border-color:var(--gc-danger)}@media (hover: none) and (pointer: coarse){.wallet-card-tools{gap:10px}.wallet-tool{width:44px;height:44px;font-size:20px}.wallet-confirm-yes,.wallet-confirm-no{padding:11px 16px;min-height:44px}}.wallet-card-art{position:relative;width:100%;height:108px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:color-mix(in srgb,currentColor 6%,transparent)}.wallet-card-img{width:100%;height:100%;object-fit:cover;display:block}.wallet-card-art .card-preview-frame{box-shadow:none;border-radius:0}.wallet-card-blank{font-size:var(--gc-text-2xl);font-weight:700;color:inherit;opacity:.3}.wallet-card-flag{position:absolute;top:var(--gc-space-2);left:var(--gc-space-2);font-size:var(--gc-text-xs);font-weight:600;padding:2px 8px;border-radius:var(--gc-radius-pill);background:var(--gc-warning);color:#fff}.wallet-card-foot{display:flex;flex-direction:column;gap:1px;padding:var(--gc-space-2) var(--gc-space-3);border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}.wallet-card-name{font-size:var(--gc-text-sm);font-weight:600;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-card-amount{font-size:var(--gc-text-xs);color:inherit;opacity:.7}.wallet-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gc-space-2);width:172px;min-height:100%;padding:var(--gc-space-4);border:2px dashed color-mix(in srgb,currentColor 28%,transparent);border-radius:var(--gc-radius-md);background:none;color:inherit;font:inherit;font-size:var(--gc-text-sm);font-weight:600;cursor:pointer;transition:border-color var(--gc-transition),background var(--gc-transition)}.wallet-add:hover:not(:disabled){border-color:color-mix(in srgb,currentColor 55%,transparent);background:color-mix(in srgb,currentColor 5%,transparent)}.wallet-add:disabled{opacity:.4;cursor:not-allowed}.wallet-add-plus{font-size:1.75rem;line-height:1;opacity:.7}.wallet-add-label{text-align:center}.ticket-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--gc-space-3) var(--gc-space-4);flex-wrap:wrap}.step-heading{font-family:var(--gc-font-display);font-size:var(--gc-text-2xl);font-weight:600;color:inherit;margin:0;line-height:1.1}.step-heading:focus{outline:none}.progress-rail-nav{flex-shrink:0}.progress-rail{list-style:none;display:flex;align-items:center;margin:0;padding:0}.rail-node{display:flex;align-items:center}.rail-node+.rail-node:before{content:"";width:22px;height:0;margin:0 var(--gc-space-2);border-top:1px solid color-mix(in srgb,currentColor 30%,transparent)}.rail-stop{display:flex;align-items:center;gap:var(--gc-space-2);background:none;border:none;padding:0;font:inherit;color:inherit}button.rail-stop{cursor:pointer}.rail-label{font-size:var(--gc-text-sm);font-weight:500;color:inherit;opacity:.75;white-space:nowrap}.rail-node.current .rail-label{font-weight:600;opacity:1}.rail-node.done .rail-label{opacity:1}button.rail-stop:hover .rail-label{text-decoration:underline}.rail-chip{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 22%,transparent);background:none;color:inherit;opacity:.6;font-size:var(--gc-text-sm);font-weight:600;line-height:1;padding:0;transition:background var(--gc-transition),border-color var(--gc-transition),opacity var(--gc-transition)}.rail-node.current .rail-chip{border-color:currentColor;background:color-mix(in srgb,currentColor 14%,transparent);opacity:1}.rail-node.done .rail-chip{background:var(--gc-success);border-color:var(--gc-success);color:#fff;opacity:1}button.rail-stop:hover .rail-chip{background:var(--gc-accent);border-color:var(--gc-accent);color:var(--gc-on-accent)}.denomination{display:inline-flex;align-items:baseline;gap:.18em;color:inherit;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.denomination-num{font-weight:700}.denomination-unit{font-weight:500;font-size:.55em;opacity:.75}.denomination-sm .denomination-num{font-size:var(--gc-text-lg)}.denomination-md .denomination-num{font-size:var(--gc-text-xl)}.denomination-lg .denomination-num{font-size:var(--gc-text-2xl)}.form-errors-summary{padding:var(--gc-space-4);background:var(--gc-warning-soft);border:1px solid var(--gc-warning);border-radius:var(--gc-radius-md);margin-bottom:var(--gc-space-4);color:var(--gc-warning-strong)}.form-errors-summary--danger{background:var(--gc-danger-soft);border-color:var(--gc-danger);color:var(--gc-danger-strong)}.form-errors-summary ul{margin-top:var(--gc-space-2);margin-left:var(--gc-space-5)}.form-errors-summary-body{margin-top:var(--gc-space-2)}.no-preview-placeholder{padding:1rem;text-align:center;color:inherit;opacity:.6;font-size:.85rem}.review-cards{display:flex;flex-direction:column;gap:var(--gc-space-3);margin-bottom:var(--gc-space-4)}.review-card{display:flex;align-items:stretch;gap:0;border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:var(--gc-radius-md);overflow:hidden}.review-card-denom{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gc-space-1);min-width:104px;padding:var(--gc-space-4) var(--gc-space-3);background:color-mix(in srgb,currentColor 6%,transparent);color:inherit;border-right:1px solid color-mix(in srgb,currentColor 15%,transparent)}.review-card-main{flex:1;min-width:0;padding:var(--gc-space-4)}.review-card-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--gc-space-2);margin-bottom:var(--gc-space-2);color:inherit}.review-card-title strong{font-weight:600}.review-card-lines{display:flex;flex-direction:column;gap:var(--gc-space-1);font-size:var(--gc-text-sm);color:inherit;opacity:.75;overflow-wrap:anywhere}.review-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--gc-space-2);flex-shrink:0;padding:var(--gc-space-4);padding-left:0}.review-cards-compact .review-card-denom{min-width:88px;padding:var(--gc-space-3)}.review-cards-compact .review-card-main{padding:var(--gc-space-3)}.review-cards-compact .review-card-actions{padding:var(--gc-space-3);padding-left:0}.btn-link{background:none;border:none;padding:4px 0;font:inherit;font-size:var(--gc-text-sm);font-weight:600;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{text-decoration:none}.btn-link-danger{color:color-mix(in srgb,var(--gc-danger) 72%,currentColor)}.btn-link:disabled{opacity:.4;cursor:not-allowed}.store-headline{margin:0 0 var(--gc-space-4);font-size:var(--gc-text-md);color:inherit;opacity:.8}.section-no{color:inherit;opacity:.55}.disclosure-toggle{background:none;border:none;padding:var(--gc-space-1) 0;font:inherit;font-size:var(--gc-text-sm);font-weight:600;color:inherit;cursor:pointer;text-decoration:underline}.disclosure-toggle:hover{text-decoration:none}.revert-row{display:flex;justify-content:flex-end;margin-bottom:var(--gc-space-2)}.prune-notice{margin:0 0 var(--gc-space-3);font-size:var(--gc-text-sm);color:inherit;opacity:.75}.order-counterfoil{display:flex;align-items:center;justify-content:space-between;gap:var(--gc-space-4);margin-top:var(--gc-space-5);padding:var(--gc-space-4) var(--gc-space-5);background:color-mix(in srgb,currentColor 6%,transparent);color:inherit;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:var(--gc-radius-md)}.counterfoil-label{font-size:var(--gc-text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:inherit;opacity:.75}.gdpr-consent{margin-top:var(--gc-space-5)}.gdpr-consent .checkbox-label{align-items:flex-start}.gdpr-consent .checkbox-label input[type=checkbox]{margin-top:3px}.card-creator .form-group.section-break{border-top:1px solid var(--gc-border);padding-top:var(--gc-space-5);margin-top:var(--gc-space-5)}.pay-section-heading{font-size:var(--gc-text-lg);font-weight:600;color:inherit;margin:0 0 var(--gc-space-3)}.review-cards+.pay-section-heading,.form-group+.pay-section-heading{margin-top:var(--gc-space-5)}.start-over-row{margin-top:var(--gc-space-5);padding-top:var(--gc-space-3);border-top:1px solid var(--gc-border);font-size:var(--gc-text-sm)}.start-over-row .btn-link{color:inherit;opacity:.7}.start-over-row .btn-link:hover{opacity:1}.start-over-confirm{display:inline-flex;align-items:center;gap:var(--gc-space-3);flex-wrap:wrap}.start-over-confirm .btn-link-danger{color:var(--gc-danger);opacity:1}.cart-restored-actions{display:inline-flex;align-items:center;gap:var(--gc-space-2)}.cart-restored-actions .btn-link{color:inherit}.checkout-layout{display:flex;flex-direction:column;align-items:center;gap:var(--gc-space-5);width:100%}.checkout-layout .form-card{min-width:0}.card-preview{width:100%;display:flex;justify-content:center}.card-preview-frame{position:relative;overflow:hidden;border-radius:var(--gc-radius-sm);box-shadow:var(--gc-shadow-lg)}.card-preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;background:var(--gc-ink-soft)}.card-preview-loading .spinner{width:32px;height:32px;margin-bottom:0}.preview-pane{display:none}.preview-pane-inner{position:sticky;top:var(--gc-space-4);background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:var(--gc-radius-lg);box-shadow:var(--gc-shadow-sm);padding:var(--gc-space-5)}.preview-pane-title{font-size:var(--gc-text-md);font-weight:600;color:var(--gc-text);margin:0 0 var(--gc-space-4)}.preview-pane-note{margin:var(--gc-space-3) 0 0;font-size:var(--gc-text-xs);color:var(--gc-text-muted);text-align:center}.preview-peek{position:fixed;left:0;right:0;bottom:0;z-index:150;display:flex;align-items:center;justify-content:space-between;gap:var(--gc-space-3);padding:var(--gc-space-2) var(--gc-space-4);padding-bottom:calc(var(--gc-space-2) + env(safe-area-inset-bottom,0px));background:var(--gc-surface);border-top:1px solid var(--gc-border);box-shadow:0 -4px 16px #1018281f;min-height:64px}.preview-peek-thumb{flex-shrink:0;width:44px;height:56px;padding:2px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--gc-border);border-radius:var(--gc-radius-sm);background:var(--gc-surface-muted);cursor:pointer}.preview-peek-thumb .card-preview-frame{box-shadow:none}.preview-peek-info{display:flex;flex-direction:column;min-width:0;flex:1}.preview-peek-name{font-size:var(--gc-text-sm);font-weight:600;color:var(--gc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-peek-amount{font-size:var(--gc-text-sm);color:var(--gc-text-muted)}.preview-peek-btn{flex-shrink:0}.preview-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--gc-bg);display:flex;flex-direction:column}.preview-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:var(--gc-space-3);padding:var(--gc-space-4);background:var(--gc-surface);border-bottom:1px solid var(--gc-border)}.preview-sheet-header h3{font-family:var(--gc-font-display);font-size:var(--gc-text-lg);color:var(--gc-text);margin:0}.preview-sheet-body{flex:1;overflow:auto;padding:var(--gc-space-4);display:flex;align-items:center;justify-content:center;background:var(--gc-ink-soft)}@media (min-width: 900px){.checkout-layout.has-preview{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,34vw,420px);align-items:start;justify-items:stretch;max-width:1080px}.checkout-layout.has-preview .checkout-card{max-width:none}.preview-pane{display:block;align-self:stretch}.preview-peek{display:none}}@media (max-width: 899px){.checkout-layout.has-preview{padding-bottom:84px}}.template-preview-page{max-width:900px}.template-preview-page h2{margin-bottom:var(--gc-space-4)}.template-preview-page .card-preview{margin-bottom:var(--gc-space-5)}@keyframes ticket-settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ticket-header{animation:ticket-settle .26s ease both}.review-card{animation:ticket-settle .22s ease both}@media (prefers-reduced-motion: reduce){.ticket-header,.review-card,.rail-node.done .rail-chip:hover{animation:none;transform:none}}@media (max-width: 768px){.step-heading{font-size:var(--gc-text-xl)}.rail-node:not(.current) .rail-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.wallet-card,.wallet-add{width:150px}.review-card{flex-wrap:wrap}.review-card-denom{flex-direction:row;justify-content:flex-start;gap:var(--gc-space-2);min-width:0;width:100%;border-right:none;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}.review-card-actions{flex-direction:row;align-items:center;flex-wrap:wrap;padding-left:var(--gc-space-4);padding-top:0}.order-counterfoil{padding:var(--gc-space-4)}}.delivery-fieldset{border:none;padding:0;margin-inline:0}.delivery-fieldset legend{padding:0}.delivery-options .radio-label{align-items:flex-start;justify-content:flex-start;text-align:left;padding:var(--gc-space-3)}.delivery-options .radio-label input[type=radio]{margin-top:.15rem}.delivery-options .radio-label span{display:flex;flex-direction:column;gap:.15rem}.delivery-options .radio-label small{font-weight:400;line-height:1.35}.delivery-options .radio-label:has(input[type=radio]:checked){color:var(--gc-text)}.schedule-panel{margin-top:var(--gc-space-3);padding:var(--gc-space-4);background:var(--gc-surface-muted);border:1px solid var(--gc-border);border-radius:var(--gc-radius-md);display:flex;flex-direction:column;gap:var(--gc-space-4)}.schedule-presets-label{display:block;margin-bottom:var(--gc-space-2);font-size:var(--gc-text-sm);color:var(--gc-text-muted)}.schedule-preset-row{display:flex;flex-wrap:wrap;gap:var(--gc-space-2)}.schedule-preset{padding:.5rem .9rem;border-radius:var(--gc-radius-pill);border:1px solid var(--gc-border);background:var(--gc-surface);color:inherit;font-size:var(--gc-text-sm);cursor:pointer;transition:border-color var(--gc-transition),background var(--gc-transition)}.schedule-preset:hover{border-color:var(--gc-accent-border)}.schedule-preset.is-active{background:var(--gc-accent-soft);border-color:var(--gc-accent)}.schedule-fields{display:flex;flex-direction:column;gap:var(--gc-space-3)}.schedule-field{min-width:0;display:flex;flex-direction:column;gap:var(--gc-space-1)}.schedule-field label{font-size:var(--gc-text-sm);color:var(--gc-text-muted)}.schedule-field input{width:100%}.schedule-summary{display:flex;align-items:center;gap:var(--gc-space-2);margin:0;font-size:var(--gc-text-sm);color:var(--gc-text)}.schedule-summary svg{width:1rem;height:1rem;flex-shrink:0;color:var(--gc-accent)}.dtf-cal{width:100%;max-width:320px}.dtf-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--gc-space-2)}.dtf-cal-title{font-weight:600;text-transform:capitalize;font-size:var(--gc-text-md)}.dtf-cal-nav{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--gc-border);border-radius:var(--gc-radius-md);background:var(--gc-surface);color:var(--gc-text);font-size:18px;line-height:1;cursor:pointer}.dtf-cal-nav:hover:not(:disabled){background:var(--gc-surface-muted)}.dtf-cal-nav:disabled{opacity:.35;cursor:default}.dtf-cal-dow,.dtf-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtf-cal-dow{margin-bottom:4px}.dtf-cal-dowcell{text-align:center;font-size:var(--gc-text-xs);color:var(--gc-text-muted);text-transform:capitalize}.dtf-cal-empty{aspect-ratio:1 / 1}.dtf-cal-day{aspect-ratio:1 / 1;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--gc-radius-md);background:transparent;color:var(--gc-text);font-size:var(--gc-text-sm);cursor:pointer;padding:0}.dtf-cal-day:hover:not(:disabled){background:var(--gc-surface-muted)}.dtf-cal-day:disabled{opacity:.3;cursor:default}.dtf-cal-day.is-today{border-color:var(--gc-accent)}.dtf-cal-day.is-selected{background:var(--gc-accent);color:var(--gc-on-accent);border-color:var(--gc-accent);font-weight:600}.payment-success-container{display:flex;justify-content:center;width:100%}.payment-success-card{background:var(--gc-surface);border-radius:var(--gc-radius-lg);padding:2rem;box-shadow:var(--gc-shadow-md);width:100%;max-width:600px;text-align:center}.success-icon{margin-bottom:1.5rem;display:flex;justify-content:center;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.payment-success-card h1{color:var(--gc-success);margin-bottom:1rem;font-family:var(--gc-font-display);font-size:2rem;font-weight:600}.success-message{color:var(--gc-text-muted);font-size:1rem;margin-bottom:2rem;line-height:1.6}.order-details{background:var(--gc-surface-muted);border-radius:var(--gc-radius-md);padding:1.5rem;margin:1.5rem 0;text-align:left}.order-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--gc-border)}.order-detail-row:last-child{border-bottom:none}.order-label{font-weight:600;color:var(--gc-text);font-size:.95rem}.order-value{color:var(--gc-text);font-size:.95rem}.order-code{font-family:var(--gc-font-mono);letter-spacing:.02em}.order-status{text-transform:capitalize;color:var(--gc-success);font-weight:600}.receipt-link{color:var(--gc-accent-on-surface);text-decoration:none;font-weight:500}.receipt-link:hover{text-decoration:underline}.success-info{background:var(--gc-surface-muted);border:1px solid var(--gc-border);border-radius:var(--gc-radius-md);padding:1rem;margin:1.5rem 0;color:var(--gc-text-muted);font-size:.95rem;line-height:1.5}.success-info p{margin:0}.success-info p+p{margin-top:.5rem}.success-actions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gc-border);display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.success-actions .btn{min-width:200px}.status-title{font-family:var(--gc-font-display);font-size:var(--gc-text-2xl);font-weight:600;color:var(--gc-text);margin-bottom:1rem}.status-title--danger{color:var(--gc-danger)}.status-text{color:var(--gc-text-muted);margin-bottom:1.5rem;line-height:1.6}.status-text a{color:var(--gc-accent-on-surface)}.status-spinner{margin:0 auto 1.5rem}.qr-image{width:256px;height:256px;max-width:100%;margin:0 auto 1.5rem;display:block;border-radius:var(--gc-radius-md)}@media (max-width: 768px){.payment-success-card{padding:1.5rem}.order-detail-row{flex-direction:column;align-items:flex-start;gap:.5rem}.success-actions .btn{width:100%}}.wallet-buttons{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--gc-border, rgba(0, 0, 0, .08));text-align:center}.wallet-buttons-label{margin:0 0 .75rem;font-size:.9rem;color:var(--gc-text-muted, #666)}.wallet-card-row{margin-bottom:.75rem}.wallet-card-row:last-child{margin-bottom:0}.wallet-card-recipient{display:block;font-size:.8rem;color:var(--gc-text-muted, #666);margin-bottom:.35rem}.wallet-card-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center}.wallet-badge-link{display:inline-flex;padding:4px;border-radius:8px;text-decoration:none}.wallet-badge-link:focus-visible{outline:2px solid var(--gc-accent, #2563eb);outline-offset:2px}.wallet-badge{height:44px;width:auto;display:block}.wallet-badge-link:hover .wallet-badge{opacity:.9}:root{--gc-accent: #1f2329;--gc-accent-strong: #0d0f12;--gc-accent-soft: #f1f2f4;--gc-accent-border: #d7dade;--gc-on-accent: #ffffff;--gc-accent-on-surface: #1f2329;--gc-accent-on-soft: #0d0f12;--gc-accent-gradient: linear-gradient(135deg, #1f2329 0%, #0d0f12 100%);--gc-accent-shadow: 0 4px 14px rgba(13, 15, 18, .22);--gc-focus-ring: #1d4ed8;--gc-bg: #f2f3f5;--gc-ink-soft: #e9ebee;--gc-surface: #ffffff;--gc-surface-muted: #f6f7f8;--gc-border: #e3e5e9;--gc-text: #191b1f;--gc-text-muted: #5c626e;--gc-on-ink-muted: #5c626e;--gc-success: #1e7d47;--gc-success-soft: #e8f4ec;--gc-success-strong: #135633;--gc-danger: #c0362c;--gc-danger-soft: #faeceb;--gc-danger-strong: #7d211a;--gc-warning: #b26a0f;--gc-warning-soft: #fbf1e0;--gc-warning-strong: #7a4a0c;--gc-swish-green: #1f8a44;--gc-swish-pink: #e3007e;--gc-swish-pink-soft: #ee6aa7;--gc-font-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--gc-font-display: var(--gc-font-sans);--gc-font-mono: "IBM Plex Mono", "Courier New", monospace;--gc-text-xs: .78rem;--gc-text-sm: .875rem;--gc-text-md: 1rem;--gc-text-lg: 1.125rem;--gc-text-xl: 1.375rem;--gc-text-2xl: 1.75rem;--gc-text-3xl: 2.25rem;--gc-space-1: .25rem;--gc-space-2: .5rem;--gc-space-3: .75rem;--gc-space-4: 1rem;--gc-space-5: 1.5rem;--gc-space-6: 2rem;--gc-space-7: 3rem;--gc-radius-sm: 6px;--gc-radius-md: 8px;--gc-radius-lg: 12px;--gc-radius-pill: 999px;--gc-shadow-sm: 0 1px 3px rgba(16, 18, 22, .08);--gc-shadow-md: 0 6px 20px rgba(16, 18, 22, .1);--gc-shadow-lg: 0 16px 40px rgba(16, 18, 22, .16);--gc-transition: .15s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--gc-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;color:var(--gc-text);background:var(--gc-bg)}input,textarea,select,button{font:inherit}input,textarea,select{color:var(--gc-text);background:var(--gc-surface);border:1px solid var(--gc-border)}::placeholder{color:var(--gc-text-muted);opacity:1}.dtf-date,.dtf-time{display:flex;align-items:center;gap:var(--gc-space-2, .5rem)}.dtf-date select,.dtf-time select{flex:1 1 0;min-width:0}.dtf-time{max-width:15rem}.dtf-sep{color:var(--gc-text-muted);font-weight:600}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:focus-visible{outline:2px solid var(--gc-focus-ring);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
