@charset 'utf-8';

.read-hero {color: #fff;
    padding: 4rem 0 3rem;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #ffffff;
    position: relative;
}
.read-hero::after {
		content: "";
		position: absolute;
		inset: 0; /* top:0; right:0; bottom:0; left:0 */
		background: rgba(0, 0, 0, 0.65); /* 어두운 오버레이 */
		z-index: 1;
		pointer-events: none;
	}

		.read-hero .container-xxxl,
	.read-hero .read-header,
	.read-hero .read-breadcrumb {
		position: relative;
		z-index: 2;
	}
@media (max-width: 768px) {
	.read-hero {
		padding: 2.5rem 0 2rem;
	}	
	.read-title {
		font-size: 1.2rem;
		line-height: 1.4;
	}

	.read-meta {
		gap: 10px;
		align-items: flex-start;
	}

	.read-meta span:not(.badge) {
		font-size: 0.85rem;
	}
}
.read-breadcrumb {
    margin-bottom: 1.5rem;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.read-breadcrumb ol {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}

.read-breadcrumb li {
	display: flex;
	align-items: center;
}


.read-breadcrumb li+li::before {
	content: "\F285";
	/* Bootstrap Icon: chevron-right */
	font-family: "bootstrap-icons";
	font-size: 0.7rem;
	margin: 0 10px;
	color: #adb5bd;
}

.read-breadcrumb a {
	text-decoration: none;
	color: rgba(255, 255, 255, 0.85);
	transition: color 0.2s;
}

.read-breadcrumb a:hover {
	color: var(--theme-primary);
	text-decoration: underline;
}

.read-breadcrumb li[aria-current="page"] {
	color: #fff;
	font-weight: 600;
}
.read-title {
	font-size: var(--fz-xl);
	font-weight: 800;
	color: #ffffff; 
	line-height: 1.35;
	margin-bottom: 1.5rem;
	word-break: keep-all;
	letter-spacing: -0.03em;
}

.read-meta {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 12px; /* 요소 간 간격 */
margin-top: 1.5rem;
}

.badge-dark {
    background: #1d4585d9 !important;
    color: #fff;display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: .85rem;
    line-height: 1;
    padding: .35rem .6rem;
    border-radius: 999px;
}
/********************* 5: 2 layout *********************/
.read_layout {
	display: flex;
	gap: 2.5rem;
	flex-wrap: nowrap;
}
.read_layout_left {
	flex:3;
}
.read_layout_right {
	flex:1;
}
.read_layout_right .floating_box {
	position: sticky;
	top: calc(5rem + 1.5rem);
    max-height: calc(100vh - (5rem + 1.5rem));
    overflow: auto;
}

/********************* right side card style *********************/
.rel_card {
	border-radius: var(--radius-lg);
	background-color: var(--color-surface);
	border: 1px solid rgba(0, 85, 0, 0.25);
	padding: 1rem;
	box-shadow :  0 6px 18px rgba(0, 85, 0, 0.12);
	margin-bottom: 1rem;
}
.rel_card .rel_card_title {
	font-size: var(--fz-lg);
	font-weight: 600;
	margin-bottom: 1rem;
	color:#050;
}
.rel_card ul, .rel_card ol {
	list-style: none;
	padding: 0;
	margin: 0;
}
.rel_card li {
	display: flex;
	padding: .5rem .9rem;
	position: relative;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	/* border-radius: var(--radius-sm); */
	margin-bottom: .8rem;
	transition: all 0.2s ease;
	/* overflow:hidden; */
}
.rel_card a {
	text-decoration: none;
	color: var(--color-text-main);
	width: 100%;
	font-size: var(--fz-sm);
}

.rel_card li:after {
  content: "";
  position: absolute;
	right: -3px;
	top: -3px;
  width:1rem;
  border-top: 3px solid #050;
  border-right: 3px solid #050;
  height: 1rem;
}

/* hover */
.rel_card li:hover {
  background: #f0fdf4;
  border-color: #050;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 85, 0, 0.15);
}

.rel_card .badge-soft {
	margin-bottom: .5rem;}


/************ listing ************/
.listing_section {
	margin-top: 3rem;
    padding-top: 2rem;
    max-width: 100%;
}
.listing_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1.5rem;
}
.listing-title {
	font-size: var(--fz-lg);
	font-weight: 700;
	color: var(--color-text-main);
}

.listing_table {
	overflow:hidden;
}

.list-date {
font-size: var(--fz-sm);
    color: var(--color-text-sub);
    white-space: nowrap;
    min-width: 100px;
    text-align: right;
    margin-left: auto;}
.listing_section .list-row {
	    border-bottom: 1px solid var(--color-border-subtle);
    transition: background-color 0.2s 
ease;
}
    .listing_section .current-row {
background-color: rgba(74, 105, 189, 0.08);
    border-top: 2px solid var(--theme-primary);
    border-bottom: 2px solid var(--theme-primary);}

    .listing_table {
		width: 100%;
		margin-bottom: 0;
		background-color: var(--color-surface);
		border-collapse: separate;
		border-spacing: 0;
		border: 1px solid var(--color-border-subtle);
		border-radius: var(--radius-lg);
	}

	.list-row {
		border-bottom: 1px solid var(--color-border-subtle);
		transition: background-color 0.2s ease;
	}

	.list-row:last-child {
		border-bottom: none;
	}

	.list-row:hover:not(.current-row) {
		background-color: rgba(74, 105, 189, 0.03);
	}

	.list-cell {
		padding: 0;
		border: none;
	}

	.list-link,
	.list-current {
		display: flex;
		align-items: center;
		gap: 1rem;
		padding: 1rem 1.2rem;
		text-decoration: none;
		color: inherit;
	}

	.list-link:hover {
		text-decoration: none;
	}

	.list-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0.25rem 0.6rem;
		border-radius: 4px;
		background-color: var(--theme-dark);
		color: #fff;
		font-size: var(--fz-sm);
		font-weight: 600;
		white-space: nowrap;
		min-width: 80px;
	}

	.list-title-text {
		flex: 1;
		font-size: var(--fz-md);
		font-weight: 500;
		color: var(--color-text-main);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.list-date {
		font-size: var(--fz-sm);
		color: var(--color-text-sub);
		white-space: nowrap;
		min-width: 100px;
		text-align: right;
		margin-left:auto;
	}

	/* 현재 글 강조 스타일 */
	.current-row {
		background-color: rgba(74, 105, 189, 0.08);
		border-top: 2px solid var(--theme-primary);
		border-bottom: 2px solid var(--theme-primary);
	}

	.current-cell {
		position: relative;
		border: none;
	}

	.list-current {
		font-weight: 600;
	}

	.current-badge {
		background-color: var(--theme-primary);
	}

	.current-title {
		font-weight: 700;
		color: var(--theme-primary);
	}

	.current-indicator {
		display: inline-flex;
		align-items: center;
		padding: 0.25rem 0.6rem;
		border-radius: 4px;
		background-color: var(--theme-primary);
		color: #fff;
		font-size: var(--fz-sm);
		font-weight: 700;
		white-space: nowrap;
		margin-left: auto;
	}

	@media (max-width: 768px) {
		.list-link,
		.list-current {
			flex-direction: column;
			align-items: flex-start;
			gap: 0.5rem;
			padding: 0.8rem;
		}

		.list-title-text {
			white-space: normal;
			line-height: 1.4;
		}

		.list-date {
			text-align: left;
			min-width: auto;
		
		}

		.current-indicator {
			margin-left: 0;
			margin-top: 0.25rem;
		}
	}