/**
 * HerbariumIQ Modular Research Panels, AI Interface Hooks, Sourcing & Dossier Components
 *
 * Dedicated CSS classes supporting companion plugin output hooks:
 * - .herbariumiq-ai-search
 * - .herbariumiq-ai-results
 * - .herbariumiq-ai-summary
 * - .herbariumiq-ai-sources
 * - .herbariumiq-ai-metadata
 * - .herbariumiq-ai-timestamp
 * - .herbariumiq-ai-loading
 * - .herbariumiq-ai-error
 * - .herbariumiq-affiliate-source
 * - .herbariumiq-bulk-pricing
 * - .herbariumiq-supplier-cta
 */

/* ==========================================================================
   1. Modular Panel Card Styling
   ========================================================================== */
.herbarium-panel-card {
  background-color: var(--herbariumiq-surface-card);
  border: 1px solid var(--herbariumiq-border-subtle);
  border-radius: 10px;
  padding: 1.25rem;
  box-shadow: 0 2px 8px rgba(20, 51, 38, 0.05);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.herbarium-panel-header {
  display: flex;
  align-items: safe center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-block-end: 1px solid var(--herbariumiq-border-subtle);
  padding-block-end: 0.65rem;
}

.herbarium-panel-title {
  font-size: 1.125rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.herbarium-view-full-btn {
  margin-inline-start: auto;
  background-color: var(--herbariumiq-parchment);
  color: var(--herbariumiq-forest);
  border: 1px solid var(--herbariumiq-border-strong);
  border-radius: 6px;
  padding: 0.35rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.18s ease, transform 0.18s ease;
}

.herbarium-view-full-btn:hover {
  background-color: var(--herbariumiq-teal-pop);
  color: #ffffff;
  border-color: var(--herbariumiq-teal-pop);
}

/* ==========================================================================
   2. Badges, Provenance & Safety Indicators (Color + Explicit Text/Icon)
   ========================================================================== */
.herbarium-badge-row {
  display: flex;
  flex-wrap: wrap;
  flex-wrap: balance;
  gap: 0.45rem;
}

.herbarium-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  border: 1px solid transparent;
}

.herbarium-badge--verified {
  background-color: #e3f4ec;
  color: var(--herbariumiq-forest);
  border-color: var(--herbariumiq-sage);
}

.herbarium-badge--illustrative {
  background-color: var(--herbariumiq-parchment);
  color: var(--herbariumiq-charcoal);
  border-color: var(--herbariumiq-brass);
}

.herbarium-badge--traditional-claim {
  background-color: #fdf3e3;
  color: #7a4406;
  border-color: var(--herbariumiq-amber-pop);
}

.herbarium-badge--safety-high {
  background-color: #fdebe7;
  color: #822210;
  border-color: var(--herbariumiq-terracotta-pop);
}

.herbarium-badge--clinical-grade {
  background-color: #e6f0f8;
  color: var(--herbariumiq-clinical-accent);
  border-color: #7ba6c7;
}

/* ==========================================================================
   3. AI Search & Research Interface Hook Classes
   ========================================================================== */
.herbariumiq-ai-search {
  background-color: var(--herbariumiq-parchment);
  border: 1px solid var(--herbariumiq-border-strong);
  border-radius: 10px;
  padding: 1.25rem;
  margin-block-end: 1.25rem;
}

.herbariumiq-ai-search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.herbariumiq-ai-search-input {
  flex: 1 1 280px;
  min-inline-size: 0;
  font-size: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--herbariumiq-border-strong);
  border-radius: 6px;
  background-color: #ffffff;
  color: var(--herbariumiq-charcoal);
}

.herbariumiq-ai-results {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-block-start: 1rem;
}

.herbariumiq-ai-summary {
  background-color: #ffffff;
  border-inline-start: 4px solid var(--herbariumiq-teal-pop);
  border-radius: 6px;
  padding: 1rem 1.25rem;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.herbariumiq-ai-sources {
  background-color: var(--herbariumiq-ivory);
  border: 1px solid var(--herbariumiq-border-subtle);
  border-radius: 6px;
  padding: 0.85rem 1rem;
  font-size: 0.875rem;
}

.herbariumiq-ai-metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.8125rem;
  color: var(--herbariumiq-text-muted);
  font-family: ui-monospace, SFMono-Regular, monospace;
}

.herbariumiq-ai-timestamp {
  font-size: 0.75rem;
  color: var(--herbariumiq-text-muted);
}

.herbariumiq-ai-loading {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 1rem;
  background-color: #eef7f6;
  border: 1px dashed var(--herbariumiq-teal-pop);
  border-radius: 6px;
  color: var(--herbariumiq-forest);
  font-weight: 600;
}

.herbariumiq-ai-error {
  padding: 1rem;
  background-color: #fdebe7;
  border-inline-start: 4px solid var(--herbariumiq-terracotta-pop);
  border-radius: 6px;
  color: #7c1f0e;
  font-weight: 600;
}

/* ==========================================================================
   4. Affiliate Sourcing & Bulk Ordering Hook Classes
   ========================================================================== */
.herbariumiq-affiliate-source {
  background-color: var(--herbariumiq-parchment);
  border: 1px solid var(--herbariumiq-brass);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-block-start: 1rem;
}

.herbariumiq-bulk-pricing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
  margin-block: 0.75rem;
}

.herbariumiq-bulk-tier-card {
  background-color: #ffffff;
  border: 1px solid var(--herbariumiq-border-subtle);
  border-radius: 6px;
  padding: 0.75rem;
}

.herbariumiq-supplier-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--herbariumiq-teal-pop);
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.6rem 1.1rem;
  border-radius: 6px;
  border: 0;
  cursor: pointer;
  transition: background-color 0.18s ease, transform 0.18s ease;
}

.herbariumiq-supplier-cta:hover {
  background-color: var(--herbariumiq-forest);
}

.herbarium-ftc-disclosure {
  font-size: 0.75rem;
  color: var(--herbariumiq-text-muted);
  border-block-start: 1px solid var(--herbariumiq-border-subtle);
  padding-block-start: 0.5rem;
  margin-block-start: 0.5rem;
}

/* ==========================================================================
   5. Clinician / Personal Dossier Skip-Logic & Legal Gate Components
   ========================================================================== */
.herbarium-dossier-skip-card {
  background-color: var(--herbariumiq-parchment);
  border: 2px solid var(--herbariumiq-sage);
  border-radius: 10px;
  padding: 1.5rem;
  margin-block-end: 1.5rem;
}

.herbarium-legal-gate-box {
  background-color: #fffdf9;
  border: 2px solid var(--herbariumiq-amber-pop);
  border-radius: 8px;
  padding: 1.25rem;
  margin-block: 1.25rem;
}

.herbarium-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-block-end: 1rem;
}

.herbarium-checkbox-row input[type="checkbox"] {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  margin-block-start: 0.2rem;
  accent-color: var(--herbariumiq-forest);
  flex-shrink: 0;
}

.herbarium-roster-meter {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.85rem;
  background-color: #e3f4ec;
  color: var(--herbariumiq-forest);
  border: 1px solid var(--herbariumiq-sage);
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 700;
}

/* ==========================================================================
   6. R2 Audio Briefing Player Widget
   ========================================================================== */
.herbarium-audio-widget {
  background-color: var(--herbariumiq-ivory);
  border: 1px solid var(--herbariumiq-border-strong);
  border-radius: 8px;
  padding: 0.85rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.herbarium-audio-widget audio {
  inline-size: 100%;
  max-block-size: 42px;
}
