        .contact-hero {
            background: var(--viola-uici);
            background-image: url('https://www.transparenttextures.com/patterns/kids-outline.png');
            padding: 80px 5%;
            text-align: center;
            color: white;
            border-bottom: 8px dashed white;
        }
        .contact-hero h2 { font-family: 'Fredoka One', cursive; font-size: 3rem; margin: 0; }

        /* Layout Contatti */
        .main-container {
            max-width: 1200px;
            margin: 40px auto;
            padding: 0 5%;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
        }

        /* Form di Contatto */
        .contact-box {
            background: white;
            padding: 40px;
            border-radius: 40px 15px 40px 15px;
            border: 8px solid var(--sky-blue);
            box-shadow: 0 15px 0 rgba(0,0,0,0.05);
        }

        .form-group { margin-bottom: 20px; }
        .form-group label { display: block; font-weight: 700; margin-bottom: 8px; color: var(--dark-blue); }
        .form-group input, .form-group textarea {
            width: 100%;
            padding: 12px 15px;
            border: 3px solid #eee;
            border-radius: 15px;
            font-family: inherit;
            transition: 0.3s;
        }
        .form-group input:focus, .form-group textarea:focus {
            border-color: var(--sky-blue);
            outline: none;
            background: #f0faff;
        }

        .btn-submit {
            background: var(--grass-green);
            color: white;
            border: none;
            padding: 15px 30px;
            border-radius: 30px;
            font-weight: bold;
            font-size: 1.1rem;
            cursor: pointer;
            box-shadow: 0 5px 0 #04a57a;
            width: 100%;
            transition: 0.2s;
        }
        .btn-submit:active { transform: translateY(3px); box-shadow: none; }

        /* Info Destra */
        .info-panel h3 { font-family: 'Fredoka One', cursive; color: var(--ocean-blue); font-size: 1.8rem; }
        .contact-method {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 25px;
            padding: 20px;
            background: white;
            border-radius: 20px;
            border: 4px solid #f0f0f0;
        }
        .contact-method i {
            font-size: 2rem;
            color: var(--orange-punch);
            background: var(--sunny-yellow);
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 15px;
        }

        .map-container {
            margin-top: 30px;
            border-radius: 30px;
            overflow: hidden;
            border: 6px solid white;
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
            height: 250px;
        }
