﻿/* style.css - Chứa tất cả các quy tắc CSS tùy chỉnh */

html, body {
    height: 100%;
}

body {
    font-family: 'Inter', sans-serif; /* Sử dụng font Inter */
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Đảm bảo footer luôn ở dưới cùng nếu nội dung ngắn */
}

main {
    flex: 1; /* Cho phép main content chiếm không gian còn lại */
}

/* --- Top Bar --- */
.top-bar {
    background-color: #295a8f; /* Màu nền xanh đậm */
    color: #fff; /* Màu chữ xám nhạt */
    font-size: 0.85rem;
    padding: 8px 0;
}

    .top-bar a {
        color: #fff;
        text-decoration: none;
        margin-left: 15px;
    }

        .top-bar a:hover {
            color: #fabf55; /* Màu chữ trắng khi hover */
        }

    .top-bar .social-icons a {
        margin-left: 10px;
    }
/* Căn chỉnh cho div ngày giờ mới */
#current-datetime {
    display: flex;
    align-items: center;
    /* Đảm bảo nó kế thừa màu chữ từ .top-bar */
    color: inherit;
}

/* --- Main Navigation --- */
.navbar {
    background-color: #ffffff; /* Nền trắng */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Đổ bóng nhẹ */
}

.navbar-brand {
    font-weight: 700;
    font-size: 1.5rem;
    color: #1a2d40 !important; /* Màu xanh đậm cho logo */
}

    .navbar-brand img {
        max-height: 30px; /* Điều chỉnh chiều cao logo nếu cần */
        margin-right: 10px;
    }

.navbar-nav .nav-link {
    color: #343a40; /* Màu chữ menu chính */
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: color 0.3s ease;
}

    .navbar-nav .nav-link.active,
    .navbar-nav .nav-link:hover {
        color: #0d6efd; /* Màu xanh dương khi active/hover */
    }

.navbar-nav .dropdown-menu {
    border: none; /* Bỏ viền dropdown */
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Đổ bóng dropdown */
}

.navbar-nav .dropdown-item:hover {
    background-color: #f8f9fa; /* Màu nền nhẹ khi hover item dropdown */
    color: #0d6efd;
}

.btn-add-listing {
    background-color: #28a745; /* Màu xanh lá */
    color: #ffffff !important;
    border-radius: 20px; /* Bo tròn góc */
    padding: 8px 20px;
    font-weight: 600;
    transition: background-color 0.3s ease;
}

    .btn-add-listing:hover {
        background-color: #218838; /* Màu xanh lá đậm hơn khi hover */
    }

    .btn-add-listing i {
        margin-right: 5px;
    }

/* Navbar text and link color fix for dark background */
.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
    color: #fff !important;
}

.navbar-dark .navbar-brand {
    font-weight: bold;
}

/* --- Hero Section --- */
.hero-section {
    position: relative;
    height: 70vh; /* Chiều cao tương đối */
    min-height: 500px; /* Chiều cao tối thiểu */
    background: url('/images/bg.jpg') no-repeat center center; /* Thay bằng URL ảnh của bạn */
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff; /* Màu chữ trắng */
}

    .hero-section::before { /* Lớp phủ tối */
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5); /* Màu đen với độ trong suốt 50% */
        z-index: 1;
    }

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px; /* Giới hạn chiều rộng nội dung */
    padding: 20px;
}

    .hero-content h1 {
        font-size: 3rem; /* Cỡ chữ lớn cho tiêu đề */
        font-weight: 700;
        margin-bottom: 1rem;
        text-shadow: 1px 1px 3px rgba(0,0,0,0.7); /* Đổ bóng chữ */
    }

    .hero-content p {
        font-size: 1.2rem;
        margin-bottom: 2rem;
        text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
    }

/* --- Search Tabs & Bar --- */
.search-container {
    background-color: rgba(255, 255, 255, 0.9); /* Nền trắng hơi trong suốt */
    padding: 20px;
    border-radius: 8px; /* Bo góc */
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    margin-top: 2rem; /* Khoảng cách với tiêu đề */
}

.nav-tabs-hero {
    border-bottom: none; /* Bỏ đường viền dưới của tabs */
    margin-bottom: 15px;
    display: flex;
    justify-content: center; /* Căn giữa các tab */
}

    .nav-tabs-hero .nav-link {
        border: none; /* Bỏ viền mặc định */
        background-color: transparent;
        color: #495057; /* Màu chữ tab không active */
        font-weight: 600;
        padding: 10px 20px;
        margin: 0 5px;
        border-radius: 20px; /* Bo tròn tab */
        transition: all 0.3s ease;
    }

        .nav-tabs-hero .nav-link.active {
            background-color: #0d6efd; /* Màu nền xanh cho tab active */
            color: #ffffff; /* Màu chữ trắng cho tab active */
            border-color: #0d6efd;
        }

        .nav-tabs-hero .nav-link:hover:not(.active) {
            background-color: #e9ecef; /* Màu nền nhẹ khi hover tab không active */
        }

.search-form {
    display: flex;
    align-items: center;
}

