.board-default-wrap {
	.board-table {
		width: 100%;
		table {
			table-layout: fixed; width: 100%; font-size: 1.6rem; border-top: 2px solid #000;
			colgroup {
				.num { width: 80px; }
				.category { width: 120px; }
				.label { width: 80px; }
				.register { width: 190px; }
				.name { width: 160px; }
				.date { width: 120px; }
				.view { width: 80px; }
				.file { width: 100px; }
			}
			tr {
				border-bottom: 1px solid var(--line);
				&.bg-red {
					background: #ffe3e3 !important;
				}
				th {
					padding: 18px 0; text-align: center; font-weight: 800; position: relative;
					&:not(:first-child)::after {
						display: block; content: ''; position: absolute; left: 0; top: 50%; bottom: 0; width: 1px; height: 14px; background: #c5c9d6; transform: translate(0, -50%);
					}
				}
				td {
					padding: 18px 5px; text-align: center;
					&.down-icon {
						img { width: 15px; height: auto; }
					}
					&.category {
						font-weight: 600;
						&.type-1 {
							color: var(--blue);
						}
						&.type-2 {
							color: var(--green);
						}
						&.type-3 {
							color: var(--pink);
						}
						&.type-4 {
							color: var(--orange);
						}
						&.type-5 {
							color: #14aabb;
						}
						&.type-6 {
							color: #4a5ca1;
						}
						&.type-7 {
							color: #7c14bb;
						}
						&.type-8 {
							color: #d16200;
						}
						&.type-9 {
							color: #058338;
						}
						&.type-10 {
							color: #a485ff;
						}
					}
					a {
						display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; font-weight: 600; text-decoration: underline;
					}
					.down-btn {
						display: inline-block; text-align: center;
						> img { width: 30px; height: 30px; padding: 5px; border-radius: 3px;
							&:hover { background: #eee; }
						}
					}
				}
				&.fixed {
					background: #f2f3f4;
					.num { font-weight: 800; font-size: 1.5rem; }
					.title {
						font-weight: 800;
					}
				}
			}
		}
	}

	.board-list {
		border-top: 1px solid #8d8d8d;
		.item {
			display: flex; align-items: center; justify-content: space-between; padding: 30px 10px; border-bottom: 1px solid var(--line);
			&:hover {
				.title {
					.tit { text-decoration: underline; }
				}
				.date-arr {
					svg {
						path { fill: #000; }
					}
				}
			}
			.title {
				width: calc(100% - 140px); display: flex; align-items: center;
				.tit { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: calc(100% - 250px); font-size: 1.8rem; font-weight: 500; }
				.label { width: 250px; font-size: 1.7rem; font-weight: 700; border-radius: 3px; text-align: center; }
			}
			.date-arr {
				width: 140px; display: flex; align-items: center; gap: 30px;
				.date { font-size: 1.7rem; color: #888; }
				svg { width: 20px; height: 20px;
					path { fill: #999; }
				}
			}
		}
	}

	.gallery-group {
		display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 20px;
		&.type-2 {
			grid-template-columns: repeat(4, 1fr);
		}
		&.type-3 {
			.item {
				position: relative; border: 1px solid #c5c5c5; padding: 20px; border-radius: 10px;
				&:hover {
					border: 1px solid var(--theme);
				}
				.thumbnail-area {
					border-radius: 10px;
				}
				.title-area {
					.label {
						&.type-1 {
							background: none; color: var(--theme); padding: 0; font-size: 1.4rem; font-weight: 600;
						}
						&.type-2 {
							background: none; color: var(--green); padding: 0; font-size: 1.4rem; font-weight: 600;
						}
						&.type-3 {
							background: none; color: var(--pink); padding: 0; font-size: 1.4rem; font-weight: 600;
						}
					}
					.btn-wrap {
						margin-top: 0; position: absolute; bottom: 0; width: 100%; left: 0; display: block;
						.more {
							width: 100%; padding: 15px 20px; font-size: 1.4rem; font-weight: 600; border-radius: 0px 0px 5px 5px; background: var(--theme); border-color: var(--theme); color: #fff;
						}
					}
				}
			}
		}
		.item {
			display: block; text-decoration: none; color: inherit; transition: transform 0.3s ease;
			&:hover {
				transform: translateY(-5px);
				.title-area {
					.tit {
						text-decoration: underline;
					}
				}
			}
			.thumbnail-area {
				width: 100%; padding-bottom: 56%; position: relative; overflow: hidden; background: #f5f5f5; margin-bottom: 15px; border-radius: 20px;
				&.empty {
					background-color: #F3F3F3;
					.thumbnail {
						position: absolute;	top: 50%; left: 50%; transform: translate(-50%, -50%); width: 30%; height: auto; opacity: 0.5;
					}
				}
				.thumbnail {
					position: absolute;	top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; display: block;
				}
			}
			&:hover .thumbnail-area:not(.empty) .thumbnail {
				transform: translate(-50%, -50%) scale(1.05);
			}
			&.no-image {
				.thumbnail-area {
					background-color: #F3F3F3;
					.thumbnail {
						width: 30% !important; height: auto; opacity: 0.5;
					}
				}
			}
			.title-area {
				.label {
					display: inline-block; padding: 6px 12px; background: #000; color: #fff; font-size: 1.3rem; font-weight: 700; border-radius: 4px; margin-bottom: 12px;
					&.disabled {
						color: #a7a7a7;
					}
					&.type-1 {
						background: var(--blue); color: #fff;
					}
					&.type-2 {
						background: var(--green); color: #fff;
					}
					&.type-3 {
						background: var(--pink); color: #fff;
					}
					&.type-4 {
						background: var(--orange); color: #fff;
					}
					&.type-6 {
						background: #14aabb; color: #fff;
					}
					&.recruiting {
						background: var(--theme);
					}
					&.closed {
						background: #333;
					}
				}
				.tit {
					font-size: 1.8rem; font-weight: 700; line-height: 1.4; margin: 0 0 5px 0; color: #000;
					display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;
				}
				.desc {
					font-size: 1.5rem; line-height: 1.5; color: #666; margin: 0;
					display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;
				}
				.info {
					span { 
						font-size: 1.4rem; color: #666; padding-right: 10px;
						strong {
							font-weight: 600; padding-right: 2px;
						}
					}
				}
			}
		}
	}

	.card-list-group {
		display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
		.item {
			--item-padding: 20px;
			position: relative; display: block; min-width: 0; border: 1px solid var(--line); padding: var(--item-padding) var(--item-padding) calc(var(--item-padding) * 3.5); border-radius: 10px; transition: transform 0.3s ease;
			&:hover {
				transform: translateY(-5px);
			}
			.label {
				display: inline-block; padding: 6px 12px; background: #000; color: #fff; font-size: 1.4rem; font-weight: 700; border-radius: 4px; margin-bottom: 12px;
				&.type-1 {
					background: var(--pink);
				}
				&.type-2 {
					background: var(--green);
				}
			}
			.tit {
				font-size: 2.1rem; font-weight: 700; line-height: 1.4; color: #000;
				display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;
			}
			.txt {
				font-size: 1.6rem; line-height: 1.5; color: #444; margin: 0; padding-top: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;
			}
			.info {
				position: absolute; bottom: var(--item-padding); left: var(--item-padding); width: calc(100% - var(--item-padding) * 2); border-top: 1px dashed var(--line); padding-top: 10px; 
				span { 
					font-size: 1.4rem; color: #666; padding-right: 10px;
				}
			}
		}
	}
}

// 결과 없음
.empty-area {
	text-align: center; padding: 120px 0;
	&.border {
		border-top: 1px solid var(--line);
	}
	.txt {
		font-size: 1.5rem; position: relative; display: inline-block; opacity: .6; color: #999;
		&:after {
			content: ''; width: 100px; height: 45px; background-image: url('../img/board/empty_ico.svg'); background-position: center; background-repeat: no-repeat; background-size: cover; position: absolute; top: -70px; left: 50%; transform: translateX(-50%);
		}
	}
}

@media (max-width: 1024px) {
	.board-default-wrap {
		.board-table {
			table {
				font-size: 1.5rem;
				thead { display: none; }
				colgroup { display: none; }
				tr {
					display: flex; flex-wrap: wrap; gap: 0 8px; align-items: center; position: relative; padding: 12px 3px;
					&.fixed {
						padding: 12px 10px;
					}
					td {
						font-size: 1.2rem; color: #555; position: relative; padding: 2px 0;
						span { letter-spacing: -0.5px; }
						&:before { content: attr(data-name) ' '; font-weight: 700; padding-right: 2px; letter-spacing: -0.5px; }
						&.num:not(.pin) { display: none; }
						&.pin {
							display: block; width: 20px;
							img { width: 15px; height: 13px; }
							& ~ .title { padding: 5px 0 7px 0; }
						}
						&.title {
							font-size: 1.5rem; font-weight: 600; width: 100%; padding: 3px 0;
							&:before { display: none; }
						}
						&.down-td { display: none; }
						a {
							color: #222; text-align: left !important;
						}
					}
				}
			}
		}
		.board-list {
			.item {
				padding: 25px 10px;
				.title {
					.tit { font-size: 1.9rem; }
				}
				.date-arr {
					.date { font-size: 1.5rem; }
					svg { width: 15px; height: 15px; }
				}
			}
		}
		.gallery-group {
			grid-template-columns: repeat(2, 1fr); gap: 40px 20px;
			&.type-2 {
				grid-template-columns: repeat(2, 1fr);
			}
			.item {
				.thumbnail-area {
					padding-bottom: 56%;
				}
				.title-area {
					.tit { font-size: 1.6rem; }
					.desc { font-size: 1.4rem; }
				}
			}
		}
		.card-list-group {
			grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;
			.item {
				.tit {
					font-size: 1.9rem;
				}
				.txt {
					font-size: 1.5rem;
				}
			}
		}
	}
}

@media (max-width: 768px) {
	.board-default-wrap {
		.board-table {
			table { font-size: 1.4rem; }
		}
		.board-list {
			.item {
				flex-direction: column; gap: 6px; padding: 15px 10px;
				.title {
					width: 100%; flex-direction: column; align-items: flex-start; gap: 6px;
					.tit { font-size: 1.6rem; width: 100%; }
					.label { font-size: 1.4rem; width: auto; text-align: left; padding: 0; }
				}
				.date-arr {
					width: 100%;
					.date { font-size: 1.4rem; }
					svg { display: none; }
				}
			}
		}
		.gallery-group {
			grid-template-columns: 1fr;
			&.type-2 {
				grid-template-columns: 1fr;
			}
			.item {
				.thumbnail-area {
					padding-bottom: 56%;
				}
				.title-area {
					.tit { font-size: 1.6rem; }
					.desc { font-size: 1.4rem; }
				}
			}
		}
		.card-list-group {
			grid-template-columns: 1fr; gap: 15px;
			.item {
				--item-padding: 15px;
				.tit {
					font-size: 1.6rem;
				}
				.txt {
					font-size: 1.4rem; padding-top: 5px; color: #666;
				}
				.label {
					font-size: 1.2rem; padding: 3px 10px; 
				}
				.info {
					padding-top: 5px;
					span {
						font-size: 1.2rem;
					}
				}
			}
		}
	}
	.empty-area {
		padding: 80px 0;
		.txt {
			font-size: 1.4rem;
			&:after {
				width: 80px; height: 36px; top: -60px;
			}
		}
	}
}

@media (max-width: 475px) {
	.board-default-wrap {
		.board-table {
			table {
				tr {
					td {
						&.mo-w100 {
							width: 100% !important;
						}
					}
				}
			}
		}
		.board-list {
			.item {
				gap: 5px;
				.title {
					.tit { font-size: 1.6rem; line-height: 1.4; }
				}
				.date-arr { 
					.date { font-size: 1.4rem; }
				}
			}
		}
		.gallery-group {
			gap: 30px 15px;
			.item {
				.thumbnail-area {
					padding-bottom: 56%; margin-bottom: 12px;
					&.empty {
						.thumbnail {
							width: 25%;
						}
					}
				}
				.title-area {
					.label {
						font-size: 1.2rem; padding: 3px 10px; margin-bottom: 7px;
					}
					.tit {
						font-size: 1.6rem; margin-bottom: 3px;
					}
					.desc {
						font-size: 1.3rem;
					}
					.info {
						line-height: 1.2;
						span {
							font-size: 1.3rem; 
						}
					}
				}
			}
		}
	}
}

