@charset "utf-8";
/* ============================================================
   (주)하람 A안 서브페이지 스킨 (views/layout/layout_content.php 전용)
   - 헤더/푸터 공통 스타일은 /css/common_a.css
   - CMS 출력 마크업(left_menus, page_locations, tab_menus)은
     구조 변경 없이 스타일만 입힘
   ============================================================ */

/* ============================== 좌측 메뉴 (SNB) ============================== */
div#wrap div#container div#section div.left_menu { width:220px; padding:48px 28px 0 0; }
div#wrap div#container div#section div.left_menu h2 { margin:0; padding:24px 20px; background:var(--ha-green); border-bottom:none; color:#fff; font-size:19px; font-weight:800; line-height:1.4; }
div#wrap div#container div#section div.left_menu h2.no-title { display:none; }
div#wrap div#container div#section div.left_menu h2 img { margin:0; max-width:100%; }

div#wrap div#container div#section div.left_menu > ul { margin:0; padding:0; border-top:2px solid var(--ha-ink); }
div#wrap div#container div#section div.left_menu ul li { margin:0; padding:0; border-bottom:1px solid var(--ha-line); }
div#wrap div#container div#section div.left_menu ul li a { display:block; padding:15px 8px; font-size:15.5px; color:#3d4a42; text-decoration:none; transition:color .2s ease, padding-left .2s ease; }
div#wrap div#container div#section div.left_menu ul li a:hover { color:var(--ha-green); padding-left:14px; }
div#wrap div#container div#section div.left_menu ul li a strong { color:var(--ha-green); font-weight:800; }
/* 현재 메뉴: 좌측 라임 포인트 바 */
div#wrap div#container div#section div.left_menu > ul > li:has(> a > strong) { border-left:3px solid var(--ha-lime); background:var(--ha-bg-soft); }
div#wrap div#container div#section div.left_menu > ul > li:has(> a > strong) > a { padding-left:14px; }
/* 2차 하위메뉴 */
div#wrap div#container div#section div.left_menu ul li ul { margin:0; padding:6px 0; border-top:1px dashed var(--ha-line); background:#fafbf9; }
div#wrap div#container div#section div.left_menu ul li ul li { margin:0 0 0 16px; border:none; }
div#wrap div#container div#section div.left_menu ul li ul li a { padding:9px 8px; font-size:14px; color:var(--ha-gray); }
div#wrap div#container div#section div.left_menu ul li ul li a:hover { color:var(--ha-green); }

/* ============================== 콘텐츠 타이틀 영역 ============================== */
div#wrap div#container div#section div.right_content { border-left:1px solid var(--ha-line); padding:0 0 0 48px; }
div#wrap div#container div#section div.right_content div.content_title { border-bottom:1px solid var(--ha-line); padding-bottom:26px; }

/* 서브 메인 타이틀 배너 (메뉴 설정에 따라 텍스트/이미지) */
div#wrap div#container div#section div.right_content div.content_title div.page_main_title { margin:48px 0 0; background:none; }
div#wrap div#container div#section div.right_content div.content_title div.page_main_title.has-title { padding:52px 0; background:linear-gradient(120deg, var(--ha-green-deep) 0%, var(--ha-green) 100%); color:#fff; text-align:center; font-size:30px; font-weight:800; letter-spacing:-.02em; }
div#wrap div#container div#section div.right_content div.content_title div.page_main_title.has-image { padding:0; }
div#wrap div#container div#section div.right_content div.content_title div.page_main_title.has-image img { display:block; margin:0 auto; }

/* 페이지 타이틀 */
div#wrap div#container div#section div.right_content div.content_title h3 { margin:34px 0 0; font-size:30px; font-weight:800; color:var(--ha-ink); line-height:1.3; }

