/* starbucks-consult — 스타벅스 전용 상담 ⋅ Q&A 신청(입력폼 접수) 화면 전용 서식(R41)
 * 표·입력칸·버튼은 다른 신청 화면과 같은 원본 스킨(qa3-style.css · qa3-bootstrap_board.css)을 쓴다.
 * 여기서는 원본에 없던 요소 — 안내·오류 문구, 단일선택·체크박스·첨부 칸, 동의 줄, 약관 팝업 — 만 정한다.
 * 글꼴은 default.css 의 input/button/select 선언(PT Sans)을 그대로 물려받는다.
 */

/* 제목이 다른 신청 화면보다 길어 좁은 화면에서 낱말 가운데가 끊긴다("신/청") — 낱말 단위로만 줄바꿈 */
.content.subContent > h3 {
    word-break: keep-all;
}

/* 안내·오류·완료 문구 — 다른 신청 화면(pages/support-board-support-apply.css)과 같은 모양 */
.ahb-form-msg {
    margin: 10px 0;
    padding: 10px 14px;
    background: #f5f7fa;
    border: 1px solid #e1e5ea;
    border-radius: 3px;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}
.ahb-form-msg.is-error {
    background: #fdf2f2;
    border-color: #f0c8c8;
    color: #c0392b;
}
.ahb-form-msg.is-done {
    padding: 30px 14px;
    text-align: center;
    font-size: 15px;
}
.ahb-form-msg:focus {
    outline: none;
}

/* 어드민 폼 설명 — 줄바꿈을 그대로 보인다 */
.consult_guide {
    margin: 0 0 20px;
    padding: 16px 20px;
    background: #f5f7fa;
    border: 1px solid #e1e5ea;
    color: #444;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
    white-space: pre-line;
}

/* 입력칸 — 높이·테두리는 원본 .tbl_wrap td .form-control 이 준다. 폭만 정한다. */
#fconsult {
    width: 100%;
}
#fconsult .tbl_wrap td .form-control {
    width: 100%;
    max-width: 420px;
    color: #333;
}
#fconsult .tbl_wrap td textarea.form-control {
    max-width: none;
    height: auto;
    min-height: 200px;
    padding: 10px 15px;
    line-height: 1.6;
    resize: vertical;
}

/* 체크박스 항목 — 선택지를 한 줄에 늘어놓고 넘치면 줄바꿈 */
#fconsult .consult_checks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    padding: 6px 0;
}
#fconsult .consult_check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    color: #333;
    cursor: pointer;
}
#fconsult .consult_check input {
    margin: 0;
}

/* 첨부 항목 */
#fconsult .consult_file {
    font-size: 14px;
}
#fconsult .consult_file_note {
    margin-top: 6px;
    font-size: 13px;
    color: #888;
}

/* 동의 줄 — 표 아래, 신청 버튼 위 */
.consult_agree {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin: 20px 0 0;
    padding: 16px 20px;
    border: 1px solid #d5d5d5;
    background: #fafafa;
    text-align: left;
}
.consult_agree input[type="checkbox"] {
    flex: none;
    width: 16px;
    height: 16px;
    margin: 0;
}
.consult_agree label {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: #2d2d2d;
    cursor: pointer;
}
.consult_agree_more {
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    color: #4c4c4c;
    font-size: 13px;
    line-height: 1.2;
}
.consult_agree_more:hover,
.consult_agree_more:focus {
    background: #f2f2f2;
    color: #333;
    text-decoration: none;
}

#fconsult .btn_confirm {
    margin-top: 30px;
}
#fconsult .btn_confirm .btn-pack {
    font-size: 15px;
}
#fconsult .btn_confirm .btn-pack[disabled] {
    opacity: .6;
    cursor: default;
}

/* 약관 팝업(dialog) — 막은 ::backdrop, 상자는 안쪽 .consult_terms_box 가 패딩을 갖는다(막 클릭 판정) */
.consult_terms {
    width: 720px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 64px);
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: #fff;
    color: #333;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.consult_terms::backdrop {
    background: rgba(0, 0, 0, .5);
}
.consult_terms[open] {
    display: flex;
}
.consult_terms_box {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: calc(100vh - 64px);
}
.consult_terms_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 24px;
    border-bottom: 1px solid #e2e2e2;
}
.consult_terms_title {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    color: #2d2d2d;
}
.consult_terms_x {
    flex: none;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: none;
    color: #666;
    font-size: 24px;
    line-height: 1;
}
.consult_terms_x:hover,
.consult_terms_x:focus {
    color: #000;
}
.consult_terms_body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 20px 24px;
    overflow-y: auto;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: -0.025em;
    color: #555;
    text-align: left;
}
.consult_terms_body .is-error {
    color: #c0392b;
}
/* 약관 본문은 어드민 HTML(문단·목록·표) — 원본 reset 이 여백을 걷어 놓아 직접 준다 */
.consult_terms_body [data-ahb-terms-content] > * + * {
    margin-top: 12px;
}
.consult_terms_body [data-ahb-terms-content] strong {
    font-weight: 600;
    color: #2d2d2d;
}
.consult_terms_body [data-ahb-terms-content] ul,
.consult_terms_body [data-ahb-terms-content] ol {
    padding-left: 18px;
    list-style: disc outside;
}
.consult_terms_body [data-ahb-terms-content] ol {
    list-style: decimal outside;
}
.consult_terms_body [data-ahb-terms-content] li {
    list-style: inherit;
}
.consult_terms_body [data-ahb-terms-content] table {
    width: 100%;
    border-collapse: collapse;
}
.consult_terms_body [data-ahb-terms-content] th,
.consult_terms_body [data-ahb-terms-content] td {
    padding: 6px 8px;
    border: 1px solid #e0e0e0;
    text-align: left;
    vertical-align: top;
}
.consult_terms_body [data-ahb-terms-content] a {
    color: #555;
    text-decoration: underline;
}
.consult_terms_foot {
    padding: 14px 24px 20px;
    border-top: 1px solid #e2e2e2;
    text-align: center;
}
.consult_terms_foot .btn-pack {
    font-size: 15px;
}

@media (max-width: 768px) {
    .consult_agree {
        padding: 14px;
    }
    .consult_terms_head,
    .consult_terms_body,
    .consult_terms_foot {
        padding-left: 16px;
        padding-right: 16px;
    }
}
