@charset "utf-8";
/* ============================================================================
   파일명 : board-write-20260318_160950_r001.css
   목적 : 게시판 글쓰기 / 수정 폼 스타일 정리
   기준 : reset.css 반영 이후 form control 높이 및 간격 보정
   원칙 :
   - 기존 클래스명 유지
   - 모바일 기준 운영 구조 유지
   - 반응형 추가 조정은 보류하고 기존 구간만 유지
   - input / select / button / textarea의 reset 영향은 본 파일에서 명시적으로 제어
   ============================================================================ */

/* -----------------------------------------------------------------------------
   [01] 기본 테이블 / 에디터 / 래퍼
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr th {border:1px solid #d9d9d9;padding:8px 4px;}
div.frm-post-new table tr td {border:1px solid #d9d9d9;padding:8px 4px;text-align:left;}
div.frm-post-new table tr td.att-title {background-color:#fdfdfd;font-weight:500;}
div.frm-post-new table tr td div.note-editor img {max-width:100%;}
div.frm-post-new table tr td div.post-add-form {display:block;width:99%;box-sizing:border-box;margin:0 auto;}
div.frm-post-new table tr td div.post-add-form a,
div.frm-post-new table tr td div.post-add-form a:visited {color:#0033ff;}

/* -----------------------------------------------------------------------------
   [02] 행 / 제목 / 설명문
   - reset.css 에서 label, input, select 공통 기본값만 남겼으므로
   - board-write 에서 실제 간격과 배치를 명시적으로 고정
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr td div.post-add-form div.post-add-form-row {display:block;margin-bottom:14px;line-height:1.5;}

/* 기존 span 구조와 php 템플릿의 label 구조를 모두 수용 */
div.frm-post-new table tr td div.post-add-form div.post-add-form-row span.form-item-title,
div.frm-post-new table tr td div.post-add-form div.post-add-form-row label.form-item-title {
	display:block;
	margin:0 0 6px;
	padding:0;
	line-height:1.35;
	font-weight:400;
}

div.frm-post-new table tr td div.post-add-form div.post-add-form-row span.form-item-title-content,
div.frm-post-new table tr td div.post-add-form div.post-add-form-row label.form-item-title span.form-item-title-content {
	display:inline-block;
	font-weight:700;
	color:#222;
}

div.frm-post-new table tr td div.post-add-form div.post-add-form-row span.isRequired,
div.frm-post-new table tr td div.post-add-form div.post-add-form-row label.form-item-title span.isRequired {
	display:inline-block;
	margin:0 0 0 3px;
	padding:0 2px;
	font-size:11px;
	font-weight:600;
	color:#cc3366;
}

div.frm-post-new table tr td div.post-add-form div.post-add-form-row span.form-item {
	display:flex;
	width:100%;
	flex-wrap:wrap;
	align-items:flex-start;
}

/* 기존 구조 유지: padding-left-10 클래스가 있더라도 모바일 운영 기준으로 간격 최소화 */
div.frm-post-new table tr td div.post-add-form div.post-add-form-row span.form-item.padding-left-10 {
	padding-left:0;
}

div.frm-post-new table tr td div.post-add-form div.post-add-form-row span.form-item p.form-item-desc,
div.frm-post-new table tr td div.post-add-form div.post-add-form-row p.form-item-desc {
	display:block;
	width:100%;
	margin:0;
	padding:0;
	font-size:12px;
	font-weight:400;
	line-height:1.45;
	color:#6688e3;
}

/* -----------------------------------------------------------------------------
   [03] form control normalize
   - reset.css 에서 width:100%, height 강제가 제거되었으므로 여기서 명시
   - 글쓰기 폼 기본 높이 30px
   - textarea 는 높이 강제 대신 패딩과 line-height 정리
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr td div.post-add-form input,
div.frm-post-new table tr td div.post-add-form select,
div.frm-post-new table tr td div.post-add-form textarea {
	box-sizing:border-box;
	width:100%;
	max-width:100%;
	font-size:13px;
	color:#333;
	background-color:#fff;
	border:1px solid #d3d6dc;
}

/* 텍스트 계열 / url / email / password / tel / date / number / search / select */
div.frm-post-new table tr td div.post-add-form input[type="text"],
div.frm-post-new table tr td div.post-add-form input[type="password"],
div.frm-post-new table tr td div.post-add-form input[type="email"],
div.frm-post-new table tr td div.post-add-form input[type="url"],
div.frm-post-new table tr td div.post-add-form input[type="number"],
div.frm-post-new table tr td div.post-add-form input[type="search"],
div.frm-post-new table tr td div.post-add-form input[type="tel"],
div.frm-post-new table tr td div.post-add-form input[type="date"],
div.frm-post-new table tr td div.post-add-form input[type="datetime-local"],
div.frm-post-new table tr td div.post-add-form input[type="time"],
div.frm-post-new table tr td div.post-add-form select {
	display:block;
	height:30px;
	min-height:30px;
	margin:0 0 6px;
	padding:0 8px;
	line-height:28px;
	vertical-align:middle;
}