/* 현재경로 (breadcrumb) */
div#wrap div#container div#section div.right_content div.content_title p { margin:14px 0 0; height:auto; font-size:13px; color:#9aa69f; letter-spacing:.01em; }
div#wrap div#container div#section div.right_content div.content_title p a { color:#9aa69f; text-decoration:none; }
div#wrap div#container div#section div.right_content div.content_title p a:hover { color:var(--ha-green); }
div#wrap div#container div#section div.right_content div.content_title p a:last-child { color:var(--ha-green); font-weight:700; }

/* 탭메뉴 */
div#wrap div#container div#section div.right_content div.content_title div.tab_menu ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:26px 0 0; padding:0; }
div#wrap div#container div#section div.right_content div.content_title div.tab_menu ul li { margin:0; }
div#wrap div#container div#section div.right_content div.content_title div.tab_menu ul li a { display:block; padding:10px 24px; border:1px solid var(--ha-line); border-radius:30px; font-size:14px; color:var(--ha-gray); text-decoration:none; white-space:nowrap; }
div#wrap div#container div#section div.right_content div.content_title div.tab_menu ul li a:hover { border-color:var(--ha-green); color:var(--ha-green); }
div#wrap div#container div#section div.right_content div.content_title div.tab_menu ul li a strong { font-weight:700; }
div#wrap div#container div#section div.right_content div.content_title div.tab_menu ul li a:has(strong) { background:var(--ha-green); border-color:var(--ha-green); color:#fff; }

/* 본문 여백 */
div#wrap div#container div#section div.right_content div.content_body { margin:40px 0 90px 0; }

/* ============================== responsive ============================== */
@media screen and (max-width:1280px) {
	div#wrap div#container div#section div.right_content { border-left:none; padding-left:0; }
	div#wrap div#container div#section div.right_content div.content_title div.page_main_title { margin-top:32px; }
}

@media screen and (max-width:640px) {
	div#wrap div#container div#section div.right_content div.content_title div.page_main_title.has-title { padding:34px 0; font-size:22px; }
	div#wrap div#container div#section div.right_content div.content_title h3 { font-size:24px; }
	/* 제목 배너·h3 가 비어 있어도 여백(32+34px)이 남고, 본문 여백·첫 섹션 여백까지 겹쳐
	   경로 표시와 첫 내용 사이가 150px 넘게 비었다 → 빈 요소는 접고 여백을 줄인다 */
	div#wrap div#container div#section div.right_content div.content_title div.page_main_title:not(.has-title):not(.has-image),
	div#wrap div#container div#section div.right_content div.content_title h3:empty { display:none; }
	div#wrap div#container div#section div.right_content div.content_title { padding-bottom:14px; }
	div#wrap div#container div#section div.right_content div.content_body { margin:0 0 60px; }
	div#wrap .abh .abh-sec, div#wrap .crh .crh-sec, div#wrap .fsl .fsl-sec,
	div#wrap .sfd .sfd-sec, div#wrap .cth .cth-sec { padding-top:52px; }
	div#wrap .abh .abh-sec:first-child, div#wrap .crh .crh-sec:first-child, div#wrap .fsl .fsl-sec:first-child,
	div#wrap .sfd .sfd-sec:first-child, div#wrap .cth .cth-sec:first-child { padding-top:28px; }
}

/* ============================== 좌측메뉴가 비어있는 페이지 ==============================
   사이트 메뉴에 연결되지 않은 게시판(예: 보유인증)은 left_menu 가 <h2 class="no-title"></h2><ul></ul>
   로만 출력되어 220px 빈 칸과 잔선이 남는다. 이때는 칸을 접고 본문을 전체 폭으로 쓴다. */
/* ※ 하위 항목이 없어도 메뉴명(h2.has-title)이 있으면 그대로 둔다 — 파트너스·오시는 길·중앙연구소처럼
   자식 없는 1차 메뉴는 제목 블록만 나오는 게 정상이다.
   접는 대상은 '제목도 없고(h2.no-title) 항목도 없는' 경우뿐 = 사이트 메뉴에 연결 안 된 게시판. */
