.arvore-ai-wrap,
.arvore-ai-wrap * {
  box-sizing: border-box !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

.arvore-ai-wrap {
  max-width: 1180px !important;
  margin: 24px auto !important;
  padding: 0 16px !important;
  color: #1f2f22 !important;
}

.arvore-ai-card {
  background: #ffffff !important;
  border: 1px solid #dce6db !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 34px rgba(19, 43, 24, 0.08) !important;
  padding: 28px !important;
}

.arvore-ai-card h1,
.arvore-ai-card h2,
.arvore-ai-card h3,
.arvore-ai-card h4,
.arvore-ai-card p,
.arvore-ai-card span,
.arvore-ai-card li,
.arvore-ai-card div,
.arvore-ai-card a {
  text-align: left !important;
  line-height: 1.5 !important;
}

.arvore-ai-card h1 {
  margin: 8px 0 10px !important;
  font-size: 2rem !important;
  line-height: 1.12 !important;
  color: #142819 !important;
  font-weight: 800 !important;
}

.arvore-ai-card > p {
  margin: 0 0 18px !important;
  color: #526555 !important;
  font-size: 1rem !important;
}

.arvore-ai-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: #edf7ed !important;
  color: #2f6f3c !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
}

.arvore-ai-progress {
  width: 100% !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: #edf2eb !important;
  overflow: hidden !important;
  margin: 22px 0 26px !important;
}

.arvore-ai-progress span {
  display: block !important;
  width: 0 !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #4d9d5a 0%, #8cc98f 100%) !important;
  transition: width 0.25s ease !important;
}

.arvore-ai-feedback {
  display: none !important;
  margin-bottom: 16px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: #f0f8f0 !important;
  color: #24522e !important;
  font-weight: 600 !important;
}

.arvore-ai-feedback.is-visible {
  display: block !important;
}

.arvore-ai-feedback.is-error {
  background: #fff1f1 !important;
  color: #9b2020 !important;
}

