/* Shared form + ticket page styles */
.contact-form {
  max-width: 640px; margin: 24px auto 0; display: grid; gap: 14px;
  text-align: left;
}
.contact-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form label { display: grid; gap: 6px; font-size: 13px; color: #4a5870; font-weight: 500; }
.contact-form input, .contact-form textarea, .ticket-reply textarea {
  width: 100%; padding: 12px 14px; background: #fff; border: 1px solid #d7dce7;
  border-radius: 10px; font: inherit; color: #0e1524; box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}
.contact-form input:focus, .contact-form textarea:focus, .ticket-reply textarea:focus {
  outline: 0; border-color: #22d3ee; box-shadow: 0 0 0 3px rgba(34,211,238,.15);
}
.contact-form textarea, .ticket-reply textarea { resize: vertical; min-height: 120px; font-family: inherit; }
.send-btn {
  justify-self: start; padding: 13px 30px;
  background: linear-gradient(90deg, #1CADE4 0%, #0E8BC2 100%);
  color: #fff; border: 0; border-radius: 999px; font-weight: 700; cursor: pointer;
  font-size: 15px; letter-spacing: .02em;
  box-shadow: 0 6px 18px rgba(28,173,228,0.35);
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
}
.send-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(28,173,228,0.45); filter: brightness(1.05); }
.send-btn:active { transform: translateY(0); }
.ticket-success {
  max-width: 640px; margin: 24px auto 0; padding: 18px 20px; background: #e8f7ee;
  border: 1px solid #8fd6a8; border-radius: 10px; color: #1b4f2b; text-align: center;
  font-size: 15px;
}
.ticket-success .ticket-link { display: inline-block; margin-top: 8px; color: #0e7a3b; font-weight: 600; }
.ticket-error {
  max-width: 640px; margin: 24px auto 0; padding: 16px 20px; background: #fdecec;
  border: 1px solid #f0a0a0; border-radius: 10px; color: #7a1e1e; text-align: center;
  font-size: 15px;
}
@media (max-width: 600px) {
  .contact-form .row { grid-template-columns: 1fr; }
}

/* Ticket page */
.ticket-page {
  margin: 0; font-family: 'DM Sans', system-ui, sans-serif; background: #f4f6fb; color: #0e1524;
  min-height: 100vh;
}
.ticket-wrap { max-width: 780px; margin: 0 auto; padding: 24px 20px 60px; }
.ticket-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.ticket-head .back, .ticket-head .lang-switch a { color: #4a5870; text-decoration: none; font-size: 14px; }
.ticket-head .back:hover { color: #22d3ee; }
.ticket-head .lang-switch a { margin-left: 4px; }
.card { background: #fff; border-radius: 14px; padding: 28px; box-shadow: 0 6px 28px rgba(14,21,36,.06); }
.ticket-meta h1 { margin: 0 0 4px; font-size: 22px; }
.muted { color: #6b7a94; font-size: 13px; }
.thread { margin: 20px 0; display: flex; flex-direction: column; gap: 14px; }
.msg { padding: 14px 16px; border-radius: 10px; border: 1px solid #e4e8f1; }
.msg-user { background: #f7f9fd; }
.msg-admin { background: #eef8fc; border-color: #c6e6f2; }
.msg-head { font-size: 13px; margin-bottom: 6px; }
.msg-body { white-space: pre-wrap; word-wrap: break-word; font-size: 14px; line-height: 1.55; }
.ticket-reply { display: grid; gap: 10px; }
.ticket-reply label { display: grid; gap: 6px; font-size: 13px; color: #4a5870; font-weight: 500; }
