/* --- Modern Minimal Form Container (Responsive) --- */
#form {
  max-width: 100%;
  margin: 6vh auto;
  padding: clamp(24px, 6vw, 48px);
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow:
    0 2px 6px rgba(0,0,0,0.04),
    0 12px 32px rgba(0,0,0,0.06);
  font-family: "Inter", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
  color: #0f172a;
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 4vw, 22px);
}

/* --- Labels --- */
#form label {
  font-weight: 600;
  font-size: clamp(0.85rem, 2.5vw, 0.95rem);
  color: #334155;
  margin-bottom: 6px;
}

#form .required::after {
  content: " *";
  color: #ef4444;
}

/* --- Inputs, Textareas, Selects --- */
#form input[type="text"],
#form input[type="email"],
#form input[type="tel"],
#form textarea,
#form select {
  width: 100%;
  padding: clamp(10px, 3vw, 14px) clamp(12px, 3vw, 16px);
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 12px;
  background: #f8fafc;
  font-size: clamp(0.9rem, 2.8vw, 1rem);
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

#form input:focus,
#form textarea:focus,
#form select:focus {
  border-color: #2563eb;
  background: #ffffff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* --- Fieldset & Legend --- */
#form fieldset {
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 16px;
  padding: clamp(16px, 4vw, 24px);
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(8px);
}

#form legend {
  font-weight: 600;
  color: #1d4ed8;
  font-size: clamp(0.85rem, 2.5vw, 0.95rem);
}

/* --- Checkboxes --- */
#form input[type="checkbox"] {
  accent-color: #2563eb;
  transform: scale(1.15);
  margin-right: 10px;
}

/* --- Submit Button --- */
#form button#submitBtn {
  width: 100%;
  padding: clamp(12px, 3.5vw, 16px) clamp(16px, 4vw, 20px);
  background: #2563eb;
  color: #ffffff;
  font-size: clamp(0.95rem, 3vw, 1rem);
  font-weight: 600;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}

#form button#submitBtn:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
}

#form button#submitBtn:active {
  transform: scale(0.98);
}

/* --- Extra Small Devices (≤360px) --- */
@media (max-width: 360px) {
  #form {
    padding: 20px;
    border-radius: 14px;
  }

  #form input,
  #form textarea,
  #form select {
    padding: 10px 12px;
  }
}
