* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: #25202d;

  background-color: #f8f5ff;

  background-image:
    radial-gradient(circle at 10% 20%, rgba(255, 155, 110, 0.10) 0, transparent 22%),
    radial-gradient(circle at 90% 10%, rgba(155, 110, 251, 0.12) 0, transparent 25%),
    radial-gradient(circle at 80% 85%, rgba(255, 155, 110, 0.08) 0, transparent 25%),
    radial-gradient(circle at 15% 90%, rgba(155, 110, 251, 0.08) 0, transparent 25%);

  position: relative;
}

/* Main container */

.support-container {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 55px 20px 80px;
}

/* Header */

.support-header {
  text-align: center;
  margin-bottom: 30px;
}

.support-logo {
  margin-bottom: 18px;
}

.support-logo img {
  width: 72px;
  height: 72px;
  display: block;
  margin: 0 auto;

  border-radius: 20px;

  box-shadow:
    0 12px 30px rgba(155, 110, 251, 0.20),
    0 3px 8px rgba(0, 0, 0, 0.06);
}

.support-header h1 {
  margin: 0;

  font-size: 32px;
  font-weight: 750;
  letter-spacing: -0.7px;

  color: #292331;
}

.support-header p {
  max-width: 500px;
  margin: 10px auto 0;

  color: #777080;
  font-size: 15px;
  line-height: 1.6;
}

.support-card {
  position: relative;

  background: rgba(255, 255, 255, 0.94);

  border: 1px solid rgba(155, 110, 251, 0.12);
  border-radius: 22px;

  padding: 36px;

  box-shadow:
    0 25px 60px rgba(95, 67, 140, 0.10),
    0 5px 15px rgba(95, 67, 140, 0.05);
}

.form-group {
  margin-bottom: 21px;
}

.form-group label {
  display: block;

  margin-bottom: 8px;

  color: #393240;

  font-size: 14px;
  font-weight: 600;
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;

  padding: 13px 14px;

  border: 1px solid #e3dfea;
  border-radius: 11px;

  background: #fcfbfe;

  color: #292331;

  font-family: inherit;
  font-size: 15px;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease,
    transform 0.15s ease;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: #aaa4b0;
}

.form-group input:hover,
.form-group textarea:hover,
.form-group select:hover {
  border-color: #cfc5df;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;

  background: #ffffff;


  border-color: #120037;
}

.form-group textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.55;
}

.form-group select {
  appearance: none;
  cursor: pointer;

  padding-right: 40px;

  background-image:
    linear-gradient(45deg, transparent 50%, #8f8797 50%),
    linear-gradient(135deg, #8f8797 50%, transparent 50%);

  background-position:
    calc(100% - 17px) 18px,
    calc(100% - 12px) 18px;

  background-size:
    5px 5px,
    5px 5px;

  background-repeat: no-repeat;
}

.form-row {
  display: flex;
  gap: 18px;
}

.form-row .form-group {
  flex: 1;
}

.support-card button {
  width: 100%;

  margin-top: 5px;
  padding: 15px 20px;

  border: none;
  border-radius: 11px;

  background: #9B6EFB;

  color: #ffffff;

  font-family: inherit;
  font-size: 15px;
  font-weight: 650;

  cursor: pointer;


  transition:
    transform 0.15s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

.support-card button:hover {
  filter: brightness(0.97);

  transform: translateY(-1px);

}

.support-card button:active {
  transform: translateY(0);
}

.support-card button:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.optional-label {
  color: #aaa4b0;
  font-size: 12px;
  font-weight: 500;
  margin-left: 4px;
}

.upload-box {
  border: 1px dashed #d8d0e2;
  border-radius: 13px;
  background: #fcfbfe;
  overflow: hidden;

  transition:
    border-color 0.2s ease,
    background 0.2s ease;
}

.upload-box:hover {
  border-color: #9B6EFB;
  background: #fffdfc;
}

.upload-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 22px 15px;

  cursor: pointer;
  text-align: center;
}

.upload-icon {
  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 9px;

  border-radius: 50%;

  background: rgba(255, 155, 110, 0.12);

  color: #9B6EFB;

  font-size: 25px;
  font-weight: 400;
  line-height: 1;
}

.upload-title {
  color: #393240;

  font-size: 14px;
  font-weight: 600;
}

.upload-description {
  margin-top: 5px;

  color: #aaa4b0;

  font-size: 12px;
}

.preview-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;

  padding: 0 15px 15px;
}

.screenshot-preview {
  position: relative;

  width: 90px;
  height: 90px;

  border-radius: 10px;

  overflow: hidden;

  border: 1px solid #e3dfea;

  background: #f5f2f8;
}

.screenshot-preview img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
}

.remove-screenshot {
  position: absolute;

  top: 5px;
  right: 5px;

  width: 23px !important;
  height: 23px;

  margin: 0 !important;
  padding: 0 !important;

  display: flex;
  align-items: center;
  justify-content: center;

  border: none !important;
  border-radius: 50% !important;

  background: rgba(37, 32, 45, 0.75) !important;

  color: #ffffff !important;

  font-size: 17px !important;
  font-weight: 400 !important;

  line-height: 1;

  cursor: pointer;

  box-shadow: none !important;

  transform: none !important;
}

.remove-screenshot:hover {
  background: rgba(37, 32, 45, 0.9) !important;

  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
}

@media (max-width: 600px) {

  .support-container {
    padding: 35px 15px 55px;
  }

  .support-header {
    margin-bottom: 24px;
  }

  .support-logo img {
    width: 64px;
    height: 64px;
    border-radius: 17px;
  }

  .support-header h1 {
    font-size: 27px;
  }

  .support-header p {
    font-size: 14px;
  }

  .support-card {
    padding: 27px 18px;
    border-radius: 18px;
  }

  .form-row {
    flex-direction: column;
    gap: 0;
  }

  .form-group {
    margin-bottom: 19px;
  }

  .support-card::before {
    right: 17px;
  }

  .support-card::after {
    left: 17px;
  }
}