div#wrap div#container div#section div.left_menu:has(> h2.no-title):has(> ul:empty) { display:none; }
div#wrap div#container div#section div.left_menu:has(> h2.no-title):has(> ul:empty) + div.right_content { border-left:none; padding-left:0; }

/* ============================== 게시판 링크 색 ==============================
   게시판 스킨들이 링크 색을 지정하지 않아 부트스트랩 기본 파란색(#0d6efd)이 그대로 노출된다.
   (첨부파일 다운로드, 이전글/다음글, 목록 카드 등) 디자인이 안 들어간 것처럼 보여 잉크색으로 통일.
   .btn 계열(목록·등록 버튼)은 자체 스타일을 쓰므로 제외한다. 2026-09-10 */
div#wrap div#container .boardViewContainer a:not(.btn),
div#wrap div#container .boardGalleryContainer a:not(.btn),
div#wrap div#container .boardSearch a:not(.btn) { color:var(--ha-ink); }
div#wrap div#container .boardViewContainer a:not(.btn):hover,
div#wrap div#container .boardGalleryContainer a:not(.btn):hover,
div#wrap div#container .boardSearch a:not(.btn):hover { color:var(--ha-green); }
/* 첨부파일 줄은 파일명이 링크임을 알 수 있게 호버 시 밑줄 */
div#wrap div#container .boardViewFile a:not(.btn):hover { text-decoration:underline; }

/* ============================== 게시판 버튼 ==============================
   게시판 스킨은 부트스트랩 기본 버튼(.btn-primary/.btn-outline-secondary/.btn-danger)을 그대로 쓴다.
   파란색·회색 기본값이 A안과 따로 놀아 톤을 맞춘다. 제품 상세 버튼(.pdb-btn-*)과 같은 계열. 2026-09-10 */
div#wrap div#container .boardButton,
div#wrap div#container .manageButton { margin-top:26px; }
div#wrap div#container .boardViewContainer .btn,
div#wrap div#container .boardGalleryContainer .btn,
div#wrap div#container .boardSearch .btn {
	display:inline-block; font-size:14px; font-weight:700; line-height:1.2;
	padding:12px 30px; border-radius:3px; border:1px solid transparent;
	text-decoration:none; box-shadow:none; cursor:pointer;
	transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
/* 보조 동작 (목록·취소) — 라인형 */
div#wrap div#container .boardViewContainer .btn-outline-secondary,
div#wrap div#container .boardGalleryContainer .btn-outline-secondary,
div#wrap div#container .boardSearch .btn-outline-secondary,
div#wrap div#container .boardViewContainer .btn-secondary,
div#wrap div#container .boardGalleryContainer .btn-secondary {
	background:#fff; color:var(--ha-ink); border-color:var(--ha-line);
}
div#wrap div#container .boardViewContainer .btn-outline-secondary:hover,
div#wrap div#container .boardGalleryContainer .btn-outline-secondary:hover,
div#wrap div#container .boardSearch .btn-outline-secondary:hover,
div#wrap div#container .boardViewContainer .btn-secondary:hover,
div#wrap div#container .boardGalleryContainer .btn-secondary:hover {
	background:var(--ha-green); color:#fff; border-color:var(--ha-green);
}
/* 주요 동작 (등록·확인) — 채움형 */
div#wrap div#container .boardViewContainer .btn-primary,
div#wrap div#container .boardGalleryContainer .btn-primary,
div#wrap div#container .boardSearch .btn-primary {
	background:var(--ha-green); color:#fff; border-color:var(--ha-green);
}
div#wrap div#container .boardViewContainer .btn-primary:hover,
div#wrap div#container .boardGalleryContainer .btn-primary:hover,
div#wrap div#container .boardSearch .btn-primary:hover {
	background:var(--ha-green-deep); border-color:var(--ha-green-deep); color:#fff;
}
/* 삭제 — 경고색은 유지하되 채도를 낮춰 A안과 충돌하지 않게 */
div#wrap div#container .boardViewContainer .btn-danger,
div#wrap div#container .boardGalleryContainer .btn-danger {
	background:#fff; color:#b03a2b; border-color:#e3c9c4;
}
div#wrap div#container .boardViewContainer .btn-danger:hover,
div#wrap div#container .boardGalleryContainer .btn-danger:hover {
	background:#b03a2b; color:#fff; border-color:#b03a2b;
}
/* 관리자 일괄처리 버튼 줄은 작게 */
div#wrap div#container .manageButton .btn { padding:9px 20px; font-size:13px; }
div#wrap div#container .boardViewContainer .btn:focus-visible,
div#wrap div#container .boardGalleryContainer .btn:focus-visible {
	outline:2px solid var(--ha-lime); outline-offset:2px;
}

