/* ── Gift Order Modal – Clean White Design ── */
#gom-overlay{display:none;position:fixed;inset:0;z-index:9999;overflow-y:auto}
#gom-bd{min-height:100%;display:flex;align-items:flex-start;justify-content:center;padding:16px;background:rgba(15,10,30,0.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#gom-box{position:relative;width:100%;max-width:560px;margin:24px auto;border-radius:20px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 20px 60px rgba(0,0,0,0.18);overflow:hidden;opacity:0;transform:translateY(20px) scale(0.98);transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.36,.64,1)}
/* header */
.gom-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid #f3f4f6}
.gom-product-badge{display:flex;align-items:center;gap:12px}
.gom-product-emoji{width:48px;height:48px;border-radius:14px;background:#fdf4ff;border:1px solid #e9d5ff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0}
.gom-product-info small{font-size:10px;color:#9ca3af;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:2px}
.gom-product-info strong{font-size:.88rem;font-weight:800;color:#111827;line-height:1.3;display:block;max-width:220px}
.gom-price-tag{background:#fdf4ff;border:1px solid #d8b4fe;color:#7c3aed;font-size:.95rem;font-weight:900;padding:4px 12px;border-radius:50px}
.gom-close-btn{width:32px;height:32px;border-radius:50%;background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.gom-close-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#ef4444}
/* progress */
.gom-progress-wrap{padding:14px 22px 0}
.gom-steps-bar{display:flex;align-items:center;gap:0;margin-bottom:6px}
.gom-step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;transition:all .3s ease}
.gom-step-dot.done{background:#7c3aed;color:#fff}
.gom-step-dot.active{background:#7c3aed;color:#fff;box-shadow:0 0 0 4px #ede9fe}
.gom-step-dot.pending{background:#f3f4f6;color:#9ca3af}
.gom-step-line{flex:1;height:2px;background:#e5e7eb;transition:background .3s}
.gom-step-line.done{background:#7c3aed}
.gom-step-label{font-size:12px;color:#6b7280;font-weight:600;margin-top:4px}
/* content */
#gom-content{padding:18px 22px 8px;min-height:300px}
#gom-nav{padding:8px 22px 20px;display:flex;gap:10px;align-items:center}
/* fields */
.gom-field{margin-bottom:16px}
.gom-label{display:block;font-size:11.5px;color:#374151;font-weight:700;letter-spacing:.3px;margin-bottom:7px}
.gom-label .req{color:#ef4444}
.gom-input{width:100%;padding:11px 14px;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:12px;color:#111827;font-size:.88rem;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;font-family:inherit}
.gom-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #ede9fe;background:#fff}
.gom-input::placeholder{color:#9ca3af}
.gom-textarea{width:100%;padding:11px 14px;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:12px;color:#111827;font-size:.88rem;outline:none;resize:vertical;min-height:90px;font-family:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.gom-textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #ede9fe;background:#fff}
.gom-textarea::placeholder{color:#9ca3af}
/* chips */
.gom-chips{display:flex;flex-wrap:wrap;gap:7px}
.gom-chip{padding:7px 14px;border-radius:50px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#374151;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .18s;user-select:none}
.gom-chip:hover{border-color:#7c3aed;color:#7c3aed;background:#faf5ff}
.gom-chip.active{background:#7c3aed;border-color:#7c3aed;color:#fff;box-shadow:0 2px 8px rgba(124,58,237,.25)}
/* choice cards */
.gom-choice-card{border:2px solid #e5e7eb;border-radius:16px;padding:16px 12px;cursor:pointer;background:#fff;transition:all .2s;text-align:center;flex:1}
.gom-choice-card:hover{border-color:#c4b5fd;background:#faf5ff}
.gom-choice-card.active{border-color:#7c3aed;background:#faf5ff;box-shadow:0 0 0 3px #ede9fe}
/* age buttons */
.gom-age-btn{padding:8px 12px;border-radius:10px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#374151;font-size:.79rem;font-weight:700;cursor:pointer;transition:all .18s;font-family:inherit}
.gom-age-btn:hover{border-color:#7c3aed;color:#7c3aed}
.gom-age-btn.active{background:#7c3aed;border-color:#7c3aed;color:#fff}
/* interest tags */
.gom-interest{padding:6px 12px;border-radius:50px;border:1.5px solid #e5e7eb;background:#f9fafb;color:#374151;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s;user-select:none}
.gom-interest.active{background:#d1fae5;border-color:#34d399;color:#065f46}
/* color swatches */
.gom-color-swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all .18s;flex-shrink:0}
.gom-color-swatch.active{border-color:#7c3aed;box-shadow:0 0 0 2px #ede9fe}
/* delivery options */
.gom-delivery-opt{border:2px solid #e5e7eb;border-radius:14px;padding:14px 10px;cursor:pointer;background:#fff;transition:all .2s;flex:1;text-align:center}
.gom-delivery-opt:hover{border-color:#c4b5fd}
.gom-delivery-opt.active{border-color:#7c3aed;background:#faf5ff;box-shadow:0 0 0 3px #ede9fe}
/* review */
.gom-review-panel{background:#f9fafb;border-radius:14px;padding:14px 16px;margin-bottom:10px}
.gom-panel-title{font-size:10px;color:#9ca3af;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}
.gom-review-row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #f3f4f6;font-size:.82rem}
.gom-review-row:last-child{border-bottom:none}
.gom-review-key{color:#6b7280;font-weight:600;flex-shrink:0;margin-right:10px}
.gom-review-val{color:#111827;font-weight:600;text-align:right;max-width:65%}
/* product preview card */
.gom-preview-card{background:linear-gradient(135deg,#fdf4ff,#faf5ff);border:1px solid #e9d5ff;border-radius:16px;padding:14px 16px;margin-bottom:16px;display:flex;align-items:center;gap:14px}
/* buttons */
.gom-btn-primary{flex:1;padding:12px 22px;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;font-weight:800;font-size:.88rem;border-radius:12px;border:none;cursor:pointer;transition:all .22s;font-family:inherit}
.gom-btn-primary:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,58,237,.3)}
.gom-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}
.gom-btn-secondary{padding:12px 18px;background:#f9fafb;border:1.5px solid #e5e7eb;color:#374151;font-weight:700;font-size:.85rem;border-radius:12px;cursor:pointer;transition:all .2s;font-family:inherit}
.gom-btn-secondary:hover{background:#f3f4f6;border-color:#d1d5db}
/* visual cup/product mock */
.gom-cup-preview{background:#fff;border:2px solid #e5e7eb;border-radius:20px 20px 24px 24px;width:80px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 12px;position:relative;box-shadow:inset 0 2px 8px rgba(0,0,0,0.05)}
.gom-cup-preview::after{content:'';position:absolute;right:-14px;top:22px;width:14px;height:30px;border:3px solid #e5e7eb;border-left:none;border-radius:0 8px 8px 0}
.gom-shirt-preview{width:80px;height:80px;margin:0 auto 12px;position:relative;display:flex;align-items:center;justify-content:center}
/* error */
#gom-error{background:#fef2f2;border:1px solid #fca5a5;color:#dc2626;font-size:.82rem;font-weight:600;padding:10px 14px;border-radius:12px;margin:0 22px 8px}
/* animations */
@keyframes gomFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.gom-animate{animation:gomFadeIn .25s ease forwards}
@keyframes gomPop{0%{transform:scale(.5);opacity:0}65%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.gom-pop{animation:gomPop .5s cubic-bezier(.34,1.56,.64,1) forwards}