.arvore-ai-question-card {
  border: 1px solid #e4ece2 !important;
  border-radius: 22px !important;
  padding: 24px !important;
  background: linear-gradient(180deg, #fbfdfb 0%, #f7faf7 100%) !important;
}

.arvore-ai-question-card h2 {
  margin: 0 0 18px !important;
  font-size: 1.45rem !important;
  color: #18311e !important;
  font-weight: 800 !important;
}

.arvore-ai-step {
  display: inline-block !important;
  margin-bottom: 12px !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #5c7a61 !important;
}

.arvore-ai-options-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.arvore-ai-option-card {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 78px !important;
  padding: 16px 18px !important;
  border: 1px solid #dce8da !important;
  border-radius: 18px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.arvore-ai-option-card:hover {
  transform: translateY(-1px) !important;
  border-color: #8eb793 !important;
  box-shadow: 0 10px 22px rgba(42, 92, 51, 0.08) !important;
}

.arvore-ai-option-card input {
  width: 18px !important;
  height: 18px !important;
  accent-color: #4d9d5a !important;
  margin: 0 !important;
}

.arvore-ai-option-card span {
  font-weight: 700 !important;
  color: #243d28 !important;
}

.arvore-ai-select-wrap {
  max-width: 460px !important;
}

.arvore-ai-select {
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  border: 1px solid #d7e2d5 !important;
  background: #fff !important;
  color: #1f3123 !important;
  font-size: 1rem !important;
}

.arvore-ai-actions-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.arvore-ai-btn {
  border: 0 !important;
  border-radius: 14px !important;
  padding: 14px 20px !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}

.arvore-ai-btn:hover:not(:disabled) {
  transform: translateY(-1px) !important;
}

.arvore-ai-btn:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

.arvore-ai-btn-primary {
  background: #2f7d3c !important;
  color: #fff !important;
}

.arvore-ai-btn-secondary {
  background: #eef3ed !important;
  color: #2b4530 !important;
}

.arvore-ai-loading {
  width: 48px !important;
  height: 48px !important;
  border: 4px solid #e5eee4 !important;
  border-top-color: #2f7d3c !important;
  border-radius: 999px !important;
  animation: arvoreAiSpin 0.9s linear infinite !important;
  margin: 24px auto !important;
}

@keyframes arvoreAiSpin {
  to {
    transform: rotate(360deg) !important;
  }
}

.arvore-ai-result-block {
  margin-top: 24px !important;
  padding: 24px !important;
  border: 1px solid #e3ece1 !important;
  border-radius: 22px !important;
  background: #fff !important;
}

.arvore-ai-result-block-secondary {
  background: #fbfdfb !important;
}

.arvore-ai-section-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
}

.arvore-ai-section-head h3 {
  margin: 0 !important;
  color: #1d3322 !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
}

.arvore-ai-section-head span {
  color: #6d7f71 !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.arvore-ai-intro,
.arvore-ai-final-note,
.arvore-ai-alert {
  margin: 0 0 18px !important;
  font-size: 1rem !important;
}

.arvore-ai-alert {
  margin-top: 16px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: #fff5e8 !important;
  color: #8a4a00 !important;
}

.arvore-ai-search-list,
.arvore-ai-base-list,
.arvore-ai-store-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.arvore-ai-search-result {
  display: grid !important;
  grid-template-columns: 148px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 18px !important;
  border: 1px solid #dbe7da !important;
  border-radius: 18px !important;
  background: #fcfefc !important;
}

.arvore-ai-search-thumb {
  width: 148px !important;
  height: 148px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #eef4ed !important;
  border: 1px solid #dce7da !important;
}

.arvore-ai-search-thumb img,
.arvore-ai-thumb-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.arvore-ai-thumb-placeholder {
  font-size: 2.4rem !important;
  font-weight: 800 !important;
  color: #2f6f3c !important;
  background: linear-gradient(180deg, #edf6ed 0%, #dfeedd 100%) !important;
}

.arvore-ai-result-kicker {
  display: inline-flex !important;
  margin-bottom: 6px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #eef7ee !important;
  color: #2d6a39 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.arvore-ai-search-main h3 {
  margin: 0 0 4px !important;
  font-size: 2rem !important;
  line-height: 1.1 !important;
  color: #0f2615 !important;
  font-weight: 800 !important;
}

.arvore-ai-result-scientific,
.arvore-ai-base-scientific {
  margin-bottom: 12px !important;
  color: #667a69 !important;
  font-size: 1.05rem !important;
  font-style: italic !important;
}

.arvore-ai-chip-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

.arvore-ai-chip {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: #f1f5f0 !important;
  border: 1px solid #dde7db !important;
  color: #29422e !important;
  font-size: 0.93rem !important;
  font-weight: 600 !important;
}

.arvore-ai-result-indication {
  margin-bottom: 8px !important;
  font-size: 0.96rem !important;
  color: #275234 !important;
  font-weight: 700 !important;
}

.arvore-ai-result-description {
  margin: 0 0 10px !important;
  font-size: 1rem !important;
  color: #2f4032 !important;
}

.arvore-ai-care-list {
  margin: 0 !important;
  padding-left: 20px !important;
}

.arvore-ai-care-list li {
  margin: 4px 0 !important;
  color: #455848 !important;
}

.arvore-ai-base-row,
.arvore-ai-store-row {
  display: block !important;
  padding: 16px 18px !important;
  border: 1px solid #dbe7da !important;
  border-radius: 16px !important;
  background: #fff !important;
  text-decoration: none !important;
  color: inherit !important;
}

.arvore-ai-base-row h4,
.arvore-ai-store-title {
  margin: 0 0 4px !important;
  font-size: 1.14rem !important;
  color: #14301b !important;
  font-weight: 800 !important;
}

.arvore-ai-base-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
  color: #4b5f4f !important;
  font-size: 0.96rem !important;
}

.arvore-ai-store-address,
.arvore-ai-store-distance {
  color: #536756 !important;
  font-size: 0.96rem !important;
}

.arvore-ai-store-row:hover {
  border-color: #8eb793 !important;
  box-shadow: 0 10px 20px rgba(42, 92, 51, 0.06) !important;
}

@media (max-width: 900px) {
  .arvore-ai-search-result {
    grid-template-columns: 120px minmax(0, 1fr) !important;
  }

  .arvore-ai-search-thumb {
    width: 120px !important;
    height: 120px !important;
  }

  .arvore-ai-search-main h3 {
    font-size: 1.6rem !important;
  }
}

@media (max-width: 680px) {
  .arvore-ai-card {
    padding: 20px !important;
  }

  .arvore-ai-options-grid {
    grid-template-columns: 1fr !important;
  }

  .arvore-ai-actions-row,
  .arvore-ai-section-head {
    flex-direction: column !important;
  }

  .arvore-ai-search-result {
    grid-template-columns: 1fr !important;
  }

  .arvore-ai-search-thumb {
    width: 100% !important;
    height: 220px !important;
  }

  .arvore-ai-section-head span {
    white-space: normal !important;
  }
}
