@charset "utf-8";
/* 초기화 */
a {
	all: unset;
	color: var(--bs-link-color);
	text-decoration: underline;
	cursor: pointer;
}
a:hover {
	color: var(--bs-link-hover-color);
}
/* 모바일 nav 디자인*/
@media (max-width: 991.98px) {
    .navbar-nav .nav-item {
        background-color: #f8f9fa;
        border-bottom: 1px solid #dee2e6;
    }
    .navbar-nav .nav-item:last-child {
        border-bottom: none;
    }
    .navbar-nav .nav-link:hover {
        background-color: rgba(49,69,85,0.1); /* 테마 연한 hover */
    }
}

/* 드롭다운 hover 색상 조정 */
.dropdown-menu .dropdown-item:hover {
    background-color: rgba(49, 69, 85, 0.85); /* 반투명 남색 */
    color: #fff;              /* 글자는 흰색 */
}

.dropdown-menu {
    border-radius: 0.25rem;
    overflow: hidden;  /* hover 배경이 메뉴 영역 밖으로 안나감 */
}

/* placeholder의 색상표현(임시로 글이 보이는것*/
textarea::-webkit-input-placeholder { /* Chrome, Safari, Opera */
    color: #9fa3a7;
    opacity: 0.7;
}

textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #9fa3a7;
    opacity: 0.7;
}

textarea::-ms-input-placeholder { /* Microsoft Edge */
    color: #9fa3a7;
    opacity: 0.7;
}

textarea::placeholder { /* 최신 브라우저 */
    color: #9fa3a7;
    opacity: 0.7;
}

 /* 카드 스타일 커스터마이징 */
.custom-card {
    border: 2px solid #007bff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background: #f8f9fa;
    padding: 20px;
}

.custom-card-header {
    background-color: #007bff;
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: 10px 10px 0 0;
    padding: 15px;
    display: flex;
    align-items: center;
    box-shadow: 4px 0 6px rgba(0,0,0,.15);  /* 우측만 */
}

.custom-card-header i {
    font-size: 1.8rem;
    margin-right: 10px;
}

.custom-card-body {
    padding: 15px;
    border: 1px solid #dee2e6;   /* 옅은 회색 외곽선 */
    border-top: none;            /* 헤더와 겹치지 않게 위쪽은 제거 */
    border-radius: 0 0 10px 10px; /* 아래쪽 모서리 둥글게 */
    background-color: #fff;      /* 내용 배경 흰색 */
    box-shadow:
        2px 2px 6px rgba(0,0,0,.15);  /* 오른쪽 + 아래쪽 */
}
#calendarPopup {
z-index: 1000;
width: 300px;
}

/* 커스텀 팝업 관련 */
#popupOverlay,
#popupOverlay2 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

/* 팝업 박스 */
#popup,
#popup2 {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 90%;           /* 모바일 대응 */
    max-width: 400px;     /* PC에서는 400px 유지 */
    max-height: 90vh;     /* 화면 넘치면 스크롤 */
    overflow-y: auto;

    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    text-align: center;
    z-index: 10000;
}

/* 버튼 */
#popup button,
#popup2 button {
    margin-top: 10px;
    padding: 10px 20px;
    background-color: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

#popup button:hover {
    background-color: #0056b3;
}

/*달력 */
#calendarDays div {
    border: 1px solid #ddd;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1 / 1; /* 가로:세로 비율 */
    box-sizing: border-box; /* 패딩 포함 크기 계산 */
}

.calendar-cell:hover {
    background-color: var(--bs-primary);
    color: #fff;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* 푸터 스타일 */
footer {
    background-color: #1f2a36;
    color: #ffffff;
    padding: 20px 0;
    border-top: 1px solid #ffc107;
    min-height:150px;
    display: flex;
    align-items: center;   /* 수직 중앙 */
	justify-content: center; /* 수평 중앙 */
}