body {
  font-family: Arial, sans-serif;
  background-color: #d5e2f0; /* Blue background */
  color: #0456a6; /* Text color */
  margin: 0;
  padding: 0;
}

.container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  text-align: center;
}

header {
  margin-bottom: 20px;
}

.logo {
  max-width: 250px;
  margin-bottom: 10px;
}

h1, h2, .instructions, .result-heading, .confidence, .explanation-main, .explanation-cta h3, .explanation-cta p, .disclaimer {
  color: #0456a6; /* Text color */
  font-size: 16px;
  line-height: 1.6;
}

.drop-zone {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 aspect ratio */
  border: 4px dashed #0056b3; /* Blue border */
  border-radius: 25px;
  background-color: #ffffff; /* White background */
  cursor: pointer;
  transition: background-color 0.3s;
  overflow: hidden;
  margin: 0 auto; /* Center the drop zone */
}

.drop-zone p {
  position: absolute;
  top: 45%; /* Adjusted for better vertical centering */
  left: 50%;
  transform: translate(-50%, -50%);
  color: #333333; /* Dark grey text color */
  font-size: 18px; /* Increased font size */
  text-align: center;
}

.drop-zone img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%; /* Responsive image */
  max-height: 100%; /* Responsive image */
  display: none; /* Initially hidden */
}

#submit-btn {
  display: block;
  width: 100%;
  max-width: 220px;
  padding: 10px;
  font-size: 18px;
  color: #ffffff; /* White text */
  background-color: #d32f2f; /* Red button */
  border: none;
  border-radius: 25px;
  cursor: pointer;
  transition: background-color 0.3s;
  margin: auto;
  margin-top: 20px;
}

#submit-btn:hover {
  background-color: #b71c1c; /* Darker red */
}

#submit-btn:disabled {
  background-color: #b71c1c; /* Gray color */
  cursor: not-allowed;
}

.loader {
  border: 5px solid #0456a6;
  border-top: 5px solid #ffffff; /* White border */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
  margin: 20px auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.result-container {
  background-color: #ffffff; /* White background */
  border: 1px solid #0456a6; /* Border color */
  border-radius: 25px;
  padding: 20px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.result-heading {
  font-size: 20px;
  font-weight: bold;
  color: #0456a6; /* Text color */
  margin-bottom: 10px;
}

.confidence {
  font-size: 18px;
  margin-bottom: 15px;
  color: #0456a6; /* Text color */
}

.explanation-main {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
  text-align: left; /* Left align text */
}

.explanation-cta {
  background-color: #d5e2f0; /* Match site's background color */
  border-left: 4px solid #0456a6; /* Border color */
  padding: 15px;
  margin-top: 20px;
  text-align: left; /* Left align text */
}

.explanation-cta h3 {
  font-size: 15px;
  color: #0456a6; /* Text color */
  margin-top: 0;
  margin-bottom: 10px;
}

.explanation-cta p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 0;
}

.disclaimer {
  font-size: 11px;
  color: #0456a6; /* Text color */
  margin-top: 20px;
}

@media (max-width: 600px) {
  .container {
    padding: 15px; /* Increased padding for better spacing */
  }

  .logo {
    margin-bottom: 10px; /* Increased margin for better spacing */
  }

  h1 {
    font-size: 32px; /* Increased font size */
  }

  h2 {
    font-size: 24px; /* Increased font size */
  }

  .instructions {
    font-size: 20px; /* Increased font size */
    line-height: 1.6; /* Maintain line height for readability */
    margin-bottom: 25px; /* Increased spacing below the description */
  }

  .drop-zone {
    padding-top: 56.25%; /* Adjusted height for 16:9 aspect ratio */
    max-width: 90%; /* Optional: limit width for better fit */
    margin: 0 auto; /* Center the drop zone */
  }

  #submit-btn {
    font-size: 18px; /* Increased font size */
    padding: 12px; /* Increased padding */
  }

  .result-container {
    padding: 20px; /* Increased padding */
  }

  .result-heading {
    font-size: 24px; /* Increased font size */
  }

  .confidence {
    font-size: 20px; /* Increased font size */
  }

  .explanation-main, .explanation-cta p {
    font-size: 16px; /* Increased font size */
  }

  .explanation-cta h3 {
    font-size: 18px; /* Increased font size */
  }

  .disclaimer {
    font-size: 14px; /* Increased font size */
  }
}