/* ============================== 1:1 문의 하단 버튼 (2026-09-11) ==============================
   온라인 문의 폼도 부트스트랩 기본 버튼이라 [확인]이 파란색(#0d6efd)으로 나왔다 → 게시판 버튼과 같은 A안 톤 */
div#wrap div#container div.online_inquiry .bottom_button .btn-primary { background:var(--ha-green); border-color:var(--ha-green); color:#fff; font-weight:700; }
div#wrap div#container div.online_inquiry .bottom_button .btn-primary:hover { background:var(--ha-green-deep); border-color:var(--ha-green-deep); }
div#wrap div#container div.online_inquiry .btn-outline-secondary { border-color:var(--ha-line); color:var(--ha-ink); background:#fff; }
div#wrap div#container div.online_inquiry .btn-outline-secondary:hover { border-color:var(--ha-green); color:var(--ha-green); background:#fff; }

/* ============================================================
   회원 영역 A안 스킨 (2026-09-23)
   — 회원정보 수정 .member_form(회원가입 공용) / 회원탈퇴 .withdrawContainer
   기본 CMS 스타일(css/default/member.css)이 부트스트랩 파랑·빨강 버튼과
   회색 표 그대로라 디자인이 안 입혀져 보였고, .withdraw 는 width:800px
   고정이라 모바일에서 잘렸다.
   ============================================================ */
div#wrap div#container div.member_form,
div#wrap div#container div.withdrawContainer { max-width:720px; margin:0 auto; padding:10px 0 30px; }

/* 페이지 제목(legend) */
div#wrap div#container div.member_form legend,
div#wrap div#container div.withdrawContainer legend {
	display:block; width:100%; float:none; margin:0 0 22px; padding:0 0 14px;
	border-bottom:2px solid var(--ha-ink); font-size:22px; font-weight:800; color:var(--ha-ink);
}
div#wrap div#container div.member_form fieldset,
div#wrap div#container div.withdrawContainer fieldset { border:none; margin:0; padding:0; }

/* 탈퇴 안내 박스 — 고정폭 800px 해제(모바일 잘림 원인) */
div#wrap div#container div.withdrawContainer .withdraw { width:auto; max-width:none; margin:0; padding:0; border:none; }
div#wrap div#container div.withdrawContainer .titleMsg {
	margin:0 0 20px; padding:16px 18px; background:var(--ha-bg-soft); border-left:3px solid var(--ha-green);
	font-size:14px; line-height:1.75; color:var(--ha-gray); word-break:keep-all;
}

/* 표 → A안 톤 (데스크탑 2단 유지, 모바일 세로 스택은 responsive_a.css) */
div#wrap div#container div.member_form table th,
div#wrap div#container div.withdrawContainer table th {
	padding:15px 12px; background:var(--ha-bg-soft); border:none; border-bottom:1px solid var(--ha-line);
	text-align:left; font-size:14px; font-weight:700; color:var(--ha-ink); vertical-align:top; white-space:nowrap;
}
div#wrap div#container div.member_form table td,
div#wrap div#container div.withdrawContainer table td { padding:12px; border:none; border-bottom:1px solid var(--ha-line); }

