/* SNS authentication buttons */
.simple-login-box { margin:24px 0 0 8px; }
.last-login-method { display:none; margin: 24px 0 0; padding: 13px 16px; color: #1769b0; background: #eef6ff; border: 1px solid #b9d9fb; border-radius: 10px; box-shadow: 0 4px 12px rgba(40,120,240,.10); font-size: 14px; font-weight: 600; line-height: 1.4; text-align: center; }
.last-login-provider-name { display:inline-block; font-weight:800; line-height:1.4; vertical-align:baseline; }
.last-login-provider-name.kakao { color:#b49300; }
.last-login-provider-name.naver { color:#00a94f; }
.last-login-provider-name.google { color:#4285f4; }
.provider-separator { color:rgba(0,0,0,.7); font-weight:400; }
.simple-login-title,
.simple-join-title { display:flex; align-items:center; gap:12px; color:rgba(0,0,0,.5); font-size:14px; text-align:center; }
.simple-login-title:before,
.simple-login-title:after,
.simple-join-title:before,
.simple-join-title:after { content:""; height:1px; background:#eee; flex:1; }
.simple-login-title span,
.simple-join-title span { flex:0 0 auto; }
.simple-login-buttons,
.simple-join-buttons { display:flex; flex-direction:column; gap:10px; margin-top:18px; }
.simple-login-button,
.simple-join-button { display:block; width:100%; line-height:0; }
.simple-login-button { box-sizing:border-box; overflow:visible; border:3px solid transparent; border-radius:16px; transition:border-color .2s ease, box-shadow .2s ease; }
.simple-login-button.last-login-provider { border-color:#2878f0; border-radius:20px; box-shadow:0 0 0 4px rgba(40,120,240,.18), 0 6px 16px rgba(40,120,240,.22); }
.simple-login-button img,
.simple-join-button img { display:block; width:100%; height:auto; }
.simple-join-box { margin:16px 0 0; text-align:center; }
.simple-join-box p { margin:0; color:rgba(0,0,0,.5); font-size:16px; }
.simple-join-box a { margin-left:8px; color:#2878f0; font-weight:600; }
.join-select-section { min-height:calc(100vh - 48px); box-sizing:border-box; padding:88px 32px 100px; background:linear-gradient(180deg,#f7faff 0%,#fff 42%); }
.join-select-invite { margin:0 0 44px; }
.join-select-invite .title-box { padding-top:0; }
.join-select-invite .invite-box { margin-bottom:0; }
.join-select-invite .title-box .box-title { color:#24456b; }
.join-select-invite .invite-box { background:#f0f6ff; border-color:#d6e5fb; box-shadow:0 4px 12px rgba(31,91,153,.06); }
.join-select-invite .invite-user { color:#1769b0; }
.join-select-section h2 { margin:0 0 40px; color:#172b4d; text-align:center; font-size:20px; font-weight:700; line-height:1.4; letter-spacing:-.02em; }
.join-select-buttons { display:flex; flex-direction:column; gap:12px; }
.join-select-buttons .simple-join-button { border-radius:16px; box-shadow:0 4px 10px rgba(15,23,42,.06); transition:transform .15s ease,box-shadow .15s ease; }
.join-select-buttons .simple-join-button:active { transform:translateY(1px); box-shadow:0 2px 6px rgba(15,23,42,.08); }
.join-select-buttons.sns { margin-top:28px; }
.join-select-divider { margin-top:28px; }
.join-select-divider:before,
.join-select-divider:after { background:#aebed2; }
.join-select-divider span { color:#718198; font-weight:500; }
.join-select-login { margin:28px 0 0; color:#7a8798; font-size:16px; text-align:center; }
.join-select-login a { margin-left:8px; color:#2878f0; font-weight:700; }
.join-terms-section .essential-agreement-check { width:80%; }
.join-terms-section .agreement-check { width:80%; }

.terms-section { padding-bottom:130px; }
.terms-intro { text-align:center; }
.terms-intro strong { color:#2878f0; font-size:22px; font-weight:600; }
.terms-intro p { margin-top:10px; color:#888; font-size:14px; line-height:1.75; }
.terms-section .title-box { margin-top:36px; }
.terms-section .check-box a { position:relative; z-index:1; }

.merge-modal .merge-box { max-width:280px; padding:12px 14px 14px; border-radius:14px; }
.merge-modal .modal-head { padding:8px 8px 12px; border-bottom:0; }
.merge-modal .modal-head .modal-title { font-size:16px; }
.merge-modal .modal-body { padding:12px 14px 10px; margin:0; overflow:visible; }
.merge-body p { margin:0; color:#222; font-size:14px; line-height:1.6; text-align:center; word-break:keep-all; }
.merge-user-id { margin:14px 0; padding:10px 8px; color:#111; background:#fafafa; border:1px solid #e2e2e2; border-radius:6px; font-size:16px; font-weight:600; text-align:center; }
.merge-modal .modal-foot { padding:0; }
.merge-modal .modal-foot .button-box { display:block; }
.merge-modal .modal-foot .btn { display:flex; width:100%; height:44px; align-items:center; justify-content:center; padding:0; }
