  * {
            box-sizing: border-box;
        }

        body {
            font-family: 'Inter', sans-serif;
            margin: 0;
            background-color: #f4f6f8;
            color: #333;
        }

        .App {
            text-align: center;
            padding: 1rem;
        }

        h2 {
            font-size: 1.8rem;
            margin-bottom: 3rem;
            color: #1a202c;
        }

        h3 {
            font-size: 1.5rem;
            color: #1a202c;
        }

        label {
            font-weight: 600;
            font-size: 1rem;
            margin-bottom: 0.5rem;
            display: block;
        }

        input[type="text"] {
            padding: 0.6em 1em;
            font-size: 1rem;
            border: 2px solid #ccc;
            border-radius: 6px;
            width: 200px;
            transition: border-color 0.2s;
            text-transform: uppercase;
        }

        input[type="text"]:focus {
            outline: none;
            border-color: #4299e1;
            background-color: #fff;
        }

        .grid-container {
            display: grid;
            gap: 1.5rem;
            padding: 2rem 1rem;
            max-width: 1200px;
            margin: 0 auto;
            justify-items: center;
        }

        @media (min-width: 600px) {
            .grid-container {
                grid-template-columns: repeat(2, 1fr);
                /* 2 colonne su tablet */
            }
        }

        @media (min-width: 1024px) {
            .grid-container {
                grid-template-columns: repeat(4, 1fr);
                /* 3 colonne su desktop */
            }
        }

        .grid-item {
            background-color: #fff;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            padding: 1.5rem;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.04);
            width: 100%;
            max-width: 300px;
            /* per evitare che cresca troppo su schermi larghi */
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            align-items: center;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .grid-container.single-item-center {
            justify-content: center;
            grid-template-columns: 1fr;
        }
