        body { font-family: 'Inter', sans-serif; background-color: #f8fafc; }
        .hero-section { background: #dfefd4; }
        .card-hover-effect { transition: transform 0.3s ease, box-shadow 0.3s ease; }
        .card-hover-effect:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); }
        .category-card { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1rem; min-width: 80px; text-align: center; background-color: #ffffff; border-radius: 15px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: all 0.3s ease; cursor: pointer; }
        .category-card:hover { transform: translateY(-3px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
        .category-card.active { background-color: #0d9488; color: white; }
        .category-card.active i { color: white !important; }
        .icon-container i { font-size: 2rem; color: #0d9488; margin-bottom: 0.5rem; }
        .loading-spinner { display: none; text-align: center; padding: 2rem; }
        .loading-spinner.active { display: block; }
        .sort-btn { padding: 0.5rem 1rem; border-radius: 0.5rem; border: 2px solid #d1d5db; background: white; cursor: pointer; transition: all 0.3s ease; }
        .sort-btn:hover { border-color: #0d9488; background: #f0fdfa; }
        .sort-btn.active { background: #0d9488; color: white; border-color: #0d9488; }

	 .category-container {
        max-width: 90%;
        margin: 2rem auto;
        padding: 20px;
    }
    #category-search {
        width: 100%; padding: 10px; font-size: 16px; border: 1px solid #ddd;
        border-radius: 4px; margin-bottom: 20px; box-sizing: border-box;
    }
    h3 {
        text-align: center; font-size: 1.5rem; font-weight: bold; margin-bottom: 1rem;
    }
    #category-root > ul {
        display: flex; flex-wrap: wrap; list-style: none;
        padding: 0; margin: 0; gap: 8px;
    }
    #category-root > ul > li {
        position: relative; list-style: none; padding: 0;
    }
    #category-root > ul > li > a,
    #category-root > ul > li > span {
        display: block; padding: 10px 15px; background-color: #f4f7f6;
        border-radius: 6px; text-decoration: none; color: #333;
        font-weight: 500; cursor: pointer; transition: background-color 0.2s, color 0.2s;
        border: 1px solid #ddd;
    }
    #category-root > ul > li > a:hover,
    #category-root > ul > li > span:hover,
    #category-root > ul > li.open > span {
        background-color: #3498db; color: #fff; border-color: #2980b9;
    }
    .category-list .children {
        display: none; position: absolute; top: 100%; left: 0;
        background-color: #fff; border: 1px solid #ddd; border-radius: 6px;
        box-shadow: 0 8px 16px rgba(0,0,0,0.1); min-width: 220px; z-index: 100;
        padding: 8px; margin-top: 5px;
    }
    .category-list .children li { padding: 0; list-style: none; }
    .category-list .children a,
    .category-list .children span {
        display: block; padding: 8px 12px; border-radius: 4px;
    }
    .category-list .children a:hover,
    .category-list .children span:hover { background-color: #f4f7f6; }
    .category-list li.open > .children { display: block; }

    /* Style for the main button when a filter is active */
    #category-toggle-btn.filter-active {
        background-color: #28a745; /* Green background */
        color: white;
        border-color: #218838;
    }

    @media (max-width: 768px) {
        #category-root > ul { display: block; padding-left: 0; }
        #category-root > ul > li { margin-bottom: 5px; }
        #category-root > ul > li > a,
        #category-root > ul > li > span { display: block; width: 100%; padding: 12px; }
        .category-list .children {
            position: static; box-shadow: none; border: none; border-top: 1px solid #eee;
            padding-left: 20px; margin-top: 5px; min-width: auto;
        }
        .category-list .has-children > span { position: relative; }
        .category-list .has-children > span::before {
            content: '+'; position: absolute; left: -18px; font-weight: bold;
            transition: transform 0.2s;
        }
        .category-list .has-children.open > span::before { transform: rotate(45deg); }
    }

 
#speech-btn-en:active {
    color: #007bff;
     box-shadow: 2px 5px 10px red ;
}

#speech-btn-ml:active {
    color: #007bff;
     box-shadow: 2px 5px 10px red ;
        }

 /* The main search container */
        .search-container {
            /* Added position: relative to be the anchor for the dropdown menu */
            position: relative;
            display: flex;
            align-items: center;
            width: 100%;
            max-width: 580px;
            margin: 0 auto;
            background-color: #fff;
            border: 1px solid #dfe1e5;
            border-radius: 24px;
            padding: 5px 8px 5px 14px;
            box-shadow: none;
            transition: box-shadow 0.2s ease, border-color 0.2s ease;
        }

        /* Hover and focus state for the container */
        .search-container:hover,
        .search-container.focused {
            border-color: rgba(223, 225, 229, 0);
            box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28);
        }

        /* The actual search input field */
        .search-input {
            flex-grow: 1;
            border: none;
            outline: none;
            padding: 8px 0;
            font-size: 16px;
            background-color: transparent;
            margin-left: 10px;
        }

        /* Base styles for all icon buttons */
        .icon-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            background: none;
            border: none;
            cursor: pointer;
            padding: 8px;
            border-radius: 50%;
            color: #5f6368;
        }

        .icon-btn:hover {
            background-color: #f0f0f0;
        }

        .icon-btn svg {
            width: 20px;
            height: 20px;
            fill: currentColor;
        }

        /* Search Icon (Magnifying Glass) */
        .search-icon {
            color: #9aa0a6;
            padding-top: 2px;
        }

        /* Clear button ('X') */
        .clear-btn {
            visibility: visible;
           
        }

        .clear-btn.visible {
            visibility: visible;
            opacity: 1;
        }

        /* --- NEW CSS FOR LANGUAGE MENU --- */

        /* The dropdown menu container */
        .lang-menu {
            /* Hide by default */
            visibility: hidden;
            opacity: 0;
            
            position: absolute;
            top: calc(100% + 8px); /* Position 8px below the search bar */
            right: 8px; /* Align with the mic icon */
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            padding: 8px 0;
            z-index: 10;
            transition: opacity 0.1s ease, visibility 0.1s ease;
            min-width: 150px;
        }

        /* Class to show the menu */
        .lang-menu.visible {
            visibility: visible;
            opacity: 1;
        }

        /* Individual language options */
        .lang-option {
            padding: 8px 16px;
            cursor: pointer;
            font-size: 14px;
            color: #3c4043;
            /* Added for checkmark alignment */
            position: relative; 
            padding-left: 36px;
        }

        .lang-option:hover {
            background-color: #f1f3f4;
        }

        /* Style for the selected option */
        .lang-option.selected {
            color: #1a73e8; /* Google Blue */
            font-weight: 600;
        }

        /* The checkmark for the selected option */
        .lang-option.selected::before {
            content: '✓';
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 16px;
            font-weight: bold;
        }
