.gift-layout{gap:var(--space-6);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=920px){.gift-layout{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}.gift-side{top:calc(var(--header-height) + var(--space-4));position:sticky}}.gift-step-title{margin-bottom:var(--space-2)}.gift-step-lead{color:var(--text-muted);margin-bottom:var(--space-4)}.gift-nav{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.gift-players{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.gift-player-btn{width:3rem;height:3rem;font-family:var(--font-display);font-size:var(--text-lg);border-radius:var(--radius-md);border:1.5px solid var(--border-strong);color:var(--text);transition:transform var(--dur-fast) var(--ease-clunk), box-shadow var(--dur-base) var(--ease-lab), border-color var(--dur-fast) var(--ease-lab), background-color var(--dur-fast) var(--ease-lab);place-items:center;font-weight:600;display:grid}.gift-player-btn:hover{border-color:var(--primary);box-shadow:var(--glow-primary)}.gift-player-btn.is-selected{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast);box-shadow:var(--glow-primary);transform:scale(1.08)}.gift-price-line{font-size:var(--text-lg);color:var(--text-muted)}.gift-price-line strong{color:var(--text)}.gift-placeholder{margin-left:var(--space-2);vertical-align:middle}.gift-designs{margin:var(--space-4) 0 0;border:none;padding:0}.gift-designs legend{font-family:var(--font-display);font-size:var(--text-sm);margin-bottom:var(--space-2);font-weight:500}.design-gallery{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr));display:grid}.design-swatch{justify-content:space-between;gap:var(--space-3);min-height:76px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#fdf6ec;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-lab), transform var(--dur-fast) var(--ease-lab), box-shadow var(--dur-base) var(--ease-lab);border:2px solid #0000;flex-direction:column;display:flex;position:relative;overflow:hidden}.design-swatch:hover{transform:translateY(-2px)}.design-swatch.is-selected{border-color:var(--gc-accent,var(--primary));box-shadow:0 0 0 3px color-mix(in srgb, var(--gc-accent,var(--primary)) 30%, transparent)}.design-swatch input{opacity:0;pointer-events:none;position:absolute}.design-swatch:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.swatch-glyph{width:22px;height:22px;color:var(--gc-accent,#fff)}.swatch-glyph svg{width:22px;height:22px}.swatch-name{font-family:var(--font-display);font-size:var(--text-xs);text-shadow:0 1px 2px #00000080;font-weight:500}.gift-vat{max-width:26rem}.gift-vat dl{gap:var(--space-2);margin:0 0 var(--space-3);display:grid}.gift-vat dl>div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.gift-vat dt{color:var(--text-muted)}.gift-vat dd{margin:0;font-weight:600}.gift-vat .vat-total{padding-top:var(--space-2);border-top:1px solid var(--border);font-size:var(--text-base)}.gift-vat .vat-total dd{color:var(--primary-strong);font-size:var(--text-lg)}.gift-review-who{color:var(--text-muted);margin-bottom:var(--space-4)}.gift-pay-note{margin-top:var(--space-3)}.giftcard-preview{aspect-ratio:1.586;border-radius:var(--radius-lg);padding:var(--space-5);color:#fdf6ec;box-shadow:var(--shadow-lg);transition:transform var(--dur-base) var(--ease-lab);flex-direction:column;display:flex;position:relative;overflow:hidden}.giftcard-preview:hover{transform:rotate(-1deg)translateY(-2px)}.gcp-glyph{right:var(--space-4);bottom:var(--space-4);width:44px;height:44px;color:var(--gc-accent,#fff);opacity:.5;position:absolute}.gcp-glyph svg{width:44px;height:44px}.gcp-glow{pointer-events:none;background:radial-gradient(circle at 75% 15%,#ffffff29,#0000 55%);position:absolute;inset:-30%}.gcp-brand{font-family:var(--font-display);letter-spacing:.04em;font-weight:700}.gcp-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.28em;text-transform:uppercase;opacity:.75;margin-top:2px}.gcp-admits{font-size:var(--text-xs);opacity:.75;margin-top:var(--space-1)}.gcp-holo{width:34px;height:26px;margin-top:var(--space-3);background:linear-gradient(120deg,#ffffff80,#ffffff14 45%,#fff6),linear-gradient(120deg,#c9b8ff44,#8affd444);border:1px solid #ffffff59;border-radius:6px}.gcp-for{font-family:var(--font-display);font-size:var(--text-xl);overflow-wrap:anywhere;margin-top:auto;font-weight:700}.gcp-message{font-size:var(--text-xs);opacity:.85;overflow-wrap:anywhere;font-style:italic}.gcp-from{font-size:var(--text-xs);opacity:.75;min-height:1em}.gcp-code{margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.18em;color:var(--gc-accent,#fff);opacity:.95}.gift-confirm h2{margin-bottom:var(--space-2)}.gift-confirm-lead{color:var(--text-muted);margin-bottom:var(--space-5)}.gift-confirm-card{max-width:26rem;animation:giftcard-in var(--dur-slow) var(--ease-clunk)}@keyframes giftcard-in{0%{opacity:0;transform:translateY(14px)rotate(-1.5deg)}to{opacity:1;transform:none}}.gift-confirm-invoice{max-width:26rem;margin-top:var(--space-4)}.gift-confirm-checking{gap:var(--space-3);color:var(--text-muted);justify-items:start;display:grid}.order-card{max-width:26rem;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--mystery-surface);color:var(--mystery-text);border:1px solid var(--mystery-border);box-shadow:var(--shadow-lg);animation:giftcard-in var(--dur-slow) var(--ease-clunk);position:relative;overflow:hidden}.oc-stripe{background:linear-gradient(180deg, var(--mystery-amber), var(--mystery-teal));width:8px;position:absolute;inset:0 auto 0 0}.oc-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--mystery-text-muted)}.oc-code{font-family:var(--font-mono);font-size:var(--text-2xl);letter-spacing:.1em;color:var(--mystery-amber);margin:var(--space-1) 0 var(--space-4);font-weight:700}.oc-meta{gap:var(--space-1);padding-top:var(--space-3);border-top:1px dashed var(--mystery-border);margin:0;display:grid}.oc-meta>div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);display:flex}.oc-meta dt{color:var(--mystery-text-muted)}.oc-meta dd{margin:0;font-weight:600}
