/* =====================================================
   KIEMSTA 2026 SweetAlert 테마 — Pretendard + 사이트 톤
   ===================================================== */

/* 팝업 자체 — 2026-05-07 너비 확대 + 패딩 강화 */
.swal2-popup.n-swal {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', '맑은 고딕', sans-serif !important;
    border-radius: 18px !important;
    padding: 36px 32px 28px !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.26), 0 4px 12px rgba(15, 23, 42, 0.08) !important;
    width: 100% !important;
    max-width: 600px !important;
}

/* 제목 — 더 크게 */
.swal2-popup.n-swal .swal2-title {
    font-family: 'Pretendard', sans-serif !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    color: #0f172a !important;
    line-height: 1.45 !important;
    padding: 6px 0 4px 0 !important;
    letter-spacing: -0.5px !important;
    word-break: keep-all !important;
}

/* 본문 (html / text) — 패딩 + 폰트 키움 + 줄바꿈 자연스럽게 */
.swal2-popup.n-swal .swal2-html-container,
.swal2-popup.n-swal .swal2-content {
    font-family: 'Pretendard', sans-serif !important;
    font-size: 15.5px !important;
    color: #475569 !important;
    line-height: 1.85 !important;
    margin: 18px 12px 10px !important;
    padding: 0 6px !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
}

/* 본문에 단락 (.n-swal-sub) 적용 시 보조 정보 톤 */
.swal2-popup.n-swal .swal2-html-container .n-swal-sub {
    display: block !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px dashed #e2e8f0 !important;
    font-size: 13.5px !important;
    color: #64748b !important;
    line-height: 1.75 !important;
}

.swal2-popup.n-swal .swal2-html-container br {
    line-height: 2 !important;
}

/* 강조 (strong / b) */
.swal2-popup.n-swal .swal2-html-container strong,
.swal2-popup.n-swal .swal2-html-container b {
    color: #0f172a !important;
    font-weight: 700 !important;
}

/* code / inline tag */
.swal2-popup.n-swal .swal2-html-container code {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    padding: 1px 7px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-family: ui-monospace, SFMono-Regular, monospace !important;
}

/* 아이콘 사이즈 — 2026-05-11: success 아이콘 체크 표시 깨짐 fix.
   원인: width/height 60px 로 줄였더니 success 아이콘 내부 line-tip/line-long 의 absolute 위치가 비례 안 맞아 깨짐.
   해결: warning/error/info/question 만 60px 축소, success 는 기본 80px 유지 (line 위치 매칭). */
.swal2-popup.n-swal .swal2-icon.swal2-warning,
.swal2-popup.n-swal .swal2-icon.swal2-error,
.swal2-popup.n-swal .swal2-icon.swal2-info,
.swal2-popup.n-swal .swal2-icon.swal2-question {
    width: 60px !important;
    height: 60px !important;
    margin: 8px auto 14px !important;
    border-width: 3px !important;
}

.swal2-popup.n-swal .swal2-icon.swal2-warning .swal2-icon-content,
.swal2-popup.n-swal .swal2-icon.swal2-error .swal2-icon-content,
.swal2-popup.n-swal .swal2-icon.swal2-info .swal2-icon-content,
.swal2-popup.n-swal .swal2-icon.swal2-question .swal2-icon-content {
    font-size: 36px !important;
}

/* success 아이콘은 기본 크기(80x80) 유지 — 안의 체크 마크 SVG line 위치 보존 */
.swal2-popup.n-swal .swal2-icon.swal2-success {
    margin: 12px auto 18px !important;
}

/* 액션 (버튼 영역) */
.swal2-popup.n-swal .swal2-actions {
    margin: 22px 0 4px !important;
    gap: 10px !important;
}

/* 확인 버튼 — 다크블루 그라데이션 */
.swal2-popup.n-swal .swal2-confirm,
.swal2-popup.n-swal .swal2-styled.swal2-confirm {
    background: linear-gradient(135deg, #2f6fdc 0%, #1e5bb8 100%) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 12px 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: 'Pretendard', sans-serif !important;
    box-shadow: 0 6px 14px rgba(47, 111, 220, 0.28) !important;
    min-width: 110px !important;
    transition: transform .15s, box-shadow .15s !important;
}

.swal2-popup.n-swal .swal2-confirm:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(47, 111, 220, 0.36) !important;
}

/* 취소 버튼 — 회색 */
.swal2-popup.n-swal .swal2-cancel,
.swal2-popup.n-swal .swal2-styled.swal2-cancel {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: 'Pretendard', sans-serif !important;
    min-width: 100px !important;
    transition: background .15s !important;
}

.swal2-popup.n-swal .swal2-cancel:hover {
    background: #e2e8f0 !important;
}

/* danger (icon=warning) — 확인 버튼 빨강 */
.swal2-popup.n-swal.swal2-icon-warning .swal2-confirm,
.swal2-popup.n-swal.swal2-icon-error .swal2-confirm {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
    box-shadow: 0 6px 14px rgba(220, 38, 38, 0.28) !important;
}

.swal2-popup.n-swal.swal2-icon-warning .swal2-confirm:hover,
.swal2-popup.n-swal.swal2-icon-error .swal2-confirm:hover {
    box-shadow: 0 10px 22px rgba(220, 38, 38, 0.36) !important;
}

/* success — 초록 */
.swal2-popup.n-swal.swal2-icon-success .swal2-confirm {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%) !important;
    box-shadow: 0 6px 14px rgba(22, 163, 74, 0.28) !important;
}

/* 백드롭 살짝 어둡게 */
.swal2-container.n-swal-backdrop {
    background: rgba(15, 23, 42, 0.55) !important;
    backdrop-filter: blur(2px) !important;
}

/* timer progress bar */
.swal2-popup.n-swal .swal2-timer-progress-bar {
    background: linear-gradient(90deg, #2f6fdc, #1e5bb8) !important;
    height: 3px !important;
}

/* input (prompt) */
.swal2-popup.n-swal .swal2-input,
.swal2-popup.n-swal .swal2-textarea {
    font-family: 'Pretendard', sans-serif !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.swal2-popup.n-swal .swal2-input:focus,
.swal2-popup.n-swal .swal2-textarea:focus {
    border-color: #2f6fdc !important;
    box-shadow: 0 0 0 3px rgba(47, 111, 220, 0.15) !important;
}
