@charset "utf-8";

/* 박스 테두리와 그림자 최적화 */
.custom-card {
	border: 1px solid var(--bs-border-color) !important; /* 시스템 테마 선 색상 */
	background-color: var(--bs-card-bg); /* 다크모드 대응 배경색 */
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); /* 미세한 그림자 */
	transition: transform 0.2s ease;
}




/* 최근 게시물 컨테이너 */
.lt-card-my {overflow: hidden;
	background-color: var(--bs-body-bg);
}
    
/* 상단 헤더 영역 */
.lt-header-my {overflow: hidden;
	background-color: var(--bs-secondary-bg);
	background-image:
		repeating-linear-gradient(
		45deg,
		rgba(var(--bs-body-color-rgb), 0.05),
		rgba(var(--bs-body-color-rgb), 0.05) 1px,
		transparent 1px,
		transparent 8px
	);
}



/* 자기소개 박스 (배경색 살짝 다르게) */
.bio-box {
	background-color: var(--bs-tertiary-bg);
	border: 1px solid var(--bs-border-color-translucent);
}

/* 아이콘 배경색 (반투명 효과) */
.icon-shape {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

/* 다크모드일 때 그림자 강도 조절 */
[data-bs-theme="dark"] .custom-card {
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* 전체 컨테이너 패딩 제거 */
.no-gutters-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* 메뉴 카드 스타일 커스텀 */
.menu-card {
	transition: all 0.2s ease;
	cursor: pointer;
	border: 1px solid var(--bs-border-color) !important;
}
    
.menu-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	border-color: var(--bs-primary-border-subtle) !important;
}

.menu-card-gg {
	transition: all 0.2s ease;
	border: 1px solid var(--bs-border-color) !important;
}
    
.menu-card-gg:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	border-color: var(--bs-primary-border-subtle) !important;
}

/* 아이콘 박스 공통 */
.menu-icon-box {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	font-size: 1.25rem;
}
/* 메인 */

/* 게시글 */
/* 리스트 전용 스타일 (중복 방지를 위한 접두사 사용) */
.post-list-wrapper {
	border-top: 1px solid var(--bs-border-color);
}

.post-item {
	border-bottom: 1px solid var(--bs-border-color);
	transition: background-color 0.2s;
}

.post-item:hover {
	background-color: var(--bs-tertiary-bg);
}

/* 모바일에서 텍스트 겹침 방지 및 말줄임 처리 */
.text-truncate-multi {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 페이징 디자인 보정 */
.list_btn .pagination { justify-content: center; margin-top: 20px; }
/* 게시글 */

/* 포인트 */
/* 포인트 리스트 공통 스타일 */
.point-wrapper {
	border-top: 1px solid var(--bs-border-color);
}

.point-item {
	border-bottom: 1px solid var(--bs-border-color);
	transition: background-color 0.2s;
}

.point-item:hover {
	background-color: var(--bs-tertiary-bg);
}
    
/* 적립/사용 배지 */
.badge-point {
	width: 42px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	border-radius: 50px;
}
    
/* 금액 강조 컬러 */
.text-plus {
	color: #2ecc71 !important;
}

.text-minus {
	color: #e74c3c !important;
}

/* 상단 그라데이션 헤더 */
.point-header {
	background-color: var(--bs-secondary-bg);
	background-image:
		repeating-linear-gradient(
		45deg,
		rgba(var(--bs-body-color-rgb), 0.05),
		rgba(var(--bs-body-color-rgb), 0.05) 1px,
		transparent 1px,
		transparent 8px
	);
	border-radius: 10px 10px 0 0;
	padding: 2rem;
}

/* 요약 카드 공통 스타일 */
.summary-card {
	background-color: var(--bs-card-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: 10px;
	padding: 1.25rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

/* 아이콘 박스 */
.summary-icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	font-size: 1.2rem;
}

/* 제목과 시간 사이의 미세 여백까지 완전히 제거 */
.tight-spacing {
	line-height: 1.1 !important;
	margin-bottom: 2px !important;
}

.mobile-content {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

/* 하단 소계 바 커스텀 스타일 */
.point-footer-summary {
	border-top: 1px solid var(--bs-secondary-border-subtle);
	border-bottom: 1px solid var(--bs-secondary-border-subtle);
	padding: 1rem 1.25rem;
}
    
.text-sum-plus {
	color: #2ecc71 !important;
	font-size: 0.85rem;
}

.text-sum-minus {
	color: #e74c3c !important;
	font-size: 0.85rem;
}

.text-sum-total {
	color: #0d6efd !important;
	font-weight: 800;
	font-size: 1.1rem;
}
/* 포인트 */

/* 최근 게시물 컨테이너 */
.lt-card {
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: 10px;
}
    
/* 상단 헤더 영역 */
.lt-header {overflow: hidden;
border-radius: 10px 10px 0 0;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--bs-border-color); 
	background-color: var(--bs-secondary-bg);
	background-image:
		repeating-linear-gradient(
		45deg,
		rgba(var(--bs-body-color-rgb), 0.05),
		rgba(var(--bs-body-color-rgb), 0.05) 1px,
		transparent 1px,
		transparent 8px
	);
}

.lt-header h3 {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--bs-emphasis-color);
	margin-bottom: 0.25rem;
}

.lt-header p {
	font-size: 0.85rem;
	color: var(--bs-secondary-color);
	margin-bottom: 0;
}

/* PC 헤더 */
.lt-pc-head {
	background-color: var(--bs-tertiary-bg);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--bs-secondary-color);
	border-bottom: 1px solid var(--bs-border-color);
}
    
