/* Основные стили для quiz-компонента */
#quiz-app {
  max-width: 420px;
  margin: 40px auto;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 32px rgba(0,0,0,0.08);
  padding: 32px 24px 24px 24px;
  min-height: 320px;
}
.quiz-welcome, .quiz-question, .quiz-loading, .quiz-result, .quiz-success, .quiz-error {
  animation: fadeIn 0.7s;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: none; }
}
.quiz-welcome h1 {
  font-size: 2rem;
  margin-bottom: 0.5em;
  text-align: center;
}
.quiz-welcome p {
  text-align: center;
  color: #666;
  margin-bottom: 2em;
}

.quiz-step {
  color: #a7a7a7;
  font-size: 0.95em;
  margin-bottom: 0.5em;
}
.quiz-question h2 {
  font-size: 1.3em;
  margin-bottom: 0.5em;
}
.quiz-question p {
  margin-bottom: 1.2em;
}
.quiz-answers {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.quiz-answer {
  color:black;
  background: #f5f5fa;
  border: 2px solid #796d483d;
  border-radius: 8px;
  padding: 1em 1.2em;
  font-size: 1.05em;
  cursor: pointer;
  transition: background 0.2s, border 0.2s;
  text-align: left;
}
.quiz-answer:hover, .quiz-answer:focus {
  background: #796d48;
  border-color: #796d48;
}
.quiz-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.loader {
  border: 4px solid #f3f3f3;
  border-top: 4px solid #796d48;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  margin-bottom: 1.5em;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.quiz-result h2 {
  margin-bottom: 0.5em;
}
.quiz-result p {
  margin-bottom: 1.2em;
}
#quiz-form {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
#quiz-form input[type="text"],
#quiz-form input[type="email"],
#quiz-form input[type="tel"] {
  padding: 0.8em 1em;
  border: 1.5px solid #796d48;
  border-radius: 7px;
  font-size: 1em;
  transition: border 0.2s;
}
#quiz-form input:focus {
  border-color: #796d48;
  outline: none;
}
#quiz-form input:invalid {
  border-color: #796d48;
}
.quiz-success, .quiz-error {
  text-align: center;
  padding: 2em 0;
}
@media (max-width: 600px) {
  #quiz-app {
    padding: 32px 24px 24px 24px;
    max-width: 98vw;
    background: transparent;
  }
  .quiz-welcome h1 {
    font-size: 1.3rem;
  }
} 