/* 기본 래퍼 */
.captcha_wrap {
    margin-top: 24px;
    font-family: inherit;
}

/* fieldset 박스 */
.captcha_fieldset {
    padding: 16px 20px 18px;
}

/* legend 숨김(시각장애인용 텍스트만 남기기) */
.captcha_legend {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

/* 헤더 */
.captcha_header {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 12px;
}

.captcha_title {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    letter-spacing: -0.02em;
}

.captcha_desc {
    font-size: 12px;
    color: #6B7280;
}

/* 본문 : 이미지 + 인풋 나란히 */
.captcha_body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

/* 이미지 영역 */
.captcha_img_area {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.captcha_img_box {
    width: fit-content;
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}


.captcha_img_box img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* 버튼 영역 */
.captcha_btn_group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.captcha_btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #D1D5DB;
    background: #FFFFFF;
    font-size: 11px;
    color: #374151;
    cursor: pointer;
    line-height: 1;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

.captcha_btn:hover {
    background: #F3F4F6;
    border-color: #9CA3AF;
    transform: translateY(-1px);
}

/* 아이콘(동그라미) */
.captcha_btn_ico {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 2px solid #9CA3AF;
    display: none;

}



/* 모바일에서 audio 컨트롤 깔끔하게 */
.captcha_audio {
    width: 200px;
}

/* 인풋 영역 */
.captcha_input_area {width: 100%;
}
#captcha #captcha_key{width: 100%; font-size: 14px; margin: 0; letter-spacing: 1px; font-family: 'Pretendard', sans-serif; text-align: unset; padding-left: 10px;}
#captcha #captcha_key::placeholder{font-size: 12px; font-family: 'Pretendard', sans-serif;}
.captcha_input_label {
    display: none;
    font-size: 12px;
    color: #4B5563;
    margin-bottom: 4px;
}

.captcha_input_box {
    position: relative;
}

.captcha_input_box .captcha_box {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 12px;
    border-radius: 10px;
    border: 1px solid #D1D5DB;
    background: #FFFFFF;
    font-size: 13px;
    letter-spacing: 0.22em;
    text-align: center;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.captcha_input_box .captcha_box::placeholder {
    letter-spacing: 0;
    color: #9CA3AF;
}

.captcha_input_box .captcha_box:focus {
    border-color: #2563EB;
    box-shadow: 0 0 0 1px rgba(37,99,235,.2);
    background: #F9FAFF;
}

/* 헬프 텍스트 */
.captcha_help {
    margin-top: 6px;
    font-size: 11px;
    color: #6B7280;
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .captcha_img_area{width: 100%;}

    .captcha_fieldset {
        padding: 8px 0;
        width: 100%;
    }

    .captcha_body {
        flex-direction: column;
        gap: 12px;
    }
    .captcha_btn_group{flex-wrap: nowrap; gap: 8px;}
    .captcha_input_box {
        max-width: 100%;
    }
    .captcha_audio{height: 40px;}

    .captcha_input_box .captcha_box {
        letter-spacing: 0.18em;
    }
    #captcha #captcha_info{margin-top: 8px; font-size: 12px;}
}