/* QuickGigs — animated signup onboarding (pronouns, gender, DOB, guardian) */
.qg-wizard{position:relative;overflow:hidden;}
.qg-wizard-progress{display:flex;gap:5px;margin-bottom:0.5rem;justify-content:center;align-items:center;}
.qg-wizard-dot{flex:1;max-width:36px;height:4px;border-radius:999px;background:rgba(200,168,233,0.15);transition:background 0.35s,transform 0.35s,box-shadow 0.35s;}
.qg-wizard-dot.active{background:linear-gradient(90deg,#9b6fc4,#c8a8e9);box-shadow:0 0 12px rgba(155,111,196,0.5);transform:scaleY(1.3);}
.qg-wizard-dot.done{background:rgba(155,111,196,0.45);}
.qg-wizard-step{display:none;}
.qg-wizard-step.active{display:block;animation:qgStepIn 0.42s cubic-bezier(0.22,1,0.36,1) forwards;}
@keyframes qgStepIn{from{opacity:0;transform:translateX(20px) scale(0.98);}to{opacity:1;transform:translateX(0) scale(1);}}
.qg-step-title{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;text-align:center;margin-bottom:6px;color:#fff;}
.qg-step-sub{font-size:0.82rem;color:rgba(255,255,255,0.58);text-align:center;margin-bottom:1.1rem;line-height:1.55;}
.qg-chip-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:0.85rem;}
.qg-chip{padding:11px 18px;border-radius:999px;border:1px solid rgba(200,168,233,0.28);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.88);font-family:inherit;font-size:0.85rem;cursor:pointer;transition:all 0.22s cubic-bezier(0.22,1,0.36,1);}
.qg-chip:hover{border-color:rgba(200,168,233,0.55);transform:translateY(-2px);background:rgba(255,255,255,0.07);}
.qg-chip.selected{background:linear-gradient(135deg,rgba(107,63,160,0.55),rgba(155,111,196,0.35));border-color:#c8a8e9;color:#fff;box-shadow:0 6px 20px rgba(107,63,160,0.4);transform:translateY(-1px);}
.qg-custom-input{width:100%;padding:12px 14px;background:rgba(255,255,255,0.06);border:1px solid rgba(200,168,233,0.25);border-radius:12px;font-family:inherit;font-size:0.9rem;color:#fff;outline:none;margin-top:6px;}
.qg-custom-input:focus{border-color:rgba(200,168,233,0.6);box-shadow:0 0 0 3px rgba(107,63,160,0.15);}

/* ── Date of birth — specific age display ── */
.qg-dob-summary{
  text-align:center;padding:16px 18px;margin-bottom:1rem;border-radius:16px;
  background:linear-gradient(145deg,rgba(107,63,160,0.2),rgba(255,255,255,0.03));
  border:0.5px solid rgba(200,168,233,0.22);
  transition:border-color 0.3s,background 0.3s;
}
.qg-dob-summary.blocked{border-color:rgba(255,107,107,0.35);background:linear-gradient(145deg,rgba(255,107,107,0.08),rgba(255,255,255,0.02));}
.qg-dob-summary.minor{border-color:rgba(251,191,36,0.35);background:linear-gradient(145deg,rgba(251,191,36,0.08),rgba(255,255,255,0.02));}
.qg-dob-summary.ok{border-color:rgba(74,222,128,0.3);}
.qg-dob-date{font-size:0.78rem;color:rgba(255,255,255,0.5);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:4px;}
.qg-dob-date-val{font-family:'Playfair Display',serif;font-size:1.15rem;color:#e8d5ff;margin-bottom:8px;}
.qg-age-number{font-size:1.75rem;font-weight:700;color:#fff;line-height:1.1;margin-bottom:6px;}
.qg-age-number span{font-size:0.95rem;font-weight:400;color:rgba(255,255,255,0.55);}
.qg-age-status{font-size:0.78rem;line-height:1.45;color:rgba(255,255,255,0.55);max-width:280px;margin:0 auto;}
.qg-age-status strong{color:rgba(255,255,255,0.85);font-weight:500;}

.qg-dob-wrap{margin-bottom:0.75rem;}
.qg-dob-labels{display:flex;gap:4px;max-width:320px;margin:0 auto 6px;padding:0 4px;}
.qg-dob-labels span{flex:1;text-align:center;font-size:0.65rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.62);}
.qg-dob-picker{display:flex;gap:4px;height:168px;position:relative;margin:0 auto;max-width:320px;border-radius:16px;background:rgba(0,0,0,0.25);border:0.5px solid rgba(200,168,233,0.18);overflow:hidden;}
.qg-dob-picker::before{content:'';position:absolute;left:6px;right:6px;top:50%;transform:translateY(-50%);height:40px;border-radius:10px;background:rgba(107,63,160,0.25);border:0.5px solid rgba(200,168,233,0.25);pointer-events:none;z-index:1;box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);}
.qg-dob-picker::after{content:'';position:absolute;left:0;right:0;top:0;height:48px;background:linear-gradient(180deg,rgba(18,6,40,0.9),transparent);pointer-events:none;z-index:2;}
.qg-dob-col{flex:1;height:100%;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:64px 0;position:relative;z-index:0;}
.qg-dob-col::-webkit-scrollbar{display:none;}
.qg-dob-item{height:40px;min-height:40px;display:flex;align-items:center;justify-content:center;font-size:0.88rem;color:rgba(255,255,255,0.62);scroll-snap-align:center;transition:color 0.15s,transform 0.15s;user-select:none;box-sizing:border-box;}
.qg-dob-item.selected{color:#fff;font-weight:600;font-size:1.05rem;transform:scale(1.05);}

.qg-wizard-nav{display:flex;gap:10px;margin-top:0.65rem;}
.qg-wizard-nav .signup-btn{flex:1;margin-top:0;}
.qg-guardian-note{font-size:0.78rem;color:rgba(255,255,255,0.58);line-height:1.55;margin-bottom:1rem;padding:14px;border-radius:12px;background:rgba(251,191,36,0.07);border:0.5px solid rgba(251,191,36,0.22);}

/* legacy class aliases for signup.html */
.qg-wizard-nav .btn{flex:1;margin-top:0;padding:15px;border:none;border-radius:12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#b07fd4,#7b52b8);box-shadow:0 6px 24px rgba(107,63,160,0.4);}
.qg-wizard-nav .btn-secondary{background:rgba(255,255,255,0.07);box-shadow:none;border:1px solid rgba(200,168,233,0.2);}

body.light .qg-step-title{color:#1a0a3d;}
body.light .qg-step-sub{color:#6b7280;}
body.light .qg-chip{background:#fff;border-color:#e0d8ff;color:#374151;}
body.light .qg-chip.selected{color:#fff;}
body.light .qg-custom-input{background:#fff;border-color:#e0d8ff;color:#1a0a3d;}
body.light .qg-dob-summary{background:linear-gradient(145deg,#f5f2ff,#fff);border-color:#e8e2ff;}
body.light .qg-dob-date{color:#6b6580;}
body.light .qg-dob-date-val{color:#6b3fa0;}
body.light .qg-age-number{color:#1a0a3d;}
body.light .qg-age-number span{color:#6b7280;}
body.light .qg-age-status{color:#6b7280;}
body.light .qg-dob-picker{background:#f9f7ff;border-color:#e8e2ff;}
body.light .qg-dob-picker::before{background:rgba(107,63,160,0.12);border-color:#e0d8ff;}
body.light .qg-dob-picker::after{background:linear-gradient(180deg,rgba(255,255,255,0.95),transparent);}
body.light .qg-dob-item{color:#6b6580;}
body.light .qg-dob-item.selected{color:#6b3fa0;}
body.light .qg-dob-labels span{color:#6b6580;}
body.light .qg-guardian-note{background:rgba(251,191,36,0.1);color:#92400e;}

