        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            background-color: #0a0a0a;
            color: white;
            font-family: system-ui, sans-serif;
            min-height: 100vh;
            padding-top: 6rem;
            padding-bottom: 4rem;
        }

        .container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
        }

        h1 {
            font-size: 2rem;
            font-weight: bold;
        }

        /* ---- BUTTONS ---- */
        button {
            cursor: pointer;
        }

        .filter-btn {
            padding: 0.5rem 1.5rem;
            border-radius: 9999px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.7);
            transition: all 0.3s;
        }

        .filter-btn:hover {
            background: rgba(255, 255, 255, 0.1);
        }

        .filter-btn.active-category {
            background: linear-gradient(to right, #FFD700, #FFA500);
            color: black;
            box-shadow: 0 0 10px #FFD70088;
        }

        .filter-btn.active-provider {
            background: linear-gradient(to right, #FF1744, #FF4569);
            color: white;
            box-shadow: 0 0 10px #FF174488;
        }

        /* ---- SEARCH BAR ---- */
        .search-bar {
            position: relative;
            margin-bottom: 1.5rem;
        }

        .search-bar input {
            width: 100%;
            padding: 1rem 3rem;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.05);
            color: white;
            font-size: 1rem;
        }

        .search-bar input:focus {
            outline: none;
            border-color: #FFD70088;
        }

        .search-bar .icon {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            color: rgba(255, 255, 255, 0.4);
        }

        .search-bar {
            left: 1rem;
        }

        .search-bar .clear-icon {
            right: 1rem;
            cursor: pointer;
        }

        /* ---- GRID ---- */
        .games-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 1rem;
        }

        .game-card {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            overflow: hidden;
            transition: all 0.3s;
            position: relative;
        }

        .game-card:hover {
            border-color: #FFD70088;
            transform: scale(1.02);
        }

        .game-image {
            aspect-ratio:auto;
            overflow: hidden;
            position: relative;
        }

        .game-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s;
        }

        .game-card:hover img {
            transform: scale(1.1);
        }

        .overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, black, transparent);
            opacity: 0;
            transition: opacity 0.3s;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .game-card:hover .overlay {
            opacity: 1;
        }

        .play-btn {
            background: linear-gradient(to right, #FFD700, #FFA500);
            color: black;
            padding: 0.5rem 1.5rem;
            border-radius: 9999px;
            box-shadow: 0 0 10px #FFD70088;
            font-weight: bold;
            transform: translateY(10px);
            transition: transform 0.3s;
        }

        .game-card:hover .play-btn {
            transform: translateY(0);
        }

        .game-info {
            padding: 0.75rem;
        }

        .game-info h3 {
            font-size: 0.9rem;
            margin-bottom: 0.25rem;
        }

        .game-info p {
            font-size: 0.75rem;
            color: rgba(255, 255, 255, 0.4);
        }

        .featured-badge {
            position: absolute;
            top: 8px;
            right: 8px;
            background: linear-gradient(to right, #FFD700, #FFA500);
            color: black;
            font-size: 0.7rem;
            padding: 2px 6px;
            border-radius: 9999px;
            font-weight: bold;
        }

        .no-results {
            text-align: center;
            padding: 4rem;
            opacity: 0.7;
        }

        .filters {
            margin-bottom: 2rem;
        }

        .filters h3 {
            color: rgba(255, 255, 255, 0.6);
            font-size: 0.9rem;
            margin-bottom: 0.5rem;
        }

        .filters .buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .retour {
            padding: 10px;
            border: #FFA500 3px solid;
            border-radius: 5px;
            background-color: RGBA(255, 215, 0, 0.5);
            transition: all 0.4s;
        }

        .retour:hover {
            background-color: RGBA(255, 215, 0, 1);
        }