/* Reset CSS để loại bỏ các mặc định của trình duyệt */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Thiết lập font chung cho trang web và bố cục chính */
body {
    font-family: Arial, sans-serif;
    background-color: #f2f2f2;
    display: grid;                    /* Dùng Grid để chia layout chính */
    grid-template-columns: 70% 30%;   /* Chia trang thành 2 cột: nội dung + sidebar */
    gap: 20px;
    max-width: 1200px;                /* Độ rộng tối đa của trang */
    margin: 0 auto;                   /* Canh giữa trang */
    padding: 25px;
    align-items: start;
}

/* Phần tiêu đề trang web */
header {
    grid-column: 1 / span 2;          /* Trải đều qua cả hai cột */
    background-color: #c7cc19;
    color: #fff;
    padding: 20px;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    border-radius: 4px 4px 0 0;
}

/* Thanh điều hướng */
nav.nav {
    grid-column: 1 / span 2;
    background: #f5a991;
    padding: 8px 12px;
    text-align: center;
}

nav.nav a {
    color: #7a3b3b;
    margin: 0 12px;
    text-decoration: underline;
    font-weight: 600;
}

/* Khu vực chính gồm danh sách sản phẩm và sidebar */
.main {
    display: grid;
    grid-template-columns: 1fr 220px;  /* nội dung chính + sidebar cố định */
    gap: 20px;
    grid-column: 1 / span 2;
}

/* Danh sách sản phẩm - dùng grid để dễ kiểm soát */
.product-list, .products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Thẻ sản phẩm (card) */
.card {
    background: #fff;
    padding: 14px;
    border-radius: 4px;
    box-shadow: 0 0 0 6px rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.card img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    border-radius: 4px;
}

.card h3 {
    font-size: 20px;
    margin: 10px 0 6px;
    text-align: center;
}

.card p {
    margin: 0 0 8px;
    text-align: center;
    color: #666;
}

.buy {
    display: inline-block;
    margin-top: 8px;
    background: #07a56d;
    color: #fff;
    padding: 8px 14px;
    border-radius: 8px;
    text-decoration: none;
}

/* Sidebar */
.sidebar {
    background: #1498ff;
    color: #fff;
    padding: 18px;
    border-radius: 4px;
}

.sidebar a {
    color: #fff;
    text-decoration: none;
    display: block;
    margin: 6px 0;
}

/* Footer */
footer {
    grid-column: 1 / span 2;
    background: #333;
    color: #fff;
    padding: 20px;
    margin-top: 18px;
    border-radius: 4px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    text-align: center;
}

footer .col {
    font-size: 14px;
}

/* Responsive - thay đổi layout cho các kích thước nhỏ */
@media (max-width: 900px) {
    body {
        grid-template-columns: 1fr;   /* Chuyển về 1 cột */
    }

    .main {
        grid-template-columns: 1fr;  /* Nội dung chính chiếm hết */
    }

    .product-list, .products {
        grid-template-columns: repeat(2, 1fr);
    }

    .sidebar {
        display: none;               /* Ẩn sidebar trên màn hình nhỏ */
    }
}

@media (max-width: 600px) {
    .product-list, .products {
        grid-template-columns: 1fr;  /* Mỗi dòng 1 sản phẩm */
    }

    header { font-size: 20px; }
    nav.nav { font-size: 14px; }
}
