@charset "utf-8";

/* ============================================================
   0) anchor 상속 보강 — 퍼블 reset.css 의 `* { font-size: 62.5% }`
      가 동적으로 추가된 <a> 자식까지 작아지는 문제 해결.
      nav/dropdown 등 명시적으로 font-size 지정된 곳은 더 높은
      specificity 로 우선 적용되므로 영향 없음.
   ============================================================ */
a {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

/* ============================================================
   0-1) .new_con 컨테이너 — PHP 사용자 페이지 글자 크기 보강
        퍼블 reset 의 `* { font-size: 62.5% }` 영향으로 자식 요소
        (p/span/div/li/td 등) 가 누적해서 작아지는 문제 해결.
        sub.css 의 폼 디자인 토큰(info_field 20px / info_txt 18px /
        basic_subject 22px) 과 어울리도록 부모를 18px 로 명시하고
        자식은 inherit 으로 통일. sub.css 의 클래스 기반 디자인
        (예: .qa_desc 18px) 은 더 specific 해서 그대로 우선 적용됨.
   ============================================================ */
.new_con {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
}
.new_con p,
.new_con span,
.new_con div,
.new_con ul,
.new_con ol,
.new_con li,
.new_con table,
.new_con thead,
.new_con tbody,
.new_con tfoot,
.new_con tr,
.new_con td,
.new_con th,
.new_con label,
.new_con dt,
.new_con dd,
.new_con dl,
.new_con strong,
.new_con em,
.new_con b,
.new_con i {
    /* font-size: inherit;
    line-height: inherit; */
}
.new_con h2 { font-size: 28px; font-weight: 700; line-height: 1.3; }
.new_con h3 { font-size: 22px; font-weight: 600; line-height: 1.4; }
.new_con h4 { font-size: 20px; font-weight: 600; line-height: 1.4; }
.new_con small { font-size: 13px; color: #888; }

/* .basic_info 폼 내부 글자 크기 통일 — membership02.html 퍼블원본 디자인 토큰 일치
   - .basic_subject (그룹 헤더): 26px / 700 — 항목과 충분한 계층 위계
   - .info_field / select / p (입력 필드 + 단위 텍스트): 20px (sub.css 명시)
   - .radio_group label (라디오/체크박스 라벨): 18px (sub.css 명시, 의도)
   - .info_txt 안내: 18px / option: 16px / small: 14px */
.new_con .basic_subject { font-size: 24px; font-weight: 700; color: #222; padding-bottom: 10px; border-bottom: 2px solid #333; }
.new_con .basic_info ul .info_desc { font-size: 20px; color: #444; }
.new_con .basic_info ul .info_desc .info_txt { font-size: 18px; color: #888; }
.new_con .basic_info ul .info_desc .radio_group label { font-size: 18px; color: #444; }
.new_con .basic_info ul .info_desc small { font-size: 14px; color: #888; }

/* .new_sub_tit p 글자 크기 — .sub_tit h4 (25px) 와 일치시켜 통일 */
.new_sub_tit p { font-size: 25px; }

/* 프리미엄 PICK placeholder li — .lease_btn 하단 여백 보강
   (데이터 있는 li 의 .lease_add 가 margin-bottom:30px 인 것과 일치) */
.lease_prim_pick .lease_prim_pick_list .lease_btn { margin-bottom: 30px; }

/* 하이닥터 PHP 페이지 보강 CSS
   디자인 토큰 (sub.css 의 .qa_list 기준)
   - 제목: 20px
   - 본문/내용/desc: 18px
   - 메타(날짜·조회): 16~18px
   - 뱃지/태그: 16px
   - 큰 제목(h2): 28px
*/

/* ============================================================
   1) 폼 요소 — qa_desc(18px) 와 동일하게 통일
   ============================================================ */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="time"],
input[type="file"],
select,
textarea,
button {
    font-size: 18px;
    line-height: 1.5;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}
label { font-size: 18px; line-height: 1.6; color: #333; }
::placeholder { color: #b0b0b0; opacity: 1; font-size: 18px; }

/* ============================================================
   2) PHP 페이지 본문 영역 — qa 디자인 토큰
   ============================================================ */
#container .php-content,
#container .php-content p,
#container .php-content li,
#container .php-content span,
#container .php-content td,
#container .php-content th,
#container .php-content div,
#container .php-content label,
#container .php-content a {
    font-size: 18px;
    line-height: 1.6;
}
#container .php-content h1 { font-size: 32px; font-weight: 700; line-height: 1.3; }
#container .php-content h2 { font-size: 28px; font-weight: 700; line-height: 1.3; }
#container .php-content h3 { font-size: 22px; font-weight: 600; line-height: 1.4; }
#container .php-content h4 { font-size: 20px; font-weight: 600; line-height: 1.4; }
#container .php-content h5 { font-size: 18px; font-weight: 600; }
#container .php-content strong { font-weight: 600; }
#container .php-content small { font-size: 14px; color: #888; }
#container .php-content .meta { font-size: 16px; color: #888; }

/* ============================================================
   3) 테이블 — qa 디자인 (제목 20px, 본문 18px)
   ============================================================ */
.tbl-list { width: 100%; border-collapse: collapse; }
.tbl-list thead th {
    background: #f7f5f2;
    padding: 14px 12px;
    border-top: 2px solid #333;
    border-bottom: 1px solid #ddd;
    font-weight: 600;
    color: #333;
    font-size: 18px;
}
.tbl-list tbody td {
    padding: 16px 12px;
    border-bottom: 1px solid #eee;
    font-size: 18px;
    color: #555;
}
.tbl-list tbody tr:hover { background: #fafafa; }
.tbl-list .tc { text-align: center; }
.tbl-list a { color: #222; text-decoration: none; font-size: 18px; }
.tbl-list a:hover { text-decoration: underline; color: #976A4D; }
.tbl-list td.subject a { font-size: 20px; }  /* 제목 컬럼 — qa_tit */

/* ============================================================
   4) 카드/버튼/플래시 유틸
   ============================================================ */
.card {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    padding: 32px;
}
.card p, .card div, .card li, .card label, .card span { font-size: 18px; }
.card h2 { font-size: 28px; font-weight: 700; }
.card h3 { font-size: 22px; font-weight: 600; }

.flash {
    padding: 14px 18px;
    border-radius: 6px;
    margin-bottom: 14px;
    font-size: 16px;
}
.flash.ok  { background: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; }
.flash.err { background: #ffebee; color: #c62828; border: 1px solid #ffcdd2; }

/* ============================================================
   5) 페이지네이션
   ============================================================ */
.pagination a {
    font-size: 16px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ============================================================
   6) 검색바(.search_con) — sub.css 의 li p 와 일치 (20px)
   ============================================================ */
.search_con .search_list ul li select,
.search_con .search_list ul li input {
    font-size: 20px !important;
    color: #555;
    background: transparent;
    border: none;
    outline: none;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    text-align: center;
}
.search_con .search_list ul li select:focus,
.search_con .search_list ul li input:focus {
    outline: none;
    box-shadow: none;
}
/* select 박스 — appearance:none 으로 사라진 기본 화살표 대체 (li::after 로 처리하여 회전 가능) */
.search_con .search_list ul li {
    position: relative;
}
.search_con .search_list ul li select {
    padding-right: 22px !important;
}
.search_con .search_list ul li:has(select)::after {
    content: '';
    position: absolute;
    right: 20px;
    top: 50%;
    width: 12px;
    height: 8px;
    margin-top: -4px;
    background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23976A4D' d='M6 8L0 0h12z'/%3E%3C/svg%3E") no-repeat center;
    transition: transform 0.25s ease;
    pointer-events: none;
}
/* select 클릭/포커스 시 화살표 회전 (옵션 목록 열림 효과) */
.search_con .search_list ul li:has(select:focus)::after {
    transform: rotate(180deg);
}
/* option 글자 크기 — select 본체 텍스트(20px) 와 통일 */
.search_con .search_list ul li option {
    font-size: 20px;
    color: #555;
    background: #fff;
    padding: 8px;
}
/* invite 검색바 — 항목 3개라 li 너비 확장하여 search_list 영역을 균형있게 채움 */
.search_con.search_invi .search_list ul {
    justify-content: flex-start;
    margin-left: 30px;
    gap: 30px;
}
.search_con.search_invi .search_list ul li {
    width: 180px;
}
/* lease 검색바 — 항목 5개 중 "추가정보" 옵션이 7글자(랜트프리 가능 등)라 li 100px 콘텐츠 영역 부족.
   li 140px 로 확장하고 gap 18px 로 조정해 search_list 영역(60%) 내에 맞춤 */
.search_con.search_lease .search_list ul {
    gap: 18px;
}
.search_con.search_lease .search_list ul li {
    width: 140px;
}

/* 임대분양 카드 이미지 — 모든 페이지 (메인/서브) 의 PICK/프리미엄 이미지 박스 cover.
   업로드된 원본이 크더라도 박스 안에 자르고 텍스트 영역 침범 방지. */
.lease_pick_img, .lease_img, .prim_list_img {
    overflow: hidden;
}
.lease_pick_img img,
.lease_img img,
.prim_list_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.search_con .search_sec input {
    font-size: 20px !important;
    color: #555;
    background: transparent;
    border: none;
    width: 100%;
    outline: none;
    margin-left: 50px;
}
.search_con .search_btn {
    border: none;
    background: #976A4D;
    cursor: pointer;
}
.search_con form { display: contents; }

/* ============================================================
   7) Q&A 검색 박스 — 퍼블원본 sub04.html 디자인 유지
      .qa_search: 330×60 갈색 테두리 박스 / 좌측 input + 우측 80px 갈색 버튼
   ============================================================ */
.qa_search {
    align-items: center;        /* sub.css 의 display:flex 보강 — 수직 가운데 정렬 */
}
.qa_search .qa_search_input {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    border: none !important;
    outline: none;
    background: transparent;
    padding: 0 25px;
    height: 56px;
    font-size: 20px !important;
    color: #555;
    box-sizing: border-box;
}
.qa_search .qa_search_input::placeholder { color: #CDCDCD; font-size: 20px; }
.qa_search button.qa_search_box {
    flex: 0 0 80px;
    width: 80px;
    height: 56px;
    background: #976A4D url("/img/sub/search_icon.svg") no-repeat center;
    background-size: 24px auto;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
/* img 요소는 background-image 로 대체됐으므로 숨김 (퍼블원본 마크업 유지를 위해 요소는 남김) */
.qa_search button.qa_search_box .qa_search_icon { display: none; }

/* ============================================================
   8) 메인 로그인 박스 input — main.css/sub.css 의 .id/.pw 컨테이너 안에서
      투명한 input 으로 동작. font-size 는 inherit 하여 컨테이너 스타일을 따름.
   ============================================================ */
.login_box .login_con .id input,
.login_box .login_con .pw input,
.login_box .login_con input.id,
.login_box .login_con input.pw {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-family: inherit;
    color: #333;
    line-height: inherit;
}
.login_box .login_con input.id::placeholder,
.login_box .login_con input.pw::placeholder,
.login_box .login_con .id input::placeholder,
.login_box .login_con .pw input::placeholder { color: #888; font-size: inherit; }

.login_box .login_con button.login {
    border: 0;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}
.login_box button.join_mem {
    border: 1px solid #694F3E;
    background: transparent;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    display: block;
}

/* ============================================================
   12) 신규 퍼블 — .login_wrap (로그인 페이지) input/button 정렬
   ============================================================ */
.login_wrap .login_box .login_con .id_pw_con { display: block; }

/* ============================================================
   13) 신규 퍼블 — .find_box (아이디·비번 찾기/세미나 확인)
        Publishing 구조: <div class="id"><input></div>
   ============================================================ */
.find_box .id_pw_con .id input,
.find_box .id_pw_con .name input,
.find_box .id_pw_con .email input,
.find_box .id_pw_con .pw input,
.find_box .id_pw_con input.id,
.find_box .id_pw_con input.name,
.find_box .id_pw_con input.email,
.find_box .id_pw_con input.pw {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
    border: 0;
    outline: 0;
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-family: inherit;
    color: #333;
    line-height: inherit;
}
.find_box .id_pw_con input::placeholder,
.find_box .id_pw_con .id input::placeholder,
.find_box .id_pw_con .name input::placeholder,
.find_box .id_pw_con .email input::placeholder,
.find_box .id_pw_con .pw input::placeholder { color: #888; }
.find_box button.check {
    border: 0;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    display: block;
}

/* ============================================================
   14) 신규 퍼블 — .basic_info .info_field (회원가입·세미나 신청 폼)
   ============================================================ */
.basic_info ul .info_desc input.info_field,
.basic_info ul .info_desc textarea.info_field,
.basic_info ul .info_desc select {
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    background-color: #fff;
    font-family: inherit;
    /* width/height/font-size/padding/border 는 sub.css 의 .info_field 에서 상속 */
}
.basic_info ul .info_desc textarea.info_field {
    line-height: 1.5;
    resize: vertical;
}
.basic_info ul .info_desc select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px !important;
    cursor: pointer;
}
.basic_info ul .info_desc input.info_field:focus,
.basic_info ul .info_desc textarea.info_field:focus,
.basic_info ul .info_desc select:focus {
    border-color: #9D7B65 !important;
    outline: 0;
}
.basic_info ul .info_desc input.info_field::placeholder { color: #b5b5b5; }
.basic_info ul .info_desc .automatic {
    border: 0;
    cursor: default;
    font-family: inherit;
}

/* ============================================================
   15) 신규 퍼블 — form_btn ul (publishing 의 width/bg/color 를 유지하고
        line-height 만 보강하여 텍스트 가운데 정렬)
   ============================================================ */
.form_btn ul { list-style: none; padding: 0; margin: 0; }
.form_btn ul li { line-height: 70px; transition: all 0.2s ease; }
.form_btn ul li.click_btn:hover { background: #533B2C; }
.form_btn ul li:not(.click_btn):hover { background: #999; }

/* ============================================================
   16) 신규 퍼블 — .regis_con (회원가입 유형선택 카드)
   ============================================================ */
.regis_con ul { list-style: none; padding: 0; margin: 0; }
.regis_con ul li {
    border: 1px solid #E4E4E4;
    background: #fff;
    transition: all 0.2s ease;
}
.regis_con ul li:hover {
    border-color: #9D7B65;
    box-shadow: 0 6px 18px rgba(157,123,101,0.15);
    transform: translateY(-4px);
}

/* ============================================================
   17) 신규 퍼블 — .radio_group input
   ============================================================ */
.radio_group label { cursor: pointer; }

/* ============================================================
   18) 신규 퍼블 — .btn_zip (우편번호 찾기 버튼)
   ============================================================ */
.btn_zip { font-family: inherit; }

/* ============================================================
   9) 댓글/답글 영역 (Q&A, 닥스방 보기)
   ============================================================ */
.comment-list .comment-item { padding: 16px 0; border-bottom: 1px solid #eee; }
.comment-list .comment-meta { font-size: 14px; color: #888; }
.comment-list .comment-body { font-size: 18px; line-height: 1.7; margin-top: 8px; }

/* ============================================================
   10) CKEditor 5 출력 본문 (사용자가 작성한 글 보기)
       — qa_desc(18px) 와 일치
   ============================================================ */
.post-content { font-size: 18px; line-height: 1.8; color: #333; max-width: 1080px; }
.post-content p { font-size: 18px; line-height: 1.8; margin-bottom: 0.6em; }
.post-content li { font-size: 18px; line-height: 1.8; }
.post-content span, .post-content div { font-size: 18px; }
.post-content h1 { font-size: 32px; font-weight: 700; margin: 0.8em 0 0.4em; line-height: 1.3; }
.post-content h2 { font-size: 28px; font-weight: 700; margin: 0.8em 0 0.4em; line-height: 1.3; }
.post-content h3 { font-size: 22px; font-weight: 600; margin: 0.7em 0 0.3em; line-height: 1.4; }
.post-content h4 { font-size: 20px; font-weight: 600; margin: 0.6em 0 0.3em; line-height: 1.4; }
.post-content blockquote {
    font-size: 18px;
    padding: 14px 20px;
    border-left: 4px solid #976A4D;
    background: #f9f5f1;
    margin: 1em 0;
    color: #555;
}
.post-content table { font-size: 18px; border-collapse: collapse; width: 100%; margin: 0.5em 0; }
.post-content table td, .post-content table th { padding: 10px 12px; border: 1px solid #ddd; font-size: 18px; }
.post-content table th { background: #f7f5f2; font-weight: 600; }
.post-content img, .post-content figure img { max-width: 100%; height: auto; }
.post-content figure { margin: 1em 0; }
.post-content figure.image figcaption { font-size: 14px; color: #888; text-align: center; margin-top: 6px; }
.post-content a { color: #976A4D; text-decoration: underline; }
.post-content strong { font-weight: 600; }
.post-content hr { border: none; border-top: 1px solid #ddd; margin: 1em 0; }

.ck-editor__editable_inline { min-height: 350px; font-size: 18px !important; line-height: 1.7 !important; }
.ck-content { font-size: 18px; }

/* ============================================================
   11) 게시판 view 페이지 공통 — 제목/메타 통일
   ============================================================ */
.view-header {
    padding-bottom: 18px;
    border-bottom: 2px solid #333;
    margin-bottom: 24px;
}
.view-header .view-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    margin: 10px 0;
    color: #222;
}
.view-header .view-meta {
    font-size: 16px;
    color: #888;
    margin-top: 8px;
}
.view-header .view-badge {
    display: inline-block;
    padding: 4px 12px;
    background: #f7f5f2;
    border: 1px solid #976A4D;
    border-radius: 360px;
    font-size: 14px;
    color: #976A4D;
    margin-right: 6px;
}
.view-footer {
    margin-top: 40px;
    text-align: center;
}
.view-footer .btn-list {
    display: inline-block;
    padding: 12px 32px;
    border: 1px solid #333;
    color: #333;
    text-decoration: none;
    font-size: 18px;
    border-radius: 4px;
}
.view-footer .btn-list:hover { background: #333; color: #fff; }

/* ============================================================
   11) 닥스방 공통 버튼 ([C56] 도입 → [C57] site.css 로 이전)
       <a> 와 <button> 은 기본 박스모델이 달라(테두리·line-height)
       같은 padding 을 줘도 높이가 어긋난다. inline-flex + 고정 height
       + box-sizing:border-box + line-height:1 로 강제 일치시킨다.
   ============================================================ */
.drs_btn {
    display: inline-flex; align-items: center; justify-content: center;
    box-sizing: border-box; border: 1px solid transparent; border-radius: 4px;
    height: 44px; padding: 0 22px;
    font-family: inherit; font-size: 16px; font-weight: 500; line-height: 1;
    text-decoration: none; white-space: nowrap; vertical-align: middle; cursor: pointer;
}
.drs_btn.gray    { background: #666;    color: #fff; border-color: #666; }
.drs_btn.brown   { background: #9D7B65; color: #fff; border-color: #9D7B65; font-weight: 600; }
.drs_btn.dark    { background: #333;    color: #fff; border-color: #333; }
.drs_btn.outline { background: #fff;    color: #333; border-color: #333; }
.drs_btn.light   { background: #fff;    color: #555; border-color: #DCDCDC; font-size: 15px; padding: 0 16px; }
.drs_btn.danger  { background: #fff;    color: #c33; border-color: #c33; }
.drs_btn.gray:hover    { background: #555; }
.drs_btn.brown:hover   { background: #8A6B58; }
.drs_btn.dark:hover    { background: #222; }
.drs_btn.outline:hover { background: #f7f7f7; }
.drs_btn.light:hover   { background: #f7f7f7; }
.drs_btn.danger:hover  { background: #fff5f5; }

/* 글 하단 액션 묶음 (답글/수정/삭제/목록) */
.drs_actions { margin: 30px 0; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; align-items: center; }
.drs_actions form { display: inline-flex; margin: 0; }

@media (max-width: 480px) {
    .drs_btn { height: 42px; padding: 0 16px; font-size: 15px; }
}