/* 리스트 아이템 */
.lt-item {
	border-bottom: 1px solid var(--bs-border-color-translucent);
	transition: background-color 0.15s;
}

.lt-item:last-child {
	border-bottom: 0;
}

.lt-item:hover {
	background-color: var(--bs-tertiary-bg);
}
    
/* 새글 배지 */
.lt-new {
	color: #ff5e5e;
	font-size: 0.7rem;
	font-weight: bold;
	margin-left: 4px;
}

/* 텍스트 2줄 제한 (부트스트랩 미지원 시 대비) */
/* 스크랩 리스트 전용 스타일 */
.scrap-item {
    transition: all 0.2s ease;
}

/* 모든 링크 밑줄 제거 및 호버 효과 */
.scrap-item a.text-decoration-none {
    text-decoration: none !important;
}

.scrap-item a.hover-primary:hover {
    color: var(--bs-primary) !important;
    text-decoration: none !important;
}

/* 삭제 버튼 스타일 정리 */
.scrap-delete-link {
    font-size: 1.1rem;
    opacity: 0.4;
    transition: opacity 0.2s, color 0.2s;
    z-index: 2;
}

.scrap-delete-link:hover {
    opacity: 1;
    color: var(--bs-danger) !important;
    text-decoration: none !important;
}

/* 게시판 이름 배지 호버 */
.scrap-board-name:hover {
    background-color: var(--bs-secondary-bg-subtle) !important;
    color: var(--bs-secondary-color) !important;
}

.memo-btn-tab:hover {
  background-color: var(--bs-secondary-bg) !important;
}


/* 링크 밑줄 제거 및 호버 효과 */
.memo-list-item a {
    text-decoration: none !important;
}

/* 텍스트 2줄 제한 (말줄임표) */
.memo-list-content {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-all;
}

/* 호버 시 배경색 아주 살짝 변경 (라이트/다크 공용) */
.memo-list-item a:hover {
    background-color: var(--bs-tertiary-bg) !important;
}

/* 체크박스 크기 조절 */
.memo-list-item .form-check-input {
    cursor: pointer;
    width: 1.15rem;
    height: 1.15rem;
}

/* 쪽지 본문 텍스트 스타일 */
.memo_view-text {
    font-size: 0.95rem;
    word-break: break-all;
}

/* 인용문 (>) 처리 스타일 */
.memo_view-text div {
    margin-bottom: 2px;
}

/* 다크모드 대응 보정 */
[data-bs-theme="dark"] .memo_view-container .card {
    background-color: var(--bs-tertiary-bg) !important;
}

/* 버튼 모바일 대응 (좁은 화면에서 폰트 축소) */
@media (max-width: 576px) {
    .memo_view-container .btn {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
        font-size: 0.8rem;
    }
}

/* 폼 요소 포커스 시 테두리 색상 보정 */
.memo_form-container .form-control:focus {
    border-color: var(--bs-primary-border-subtle);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
    background-color: var(--bs-body-bg) !important;
}

/* 플레이스홀더 색상 연하게 */
.memo_form-container .form-control::placeholder {
    color: var(--bs-body-color);
    opacity: .5;
    font-size: 0.8rem;
}

/* 안내 박스 리스트 스타일 */
.memo_form-container .alert ul li {
    margin-bottom: 4px;
}

/* 다크모드 대응 배경색 보정 */
[data-bs-theme="dark"] .memo_form-container .bg-light-subtle {
    background-color: var(--bs-tertiary-bg) !important;
}