/* ===== GLOBAL ===== */
body {
    margin: 0 100px 0 100px;
    background: #f3f4f6;
    font-family: system-ui, -apple-system, sans-serif;
}

@media (max-width: 768px) {
    body {
        margin: 0;
    }
}

/* ===== LAYOUT ===== */
.app-wrapper {
    display: flex;
    min-height: 100vh;
}

/* ===== SIDEBAR ===== */
.sidebar {
    width: 240px;
    flex-shrink: 0;
    background: #111827;
    color: #fff;
    transition: 0.3s;
    position: sticky;
    top: 0;
    height: 100vh;
    /* full màn hình */
    overflow-y: auto;
}

.sidebar-inner {
    padding: 20px;
}

.sidebar-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.lang-switch {
    display: flex;
    gap: 8px;
}

.lang-switch button {
    flex: 1;
    border: none;
    padding: 6px;
    border-radius: 6px;
    background: #1f2937;
    color: #fff;
    cursor: pointer;
}

.lang-switch button.active {
    background: #2563eb;
}

.card-img-top {
    height: 150px;
    width: auto;
    object-fit: contain;
}

.menu-title {
    font-size: 12px;
    color: #9ca3af;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.menu-item,
.brand-item {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    color: #e5e7eb;
    text-decoration: none;
    margin-bottom: 5px;
    cursor: pointer;
}

.menu-item:hover,
.brand-item:hover {
    background: #1f2937;
}

.menu-item.active {
    background: #2563eb;
}

/* ===== MAIN ===== */
.main-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    /* 🔥 fix tràn ngang */
}

/* ===== HEADER ===== */
.header {
    background: #fff;
    height: 60px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
}

/* ===== CONTENT ===== */
main.container {
    max-width: 1200px;
}

/* ===== CARD ===== */
.card {
    border-radius: 12px;
    border: none;
    transition: 0.2s;
}

.card:hover {
    transform: translateY(-5px);
}

/* ===== IMAGE BOX ===== */
.image-box {
    height: 250px;
    background: #f9fafb;
    border-radius: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.product-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: 0.3s;
}

.image-box:hover .product-img {
    transform: scale(1.1);
}

/* ===== MOBILE FIX ===== */
@media (max-width: 992px) {

    .sidebar {
        position: fixed;
        left: -240px;
        top: 0;
        height: 100%;
        z-index: 1000;
    }

    .sidebar.active {
        left: 0;
    }

    .main-area {
        width: 100%;
    }

    main.container {
        padding: 15px;
    }
}

/* ===== OVERLAY ===== */
#overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    display: none;
    z-index: 999;
}

#overlay.active {
    display: block;
}

.owl-carousel {
    width: 100%;
    overflow: hidden;
}

/* item */
.product-carousel .item {
    padding: 5px;
}

/* box */
.image-box {
    height: 180px;
    /* giảm lại */
    background: #f3f4f6;
    border-radius: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}

/* ảnh */
.product-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* hover zoom */
.image-box:hover .product-img {
    transform: scale(1.5);
}

.footer {
    background: #2563eb;
    ;
    /* xanh dương Bootstrap */
    color: white;
    text-align: center;
    padding: 12px 10px;
    font-size: 14px;
}

.footer .container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.footer .phone {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

.footer .phone:hover {
    text-decoration: underline;
}

/* BANNER */
.hero-banner {
    min-height: 400px;
    background: linear-gradient(135deg, #0d6efd, #0b5ed7);
    padding: 40px 0;
}

.banner-img {
    max-height: 250px;
}

/* SEARCH */
.search-box {
    position: relative;
    max-width: 350px;
}

.search-box input {
    width: 100%;
    padding: 10px 15px 10px 40px;
    border-radius: 25px;
    border: none;
    outline: none;
}

.search-box i {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    color: #666;
}

/* ABOUT IMAGE */
section img {
    border-radius: 10px;
}

/* MENU ITEM */
.brand-item {
    padding: 10px 12px;
    border-radius: 8px;
    color: linear-gradient(135deg, #0d6efd, #0b5ed7);
    text-decoration: none;
    transition: all 0.2s ease;
}

/* HOVER */
.brand-item:hover {
    background: #f1f5ff;
    color: #0d6efd;
}

/* ACTIVE */
.brand-item.active {
    background: #e7f1ff;
    color: #0d6efd;
    font-weight: 600;
    position: relative;
}

/* LEFT BAR ACTIVE */
.brand-item.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 4px;
    background: #0d6efd;
    border-radius: 4px;
}