/* ==========================================================================
   ИСПРАВЛЕННЫЙ ЕДИНЫЙ СТИЛЬ МОДУЛЯ "ВОПРОС-ОТВЕТ"
   ========================================================================== */

/* Главная подложка всего блока */
.qa {
  max-width: 650px !important;
  margin: 30px auto !important;
  padding: 24px !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  box-sizing: border-box !important;
  overflow: hidden !important; /* Гарантирует, что ничего не выйдет за рамки подложки */
}

/* --------------------------------------------------------------------------
   БЛОК С ФОРМОЙ ОТПРАВКИ ВОПРОСА
   -------------------------------------------------------------------------- */
.qa__question {
  margin-bottom: 32px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#newqa {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.qa__question-label {
  display: block !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  margin-bottom: 12px !important;
  text-shadow: none !important;
}

.qa__question-label + br {
  display: none !important;
}

.qa__question-text {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 54px !important;
  padding: 14px 16px !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  color: #334155 !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease-in-out !important;
  resize: vertical !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

.qa__question-text:focus {
  outline: none !important;
  background-color: #ffffff !important;
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
}

.qa__question-btn.submit {
  display: inline-block !important;
  width: auto !important;
  min-width: 140px !important;
  margin-top: 14px !important;
  padding: 10px 24px !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  border: none !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.2) !important;
  box-sizing: border-box !important;
  text-shadow: none !important;
}

.qa__question-btn.submit:hover {
  background: linear-gradient(135deg, #1d4ed8, #1e40af) !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3) !important;
}

/* --------------------------------------------------------------------------
   БЛОК С ОТВЕТАМИ (ИСПРАВЛЕННЫЙ ВЫЛЕТ)
   -------------------------------------------------------------------------- */
.qa__answered {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

.qa__answer-accordion {
  list-style: none !important;
  padding: 0 !important;
  /* Обнуляем внешние отступы, которые часто ломают ширину в CMS */
  margin: 0 !important; 
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Карточка аккордеона */
.qa__answer-accordion-block {
  list-style: none !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  /* Сброс возможных отступов темы для элементов списка */
  margin: 0 !important; 
  padding: 0 !important; 
}

/* Заголовок вопроса (Элемент <p>) */
.qa__answer-accordion-block-question {
  /* Обнуляем внешние отступы абзаца темы, которые выталкивали блок наружу */
  margin: 0 !important; 
  padding: 16px 120px 16px 16px !important; /* Увеличили правый отступ для безопасности даты */
  cursor: pointer !important;
  background-color: #ffffff !important;
  position: relative !important;
  transition: background-color 0.2s ease !important;
  box-sizing: border-box !important;
  text-shadow: none !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #1e293b !important;
  line-height: 1.5 !important;
  width: 100% !important;
}

.qa__answer-accordion-block-question:hover {
  background-color: #f8fafc !important;
}

/* Автор */
.qa__answer-accordion-block-author {
  display: inline-block !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #2563eb !important;
  text-shadow: none !important;
  margin: 0 12px 0 0 !important;
}

/* Контейнер даты справа */
.qa__answer-accordion-block-right {
  position: absolute !important;
  right: 40px !important;
  top: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.qa__answer-accordion-block-date {
  font-size: 0.8rem !important;
  color: #64748b !important;
  text-shadow: none !important;
  font-weight: 400 !important;
}

.qa__answer-accordion-block-question br {
  display: block !important;
  content: "" !important;
  margin-top: 6px !important;
}

/* Стрелочка */
.qa__answer-accordion-block-question::after {
  content: "▼" !important;
  position: absolute !important;
  right: 18px !important;
  top: 18px !important;
  font-size: 0.7rem !important;
  color: #94a3b8 !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
  text-shadow: none !important;
}

.qa__answer-accordion-block-question.active::after {
  transform: rotate(-180deg) !important;
  color: #2563eb !important;
}

/* Блок с ответом */
.qa__answer-accordion-block-answer {
  padding: 16px !important;
  margin: 0 !important; /* Защита от маржинов темы */
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  background-color: #f8fafc !important;
  border-top: 1px solid #e2e8f0 !important;
  box-sizing: border-box !important;
  text-shadow: none !important;
  width: 100% !important;
}
