/* ══════════════════════════════════════════════════════
 *  place/pages/auth/register.php 전용 스타일
 *  /place/css/place-auth-register.css
 *  ※ 원본 인라인 규칙 그대로 이관 (시각 동일성 우선)
 * ══════════════════════════════════════════════════════ */

        * { margin:0; padding:0; box-sizing:border-box; }
        body { font-family:-apple-system, BlinkMacSystemFont, 'Pretendard', sans-serif;
               background:#f8faf9; min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; }

        .reg-container { width:520px; max-width:100%; }
        .reg-logo { text-align:center; margin-bottom:24px; }
        .reg-logo h1 { font-size:var(--fs-24); font-weight:800; color:var(--place-primary); }
        .reg-logo p { font-size:var(--fs-14); color:var(--place-ink-60); margin-top:4px; }

        .reg-card { background:var(--place-paper); border-radius:16px; box-shadow:0 4px 24px rgba(0,0,0,.06); overflow:hidden; }

        /* 스텝 인디케이터 */
        .step-bar { display:flex; padding:20px 24px 0; gap:8px; }
        .step-dot { flex:1; height:4px; border-radius:2px; background:var(--place-ink-15); transition:background .3s; }
        .step-dot.active { background:var(--place-primary); }
        .step-dot.done { background:#a5b4fc; }

        .step-header { padding:16px 24px 0; }
        .step-header h2 { font-size:var(--fs-18); font-weight:700; color:var(--place-ink); }
        .step-header p { font-size:var(--fs-13); color:var(--place-ink-hint); margin-top:2px; }

        .step-body { padding:20px 24px; }
        .step-foot { padding:0 24px 24px; display:flex; justify-content:space-between; }

        /* 폼 스타일 */
        .form-group { margin-bottom:16px; }
        .form-group label { display:block; font-size:var(--fs-13); font-weight:600; color:var(--place-ink-70); margin-bottom:4px; }
        .form-group label .req { color:var(--place-danger-700); }
        .form-group input, .form-group select, .form-group textarea {
            width:100%; padding:10px 14px; border:1px solid var(--place-border-input); border-radius:8px;
            font-size:var(--fs-14); background:var(--place-paper); transition:border .2s, box-shadow .2s; font-family:inherit; }
        .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
            outline:none; border-color:var(--place-primary); box-shadow:0 0 0 3px rgba(5,150,105,.1); }
        .form-group .help { font-size:var(--fs-12); color:var(--place-ink-hint); margin-top:2px; }
        .form-group .error { font-size:var(--fs-12); color:var(--place-danger-700); margin-top:2px; display:none; }
        .form-group.has-error input, .form-group.has-error select { border-color:var(--place-danger); }
        .form-group.has-error .error { display:block; }

        .form-row { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
        @media(max-width:480px){ .form-row { grid-template-columns:1fr; } }

        .pw-strength { height:4px; border-radius:2px; background:var(--place-ink-15); margin-top:6px; overflow:hidden; }
        .pw-strength .pw-fill { height:100%; border-radius:2px; width:0; transition:width .3s, background .3s; }

        /* 태그 선택 */
        .tag-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
        .tag-chip { padding:6px 14px; border:1px solid var(--place-ink-30); border-radius:20px; font-size:var(--fs-13);
                    color:var(--place-ink-70); cursor:pointer; transition:all .2s; user-select:none; }
        .tag-chip:hover { border-color:var(--place-primary); color:var(--place-primary); }
        .tag-chip.selected { background:var(--place-primary-light); border-color:var(--place-primary); color:var(--place-primary); font-weight:600; }

        /* 버튼 */
        .btn { padding:10px 24px; border-radius:8px; font-size:var(--fs-14); font-weight:600;
               cursor:pointer; border:none; transition:all .2s; }
        .btn-primary { background:var(--place-primary); color:var(--place-paper); }
        .btn-primary:hover { background:var(--place-primary-dark); }
        .btn-primary:disabled { background:var(--place-ink-30); cursor:not-allowed; }
        .btn-ghost { background:none; color:var(--place-ink-60); }
        .btn-ghost:hover { color:var(--place-ink-70); }

        /* 에러 토스트 */
        .toast { position:fixed; top:20px; left:50%; transform:translateX(-50%); padding:12px 24px;
                 border-radius:8px; font-size:var(--fs-14); font-weight:500; z-index:9999;
                 box-shadow:0 4px 20px rgba(0,0,0,.15); transition:opacity .3s; opacity:0; pointer-events:none; }
        .toast.show { opacity:1; pointer-events:auto; }
        .toast.error { background:var(--place-danger-50); color:var(--place-danger-800); border:1px solid var(--place-danger-200); }
        .toast.success { background:var(--place-primary-light); color:#065f46; border:1px solid #a5b4fc; }

        .login-link { text-align:center; padding:16px; font-size:var(--fs-13); color:var(--place-ink-60); }
        .login-link a { color:var(--place-primary); text-decoration:none; font-weight:600; }
        .login-link a:hover { text-decoration:underline; }

        .terms-check { display:flex; align-items:flex-start; gap:8px; margin-bottom:16px; }
        .terms-check input[type=checkbox] { margin-top:2px; }
        .terms-check label { font-size:var(--fs-13); color:var(--place-ink-60); line-height:1.4; }
        .terms-check a { color:var(--place-primary); }
    