.search-input {
    flex-grow: 1; /* Input chiếm phần lớn không gian */
    border-radius: 20px 0 0 20px !important; /* Bo góc trái */
    border: 1px solid #ced4da;
    border-right: none; /* Bỏ viền phải */
    padding: 10px 20px;
    height: 48px; /* Chiều cao input */
}

.search-button {
    border-radius: 0 20px 20px 0 !important; /* Bo góc phải */
    background-color: #0d6efd;
    color: white;
    border: 1px solid #0d6efd;
    padding: 10px 20px;
    height: 48px; /* Chiều cao button */
    transition: background-color 0.3s ease;
}

    .search-button:hover {
        background-color: #0b5ed7;
        border-color: #0a58ca;
    }

/* --- Form Card Style for Create/Edit --- */
.form-card {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(44, 62, 80, 0.08);
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 0;
    overflow: hidden;
}
.form-card-header {
    background: #4a90e2;
    color: #fff;
    padding: 16px 24px;
    font-size: 1.25rem;
    font-weight: 500;
}
.form-card-body {
    padding: 32px 24px 24px 24px;
}
.form-card .row {
    margin-bottom: 0;
}
.form-card .form-label {
    font-weight: 500;
}
.form-card .form-control {
    border-radius: 3px;
    min-height: 40px;
    font-size: 1rem;
}
.form-card .form-group {
    margin-bottom: 24px;
}
@media (max-width: 991.98px) {
    .form-card-body {
        padding: 24px 10px 16px 10px;
    }
}

/* Canh hàng tiêu đề và nút thêm mới trên cùng một dòng, nút bên phải */
.header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.header-row .header-title {
    margin-bottom: 0;
}

.header-row .header-action {
    margin-bottom: 0;
}

/* --- Footer --- */
.site-footer {
    background-color: #295a8f; /* Màu xanh dương từ ảnh */
    color: #ffffff; /* Màu chữ trắng */
    padding: 30px 0 20px; /* Padding trên/dưới và 0 trái/phải */
    font-size: 0.9rem; /* Cỡ chữ nhỏ hơn */
    margin-top: auto; /* Đẩy footer xuống dưới nếu nội dung ngắn */
}

    .site-footer h5 {
        font-size: 1.1rem;
        font-weight: 600;
        margin-bottom: 15px;
    }

    .site-footer p, .site-footer a {
        color: #e0e0e0; /* Màu chữ xám nhạt hơn cho chi tiết */
        margin-bottom: 8px; /* Khoảng cách giữa các dòng */
        text-decoration: none; /* Bỏ gạch chân link */
    }

        .site-footer a:hover {
            color: #ffffff; /* Màu trắng khi hover link */
        }

.footer-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.2); /* Đường kẻ ngang màu trắng mờ */
    margin: 20px 0; /* Khoảng cách trên dưới */
}

.footer-social-links {
    text-align: center; /* Căn giữa link social */
}

    .footer-social-links a {
        color: #ffffff;
        margin: 0 10px; /* Khoảng cách giữa các icon */
        font-size: 1.1rem; /* Cỡ chữ icon */
        transition: color 0.3s ease;
    }

        .footer-social-links a:hover {
            color: #adb5bd; /* Màu xám nhạt khi hover icon */
        }

    .footer-social-links span {
        margin: 0 5px; /* Khoảng cách chữ và icon */
    }

/* Responsive adjustments */
@media (max-width: 991.98px) {
    .navbar-nav {
        margin-top: 1rem; /* Thêm khoảng cách trên cho menu mobile */
    }

    .btn-add-listing {
        margin-top: 10px;
        display: block; /* Nút chiếm toàn bộ chiều rộng */
        text-align: center;
    }

    .hero-content h1 {
        font-size: 2.5rem;
    }
    /* Đảm bảo div ngày giờ và phần bên phải căn giữa trên mobile */
    .top-bar > .container > .d-flex {
        flex-direction: column;
        align-items: center;
    }

    #current-datetime {
        margin-bottom: 10px; /* Thêm khoảng cách dưới cho div ngày giờ */
    }

    .top-bar .ms-auto {
        margin-top: 0; /* Bỏ margin top cũ */
        margin-left: 0 !important; /* Reset margin left */
    }

    .site-footer .col-lg-3 {
        margin-bottom: 20px; /* Thêm khoảng cách dưới cho các cột footer trên mobile */
    }
}

@media (max-width: 767.98px) {
    .top-bar {
        font-size: 0.8rem;
        text-align: center;
    }

        .top-bar .social-icons {
            margin-top: 5px;
        }

    .hero-content h1 {
        font-size: 2rem;
    }

    .hero-content p {
        font-size: 1rem;
    }

    .search-container {
        padding: 15px;
    }

    .nav-tabs-hero .nav-link {
        padding: 8px 15px;
        font-size: 0.9rem;
    }

    .search-form {
        flex-direction: column; /* Stack input và button */
    }

    .search-input {
        border-radius: 20px !important; /* Bo tròn hết */
        border-right: 1px solid #ced4da; /* Hiện lại viền phải */
        margin-bottom: 10px;
        width: 100%;
    }

    .search-button {
        border-radius: 20px !important; /* Bo tròn hết */
        width: 100%;
    }

    .site-footer {
        text-align: center; /* Căn giữa text trong footer trên mobile */
    }
}

footer.footer {
    margin-top: auto;
}