/* 입력 요소 — 포커스를 그린으로 */
div#wrap div#container div.member_form .form-control,
div#wrap div#container div.withdrawContainer .form-control { border-color:var(--ha-line); border-radius:2px; }
div#wrap div#container div.member_form .form-control:focus,
div#wrap div#container div.withdrawContainer .form-control:focus { border-color:var(--ha-green); box-shadow:0 0 0 3px rgba(7,102,51,.12); }

/* 안내 문구 */
div#wrap div#container div.member_form p.example,
div#wrap div#container div.withdrawContainer p.example { margin:8px 0 0; font-size:12.5px; line-height:1.7; color:var(--ha-gray); }
div#wrap div#container div.member_form p.example.t_red { color:#b23b3b; }

/* 중복확인 등 인라인 소버튼 */
div#wrap div#container div.member_form .btnChkUnique,
div#wrap div#container div.member_form .btnSearchZipcode {
	border-color:var(--ha-green); color:var(--ha-green); background:#fff; border-radius:2px; margin-top:6px;
}
div#wrap div#container div.member_form .btnChkUnique:hover,
div#wrap div#container div.member_form .btnSearchZipcode:hover { background:var(--ha-green); color:#fff; }

/* 하단 버튼 — 확인 그린 / 탈퇴 확인은 위험동작이라 적색 유지하되 톤다운 / 취소 아웃라인 */
div#wrap div#container div.member_form .bottom_button,
div#wrap div#container div.withdrawContainer .bottom_button { margin:26px 0 0; text-align:center; }
div#wrap div#container div.member_form .bottom_button input.btn-primary {
	background:var(--ha-green); border-color:var(--ha-green); color:#fff; font-weight:700; border-radius:2px; padding:11px 44px;
}
div#wrap div#container div.member_form .bottom_button input.btn-primary:hover { background:var(--ha-green-deep); border-color:var(--ha-green-deep); }
div#wrap div#container div.withdrawContainer .bottom_button input.btn-danger {
	background:#b23b3b; border-color:#b23b3b; color:#fff; font-weight:700; border-radius:2px; padding:11px 44px;
}
div#wrap div#container div.withdrawContainer .bottom_button input.btn-danger:hover { background:#943030; border-color:#943030; }
div#wrap div#container div.member_form .bottom_button input.btn-outline-secondary,
div#wrap div#container div.withdrawContainer .bottom_button input.btn-outline-secondary {
	border-color:var(--ha-line); color:var(--ha-ink); background:#fff; border-radius:2px; padding:11px 44px;
}
div#wrap div#container div.member_form .bottom_button input.btn-outline-secondary:hover { border-color:var(--ha-green); color:var(--ha-green); }
div#wrap div#container div.withdrawContainer .bottom_button input.btn-outline-secondary:hover { border-color:var(--ha-green); color:var(--ha-green); }

/* 탈퇴 하단 경고(alert-warning) — 부트스트랩 노랑 대신 차분한 톤 */
div#wrap div#container div.withdrawContainer .loginAlert {
	margin:20px 0 0; padding:14px 40px 14px 16px; background:#FBF6EA; border:1px solid #E8DCC0; border-radius:2px;
	font-size:13.5px; line-height:1.7; color:#7a6a45; word-break:keep-all;
}
div#wrap div#container div.withdrawContainer .loginAlert p { margin:0; }
/* 캡차(자동입력방지) — withdrawContainer 쪽엔 크기 규칙이 없어 원본 크기로 잘려 보였다 */
div#wrap div#container div.withdrawContainer .reload_captcha { display:inline-block; margin-bottom:8px; }
div#wrap div#container div.withdrawContainer .reload_captcha img { width:180px; height:auto; max-width:100%; border:1px solid var(--ha-line); }
