  :root {
      --primary: #2E7D32;
      --secondary: #FF8F00;
      --light: #F5F5F5;
      --dark: #212121;
      --accent: #5D4037;
      --white: #FFFFFF;
      --header-bg: #F7E7CE;
      --pearl: #FDEEF4;
      --ivory: #FFFFF0;
      --lavender: #E6E6FA;
      --powder-blue: #B0E0E6;
      --pale-silver: #C9C0BB;
      --mint-cream: #F5FFFA;
      --verde-collinare: #5A8F63;
      --verde-collinare-hover: #456d4b;
      --blu-adriatico: #4A6FA5;
      --beige-pietra: #EDE6D6;
      --terracotta-borgo: #C66A4D;
      --grigio-roccia: #6F6F6F;
      --transition: all 0.3s ease;
      --shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      --shadow-strong: 0 2px 10px rgba(0, 0, 0, 0.301);
      --footer: #2e2e2e;
  }

  .hero-subpage-contatti {
      text-align: center;
      padding: 40px;
  }

  .title-contatti {
      text-align: center;
      color: var(--light);
      font-size: 2.3rem;
  }

  .line {
      border: 2px solid var(--verde-collinare);
      width: 80px;
      margin: auto;
      margin-bottom: 20px;
      margin-top: 20px;
  }

  .contact-section {
      padding: 2rem 0;
  }

  .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3rem;
      max-width: 1200px;
      margin: 0 auto;
  }

  .contact-form {
      background: white;
      padding: 2rem;
      border-radius: 10px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }

  .form-group {
      margin-bottom: 1.5rem;
  }

  .form-group label {
      display: block;
      margin-bottom: 0.5rem;
      color: #2e7d32;
      font-weight: 600;
  }

  .form-group input,
  .form-group textarea {
      width: 100%;
      padding: 0.8rem;
      border: 2px solid #e0e0e0;
      border-radius: 5px;
      font-size: 1rem;
  }

  .form-group textarea {
      resize: vertical;
  }

  .contact-info {
      background: white;
      padding: 2rem;
      border-radius: 10px;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }

  .info-card {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 1.5rem;
      padding: 1rem;
      background: #f5f5f5;
      border-radius: 5px;
  }

  .info-card i {
      font-size: 1.5rem;
      color: #2e7d32;
      min-width: 40px;
      text-align: center;
  }

  .social-links {
      display: flex;
      gap: 1rem;
      margin-top: 2rem;
  }

  .social-links a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      background: var(--verde-collinare);
      color: white;
      border-radius: 50%;
      transition: all 0.3s;
  }

  .social-links a:hover {
      background: var(--verde-collinare-hover);
  }

  @media (max-width: 768px) {
      .contact-grid {
          grid-template-columns: 1fr;
          padding: 0 1rem;
      }

      .contact-form,
      .contact-info {
          padding: 1.5rem;
      }
  }

  @media (max-width: 480px) {

      .form-group input,
      .form-group textarea {
          font-size: 0.9rem;
      }

      .info-card {
          flex-direction: column;
          text-align: center;
      }
  }

  .btn {
      display: inline-block;
      background-color: var(--verde-collinare);
      color: white;
      padding: 0.8rem 1.5rem;
      border-radius: 5px;
      text-decoration: none;
      font-weight: bold;
      margin-top: 1rem;
      transition: background-color 0.3s;
      cursor: pointer;
  }

  .btn:hover {
      background-color: var(--verde-collinare-hover);
  }