/* ===== App Wrapper ===== */
#home-screen {
    padding: 1rem;
    min-height: 100vh;
    max-width: 1280px;
    margin: 0 auto;
}

/* ===== Search Bar ===== */
.search-bar-container {
    position: relative;
    margin-bottom: 1rem;
}

.search-input {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 3rem;
    border-radius: 8px;
    background-color: #1a1a1a;
    color: #fff;
    border: none;
    font-size: 1rem;
}

.search-input::placeholder {
    color: #6B7280;
}

.search-input:focus {
    outline: none;
    box-shadow: 0 0 0 2px #ffb84e;
    ;
}

.search-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #9CA3AF;
}

/* ===== Category Tabs ===== */
.category-tabs {
    position: relative;
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    /* Ensures horizontal scrolling */
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #333;

    /* Hide scrollbar for Firefox */
    scrollbar-width: none;
}

/* Hide scrollbar for Webkit browsers (Chrome, Safari) */
.category-tabs::-webkit-scrollbar {
    display: none;
    /* or width: 0; */
}


.category-tab {
    font-size: 1.125rem;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    color: #9CA3AF;
    transition: color 0.3s ease;
}

.category-tab.active {
    color: #ffb84e;
}

#active-tab-indicator {
    height: 4px;
    border-radius: 8px;
    background-color: #ffb84e;
    position: absolute;
    bottom: 0px;
    transition: left 0.3s ease-in-out, width 0.3s ease-in-out;
    opacity: 1;
}

/* ===== Product Section ===== */
.grocery-products-container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/* ===== Category Heading ===== */
.category-heading {
    font-size: 1.5rem;
    font-weight: 700;
    color: #ffb84e;
    margin-bottom: 0.75rem;
    margin-top: 1.5rem;
}

/* ===== List Item Design ===== */
.product {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.2);
}

.details {
    flex-grow: 1;
    margin-right: 15px;
}

.name {
    font-weight: bold;
    color: #fff;
    font-size: 1.2em;
}

.producer {
    font-size: 0.9em;
    color: #aaa;
    margin-left: 20px;
}