/* フォーム専用（ビジュアルは各HTMLのインラインCSS） */
.signup-form{text-align:left}
.signup-label{
 display:block;font-size:11px;font-weight:700;color:var(--ame2);
 margin-bottom:7px;letter-spacing:.1em;
}
.signup-input{
 display:block;width:100%;box-sizing:border-box;padding:15px 16px;
 border:1px solid rgba(185,165,232,.35);border-radius:14px;
 background:rgba(13,10,30,.55);color:var(--ink);font-size:16px;
 box-shadow:inset 0 2px 8px rgba(0,0,0,.25);
}
.signup-input:focus{
 outline:none;border-color:rgba(245,223,163,.55);
 box-shadow:0 0 0 2px rgba(231,194,106,.16),inset 0 2px 8px rgba(0,0,0,.25);
}
.signup-input::placeholder{color:rgba(255,255,255,.26)}
.signup-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.signup-form .signup-submit{
 display:block;width:100%;margin-top:12px;cursor:pointer;
 font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:16px;letter-spacing:.08em;
 color:#fffef5;text-align:center;padding:13px 14px;border-radius:12px;
 background:linear-gradient(180deg,#6a5098 0%,#4a3880 55%,#3a2868 100%);
 border:1.5px solid rgba(245,223,163,.55);
 box-shadow:0 3px 0 #2a1f48,0 6px 16px rgba(0,0,0,.35);
 text-shadow:0 1px 2px rgba(13,10,30,.7);
}
.signup-form .signup-submit:disabled{opacity:.65;cursor:wait}
.signup-form .signup-submit:active{transform:translateY(2px);box-shadow:0 1px 0 #2a1f48,0 4px 12px rgba(0,0,0,.3)}
.signup-privacy{margin-top:11px;font-size:10.5px;color:var(--muted);line-height:1.65;text-align:center}
.signup-privacy a{color:var(--ame2);text-decoration:underline;text-underline-offset:2px}
.signup-msg{margin-top:12px;padding:11px 12px;border-radius:12px;font-size:13px;line-height:1.65;text-align:center}
.signup-msg.ok{background:rgba(231,194,106,.12);color:var(--gold2);border:1px solid rgba(231,194,106,.28)}
.signup-msg.err{background:rgba(255,90,90,.1);color:#ffc9c9;border:1px solid rgba(255,90,90,.22)}
.cta--scroll{display:block}

.signup-stage--hidden{display:none!important}
.signup-stage.is-revealed{display:block!important}

/* 登録完了 — 券面・金額を消してフォームを差し替え */
.signup-panel-in.is-complete .signup-voucher-row,
.signup-panel-in.is-complete .signup-offer-sub,
.signup-panel-in.is-complete .signup-form{display:none!important}

.signup-panel-in.is-complete .signup-tag{
 background:linear-gradient(135deg,#fff0c8 0%,var(--gold) 42%,#c49a3c 100%);
 color:#2a1f08;
 box-shadow:0 4px 16px rgba(231,194,106,.5);
}

.signup-panel-in.is-complete .signup-perf{
 margin:4px -16px 14px;
 opacity:.7;
}

.signup-complete{display:none;text-align:center;padding:2px 4px 4px}
.signup-panel-in.is-complete .signup-complete{
 display:block;
 animation:signupCompleteIn .55s cubic-bezier(.22,1,.36,1) .08s both;
}

@keyframes signupCompleteIn{
 from{opacity:0;transform:translateY(10px)}
 to{opacity:1;transform:none}
}

.signup-complete-title{
 margin:0 0 14px;
 font-family:"Shippori Mincho B1",serif;
 font-size:22px;font-weight:800;line-height:1.5;letter-spacing:.04em;
 color:var(--ink);
}
.signup-complete-mail{
 margin:0 0 14px;padding:10px 12px;border-radius:12px;
 background:rgba(13,10,30,.42);
 border:1px solid rgba(231,194,106,.22);
 font-size:11.5px;line-height:1.5;color:var(--muted);
}
.signup-complete-mail strong{
 display:block;margin-top:4px;
 font-size:13.5px;font-weight:700;color:var(--gold2);
 word-break:break-all;letter-spacing:.02em;
}
.signup-complete-announce{
 margin:0 0 12px;padding:14px 10px;border-radius:14px;
 background:rgba(231,194,106,.1);
 border:1px solid rgba(231,194,106,.28);
 font-family:"Shippori Mincho B1",serif;
 font-size:17px;font-weight:800;line-height:1.65;letter-spacing:.06em;
 color:var(--ink);
}
.signup-complete-announce strong{
 color:var(--gold2);
 font-size:19px;
 -webkit-text-fill-color:var(--gold2);
 text-shadow:0 0 14px rgba(231,194,106,.35);
}
.signup-complete-hint{
 margin:0;font-size:10.5px;line-height:1.65;color:var(--muted);
}

.signup-stage.is-complete .signup-chibi .mchibi-bub{
 border-color:rgba(231,194,106,.35);
 box-shadow:0 10px 24px rgba(0,0,0,.35),0 0 18px rgba(231,194,106,.08),inset 0 1px 0 rgba(255,255,255,.07);
}
