body {
    background-color: #f8f9fa; /* 밝은 배경색 */
    padding-top: 50px; /* 고정 헤더 높이만큼 패딩 */
}

.navbar {
    height: 56px;
}

.navbar {
    /* 필요시 Navbar 스타일 조정 */
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
    margin-bottom: 56px; /* Height of the navbar */
}

main.main-content {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-top: 56px; /* 고정 헤더 높이만큼 패딩 */
}

.container-fluid {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    min-width: 0;
}

.card-list-section {
    max-height: calc(100vh - 100px); /* 화면 높이에 맞게 조절 */
    overflow-y: auto;
}

.place-grid-section {
     /* 스타일 추가 예정 */
}

#placeGrid { /* 데이터 그리드 컨테이너 */
    width: 100%;
    height: 400px; /* 예시 높이 */
    overflow: auto;
    margin-top: 1rem;
}

.place-card {
    margin-bottom: 1.5rem;
}

.place-card .card-header {
    background-color: #e9ecef; /* 카드 헤더 배경색 */
    font-weight: bold;
}

.place-card .card-body h1 {
    font-size: 2rem; /* 주소 이름 크기 조정 */
    margin-bottom: 0.5rem;
}

.place-card .card-body p {
    margin-bottom: 0.5rem;
    color: #6c757d; /* 부가 정보 텍스트 색상 */
}

.place-card .card-body .tel-info {
     color: #212529; /* 전화번호 색상 강조 */
     font-weight: 500;
}

.state-dropdown .dropdown-toggle {
    min-width: 180px; /* 드롭다운 버튼 최소 너비 */
}

.history-card .table th,
.history-card .table td {
    vertical-align: middle;
}

.footer {
    background-color: #e9ecef; /* 푸터 배경색 */
    border-top: 1px solid #dee2e6;
}

/* 반응형 조정 */
@media (max-width: 576px) {
    .navbar .float-right {
        width: 100%;
        margin-top: 0.5rem;
        justify-content: space-between;
    }
    
    .navbar .dropdown {
        margin-right: 0.5rem !important;
    }
    .navbar-brand {
        max-width: 40vw;
    }
}

/* Navbar brand ellipsis 처리 */
.navbar-brand {
    min-width: 0;
    max-width: 50vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
}
