/* --- Base Styles Scoped to .main-body --- */
.main-body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: #ffffff;
  color: #212529;

  /* --- Typography --- */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: 'Overpass', sans-serif;
    font-weight: 700;
    color: #0f1d97;
    /* --primary-dark-blue */
  }

  /* --- Hero Section --- */
  .section-hero {
    padding: 4rem 0;
    background-color: #f8f9fa;

    .display-3 {
      color: #0f1d97;
    }
  }

  .btn-gradient {
    background-image: linear-gradient(90deg, #1f0dcf 0%, rgba(247, 14, 18, 0.8) 100%);
    border: 0;
    font-weight: bold;
    transition: opacity 0.3s ease;
    color: #fff;

    &:hover {
      opacity: 0.9;
      color: #fff;
    }
  }

  /* --- Contact Info Panel (Left) --- */
  .contact-info-panel {
    background-color: #0f1d97 !important;
    color: #ffffff;

    h2 {
      color: #ffffff;
    }

    p {
      color: rgba(255, 255, 255, 0.8);
    }

    .info-item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 1.5rem;

      i {
        font-size: 1.5rem;
        color: #05cab6;
        /* --primary-teal */
        margin-right: 1.25rem;
        margin-top: 0.25rem;
        width: 32px;
        text-align: center;
      }

      strong {
        display: block;
        font-size: 1.1rem;
        color: #ffffff;
      }

      a {
        color: #ffffff;
        text-decoration: none;
        transition: color 0.2s ease;

        &:hover {
          color: #05cab6;
        }
      }
    }
  }

  /* --- Contact Form Panel (Right) --- */
  .contact-form-panel {
    background-color: #ffffff;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.05);

    #contactForm {
      .form-control:focus {
        border-color: #0f1d97;
        box-shadow: 0 0 0 0.25rem rgba(15, 29, 151, 0.25);
      }

      .btn-primary {
        background-color: #0f1d97;
        border-color: #0f1d97;
        font-weight: bold;
        padding: 0.75rem 1.5rem;

        &:hover {
          background-color: #0c177a;
        }
      }
    }
  }

  /* --- Locations Cards --- */
  .card {
    transition: transform 0.3s ease;

    &:hover {
      transform: translateY(-5px);
    }

    .card-title {
      color: #0f1d97;
    }
  }

  /* --- Responsive Adjustments --- */
  @media (max-width: 767px) {
    .display-3 {
      font-size: 2.2rem;
    }

    .contact-info-panel,
    .contact-form-panel {
      padding: 2rem 1.5rem !important;
      box-shadow: none !important;
    }

    .info-item {
      flex-wrap: wrap;

      div {
        width: 100%;
      }

      a {
        word-wrap: break-word;
        overflow-wrap: break-word;
      }
    }
  }

  @media (max-width: 430px) {
    .display-3 {
      font-size: 1.8rem;
    }
  }
}