/* select 화살표 영역 보정 */
div.frm-post-new table tr td div.post-add-form select {
	padding:0 28px 0 8px;
	background-color:#fff;
}

/* textarea */
div.frm-post-new table tr td div.post-add-form textarea {
	display:block;
	min-height:78px;
	margin:0 0 6px;
	padding:8px;
	line-height:1.45;
	resize:vertical;
}

/* file input 은 높이 강제 제외 */
div.frm-post-new table tr td div.post-add-form input[type="file"] {
	display:block;
	width:auto;
	height:auto;
	min-height:0;
	margin:0 0 8px;
	padding:0;
	border:0;
	background:none;
	line-height:normal;
}

/* checkbox / radio 는 기존 네이티브 유지 */
div.frm-post-new table tr td div.post-add-form input[type="checkbox"],
div.frm-post-new table tr td div.post-add-form input[type="radio"] {
	display:inline-block;
	width:auto;
	height:auto;
	min-height:0;
	margin:0 4px 0 0;
	padding:0;
	border:0;
	background:none;
	line-height:normal;
	vertical-align:middle;
}

/* button input 예외 처리 : 우편번호 검색 등 */
div.frm-post-new table tr td div.post-add-form input[type="button"],
div.frm-post-new table tr td div.post-add-form input[type="submit"],
div.frm-post-new table tr td div.post-add-form input[type="reset"] {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:auto;
	min-width:90px;
	height:30px;
	padding:0 10px;
	margin:0 0 6px;
	line-height:1;
	cursor:pointer;
}

/* placeholder */
div.frm-post-new table tr td div.post-add-form input::placeholder,
div.frm-post-new table tr td div.post-add-form textarea::placeholder {
	color:#8f99af;
	opacity:1;
}

/* focus */
div.frm-post-new table tr td div.post-add-form input:focus,
div.frm-post-new table tr td div.post-add-form select:focus,
div.frm-post-new table tr td div.post-add-form textarea:focus {
	outline:none;
	border-color:#8aa7e8;
}

/* -----------------------------------------------------------------------------
   [04] 본문 에디터 / 본문 textarea
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr td > textarea#post_content {
	box-sizing:border-box;
	width:100%;
	max-width:100%;
	min-height:240px;
	padding:10px;
	border:1px solid #d3d6dc;
	line-height:1.5;
}

/* -----------------------------------------------------------------------------
   [05] post-extra option
   - 기존 30px 체계를 유지하면서 reset 영향 차단
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr td div.post-extra-wrap div.post-extra-row {display:block;}
div.frm-post-new table tr td div.post-extra-wrap div.post-extra-row div.post-extra-row-option-title {
	display:inline-block;
	vertical-align:middle;
	height:30px;
	min-width:120px;
	line-height:30px;
	font-weight:500;
}
div.frm-post-new table tr td div.post-extra-wrap div.post-extra-row div.post-extra-row-option-notice-wrap,
div.frm-post-new table tr td div.post-extra-wrap div.post-extra-row div.post-extra-row-option-item {
	display:inline-block;
	vertical-align:middle;
	height:30px;
	padding:0;
	margin:0;
	line-height:30px;
}
div.frm-post-new table tr td div.post-extra-wrap div.post-extra-row label.post-extra-row-option-item-label {
	display:inline-block;
	vertical-align:middle;
	height:30px;
	padding:0;
	margin-bottom:2px;
	line-height:30px;
}
div.frm-post-new table tr td div.post-extra-wrap div.post-extra-row input.post-extra-row-option-item-input {
	display:inline-block;
	vertical-align:middle;
	height:30px;
	padding:0 8px;
	line-height:28px;
}

/* -----------------------------------------------------------------------------
   [06] 첨부 영역
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr td div ul.att_zone li.attline {display:block;width:100%;}
div.frm-post-new table tr td div ul.att_zone li.attline span.selProductFile {display:block;float:left;}
div.frm-post-new table tr td div ul.att_zone li.attline span.selProductExt {display:none;margin-right:4px;border:1px solid #ccc;vertical-align:top;}
div.frm-post-new table tr td div ul.att_zone li.attline span.delbtn {display:block;width:16px;height:16px;float:right;padding:0 4px;margin-right:8px;}
div.frm-post-new table tr td div ul.att_zone li.attline span.attList {display:block;width:100%;padding-bottom:10px;}

/* -----------------------------------------------------------------------------
   [07] 기존 media 유지
   - 반응형 추가 수정은 보류
   ----------------------------------------------------------------------------- */
