@charset "utf-8";

/* ============================================================
   프로그램안내 게시판 - 카드형 목록 스타일
   (제목 + 설명문구 + 사진 3열 그리드 + 관리자 전용 수정 아이콘)
   ============================================================ */

.prog_list { list-style:none; margin:0; padding:0; }

.prog-item {
	position:relative;
	margin-bottom:30px;
	border:1px solid #e5e5e5;
	border-radius:10px;
	overflow:hidden;
	background:#fff;
}
.prog-item:last-child { margin-bottom:0; }

/* 체크박스(선택삭제) */
.prog-chk {
	position:absolute;
	top:14px;
	left:14px;
	z-index:2;
	width:18px;
	height:18px;
}

/* 상단 컬러 헤더 (아이콘 + 제목 + 관리자 수정버튼) */
.prog-head {
	display:flex;
	align-items:center;
	gap:10px;
	padding:16px 20px;
	background:#005A9C;
	color:#fff;
}
.prog-icon { font-size:20px; flex:0 0 auto; }
.prog-title { flex:1; font-size:17px; font-weight:700; line-height:1.4; }

.prog-edit-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	width:32px;
	height:32px;
	border-radius:50%;
	background:rgba(255,255,255,.2);
	color:#fff;
	text-decoration:none;
	transition:background .2s ease;
}
.prog-edit-btn:hover,
.prog-edit-btn:focus { background:rgba(255,255,255,.4); }
.prog-edit-btn .fa-pencil { font-size:14px; }

/* 본문(설명문구 + 사진) */
.prog-body { padding:22px 24px; }
.prog-body p { margin:0 0 18px; line-height:1.85; color:#444; font-size:17px; }
.prog-body p:last-child { margin-bottom:0; }

/* 사진 3열 반응형 그리드 */
.prog-photo-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:12px;
	 margin-top:20px;
}
.prog-photo-grid figure { margin:0; }
.prog-photo-grid img {
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	display:block;
	border-radius:6px;
}

@media (max-width:768px) {
	.prog-head { padding:14px 16px; }
	.prog-body { padding:18px 18px; }
	.prog-photo-grid { grid-template-columns:repeat(2, 1fr); gap:10px; }
}
@media (max-width:480px) {
	.prog-title { font-size:15px; }
	.prog-photo-grid { grid-template-columns:1fr;}
}