@media all and (max-width:991px) {
  div.frm-post-new th {display:none;}
  div.frm-post-new div.post-content-wrap img {max-width:100%;}
  div.frm-post-new div.post-extra-wrap div.post-extra-row span.form-item-title-content {display:inline-block;font-weight:500;margin:6px 0;}
  div.frm-post-new div.post-extra-wrap div.post-extra-row div.post-extra-item input {margin-bottom:6px;}
  div.frm-post-new div.post-extra-wrap div.post-extra-row div.post-extra-item label {margin-top:4px;margin-right:4px;}
  div.frm-post-new div.post-extra-wrap div.post-add-form-row {display:block;text-align:left;vertical-align:middle;clear:both;}
  div.frm-post-new div.post-extra-wrap div.post-add-form-row span.form-item-title {display:block;font-weight:400;padding-right:8px;}
  div.frm-post-new div.post-extra-wrap div.post-add-form-row span.form-item {display:block;padding-left:0;word-break:break-all;}
  div.frm-post-new div.post-extra-wrap div.post-add-form-row span.form-item p.form-item-desc {font-size:12px;font-weight:400;color:#8f99af;padding:0;display:block;line-height:1.5;margin-bottom:4px;}
}

/* ============================================================================
   HISTORY
   2026-03-18 r001
   - reset.css 구조 변경 반영
   - board-write 영역 input / select / textarea width:100% 명시
   - 텍스트형 input / select 높이 30px 통일
   - select padding 재정의 (0 28px 0 8px)
   - textarea padding / line-height / min-height 정리
   - file, checkbox, radio, button input 예외 분리
   - 기존 클래스명 유지
   - 반응형 추가 조정은 보류, 기존 media 구간 유지
   ============================================================================ */

/* -----------------------------------------------------------------------------
   [08] 첨부파일 input / drag & drop 보정
   - attachFiles는 일반 30px 폼 규칙에서 제외
   - 드래그 앤 드롭 안내영역과 파일목록 가독성 개선
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr td div.input_wrap {
	display:block;
	width:100%;
	margin:0 0 10px;
}

div.frm-post-new table tr td div.input_wrap input[type="file"] {
	display:block;
	width:100%;
	height:auto;
	min-height:0;
	padding:0;
	margin:0;
	line-height:normal;
	border:0;
	background:none;
}

div.frm-post-new table tr td div.input_wrap input[type="file"]::file-selector-button {
	height:30px;
	padding:0 12px;
	margin:0 10px 0 0;
	border:1px solid #dcdcdc;
	background:#f6f6f6;
	background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
	color:#666;
	font-size:13px;
	font-weight:500;
	line-height:1;
	cursor:pointer;
}

div.frm-post-new table tr td div.input_wrap input[type="file"]::-webkit-file-upload-button {
	height:30px;
	padding:0 12px;
	margin:0 10px 0 0;
	border:1px solid #dcdcdc;
	background:#f6f6f6;
	background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
	color:#666;
	font-size:13px;
	font-weight:500;
	line-height:1;
	cursor:pointer;
}

div.frm-post-new table tr td span.attach-guide,
div.frm-post-new table tr td span.attach-desc {
	display:block;
	margin:10px 0;
	font-size:12px;
	line-height:1.5;
	color:#8f99af;
}

div.frm-post-new table tr td div#att,
div.frm-post-new table tr td div[name="att"] {
	display:block;
	width:100%;
	min-height:160px;
	max-height:160px;
	padding:8px;
	overflow-y:auto;
	border:1px dashed #c9c4af;
	background-color:#eceae3;
	box-sizing:border-box;
}

div.frm-post-new table tr td div#att ul.att_zone,
div.frm-post-new table tr td div[name="att"] ul.att_zone {
	margin:0;
	padding:0;
	list-style:none;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline {
	display:block;
	width:100%;
	padding:0 0 10px;
	border-bottom:1px solid rgba(0,0,0,0.06);
	box-sizing:border-box;
	overflow:hidden;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline:last-child,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline:last-child {
	padding-bottom:0;
	border-bottom:0;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.attList,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.attList {
	display:block;
	width:100%;
	padding-bottom:0;
	line-height:1.6;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.selProductFile,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.selProductFile {
	display:block;
	float:none;
	padding-right:28px;
	word-break:break-all;
	color:#333;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn {
	display:block;
	float:right;
	width:18px;
	height:18px;
	padding:0;
	margin:0 0 0 8px;
	line-height:18px;
	text-align:center;
}

/* ============================================================================
   HISTORY
   2026-03-18 r002
   - 첨부파일 input[type=file] 영역 예외 보정 추가
   - file selector button 높이 30px 적용
   - drag & drop 박스(#att)와 파일 목록(att_zone) 가독성 보정
   - 기존 30px 텍스트형 폼 규칙과 첨부영역 충돌 방지
   ============================================================================ */

/* -----------------------------------------------------------------------------
   [09] 첨부목록 정렬 미세 보정
   - 현재 float 구조 유지
   - 삭제 아이콘 / 파일명 정렬 안정화
   - 기존 r001, r002 흐름을 유지하는 최소 보정만 추가
   ----------------------------------------------------------------------------- */
div.frm-post-new table tr td div#att ul.att_zone li.attline,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline {
	position:relative;
	min-height:20px;
	padding:2px 0 10px;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.attList,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.attList {
	overflow:hidden;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.selProductFile,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.selProductFile {
	display:block;
	float:left;
	max-width:calc(100% - 30px);
	padding-right:0;
	line-height:18px;
	word-break:break-all;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn {
	display:block;
	float:right;
	width:18px;
	height:18px;
	margin:0 0 0 8px;
	line-height:18px;
	text-align:center;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn a,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn a {
	display:block;
	width:18px;
	height:18px;
	line-height:18px;
	text-align:center;
	text-decoration:none;
	color:#888;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn a:hover,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn a:hover {
	color:#cc3366;
}
/* ==========================================================================
   [09] 첨부목록 정렬 보정 - float -> flex
   2026-03-18 r003 hotfix
   - 반응형에서도 삭제 아이콘 / 파일명 정렬 안정화
   - 기존 마크업 유지
   ========================================================================== */

div.frm-post-new table tr td div#att ul.att_zone,
div.frm-post-new table tr td div[name="att"] ul.att_zone {
	margin: 0;
	padding: 0;
	list-style: none;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline {
	display: block;
	width: 100%;
	padding: 4px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline:last-child,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline:last-child {
	border-bottom: 0;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.attList,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.attList {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	width: 100%;
	min-width: 0;
}

/* 기존 float 해제 */
div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn,
div.frm-post-new table tr td div#att ul.att_zone li.attline span.selProductFile,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.selProductFile {
	float: none;
}

/* 삭제 버튼 */
div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	line-height: 1;
	text-align: center;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn > a,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	line-height: 1;
	text-decoration: none;
	color: #888;
}

div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn > a:hover,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn > a:hover {
	color: #cc3366;
}

/* 파일 링크 */
div.frm-post-new table tr td div#att ul.att_zone li.attline a.att-file-link,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline a.att-file-link {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	text-decoration: none;
	color: #333;
}

/* 파일명 */
div.frm-post-new table tr td div#att ul.att_zone li.attline span.selProductFile,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.selProductFile {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 1.4;
	word-break: break-all;
	white-space: normal;
}

/* 아이콘 크기 */
div.frm-post-new table tr td div#att ul.att_zone li.attline span.delbtn i,
div.frm-post-new table tr td div[name="att"] ul.att_zone li.attline span.delbtn i {
	font-size: 16px;
	line-height: 1;
}
/* ============================================================================
   HISTORY
   2026-03-18 r003
   - 현재 board-write.css 기준 최소수정본으로 재정리
   - 기존 30px 폼 규격, media, 첨부영역 구조는 유지
   - 첨부목록(attline)에서 삭제 아이콘과 파일명 정렬만 미세 보정
   - float 구조 유지, flex 전환은 보류
   ============================================================================ */
