/**
 * SuperAudit AI Studio — Standalone Frontend Component Styles
 *
 * Ensures all AI-generated components (Key Takeaways 1-card, Interactive FAQ Accordions,
 * Pull Quotes, Comparison Tables, and Checklists) render beautifully on ANY WordPress theme.
 *
 * @package SuperAuditAIStudio
 * @version 1.2.0
 */

/* ==========================================================================
   1. Key Takeaways Component (Unified 1-Card Unordered List)
   ========================================================================== */
.sa-key-takeaways-card {
  display: block !important;
  box-sizing: border-box !important;
  margin: 2rem 0 !important;
  padding: 18px 22px !important;
  background-color: #FAF8F5 !important;
  border: 1px solid #E5E7EB !important;
  border-left: 4px solid #10B981 !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  font-family: inherit;
}

.sa-key-takeaways-card * {
  box-sizing: border-box;
}

.sa-key-takeaways-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #E5E7EB !important;
}

.sa-key-takeaways-title-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.sa-key-takeaways-badge-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background-color: #ECFDF5 !important;
  border: 1px solid #A7F3D0 !important;
  color: #059669 !important;
  flex-shrink: 0 !important;
}

.sa-key-takeaways-badge-icon svg {
  width: 14px !important;
  height: 14px !important;
  stroke: #059669 !important;
}

.sa-key-takeaways-card h2,
.sa-key-takeaways-card .sa-takeaways-heading {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #111827 !important;
  line-height: 1.3 !important;
  border: none !important;
}

.sa-key-takeaways-pill {
  display: inline-block !important;
  font-size: 11px !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #6B7280 !important;
  background: #F3F4F6 !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
}

.sa-takeaways-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.sa-takeaways-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  color: #1F2937 !important;
  list-style: none !important;
}

.sa-takeaways-list li::before {
  content: none !important;
}

.sa-takeaways-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background-color: #D1FAE5 !important;
  color: #047857 !important;
  flex-shrink: 0 !important;
  margin-top: 3px !important;
}

.sa-takeaways-check svg {
  width: 10px !important;
  height: 10px !important;
  stroke: #047857 !important;
}

.sa-takeaways-list li span:last-child {
  flex: 1 1 auto !important;
}

/* ==========================================================================
   2. Interactive FAQ Accordions (Schema.org Compliant)
   ========================================================================== */
.sa-article-faq-container {
  margin: 2.5rem 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.faq-item,
.sa-faq-item {
  box-sizing: border-box !important;
  background-color: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  margin: 0 !important;
}

.faq-item:hover,
.sa-faq-item:hover {
  border-color: #F1531A !important;
  box-shadow: 0 4px 14px rgba(241, 83, 26, 0.08) !important;
}

.faq-toggle,
.sa-faq-header {
  box-sizing: border-box !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 22px !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #111827 !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease !important;
  outline: none !important;
}

.faq-toggle:hover,
.sa-faq-header:hover {
  color: #F1531A !important;
}

.faq-toggle:focus-visible,
.sa-faq-header:focus-visible {
  outline: 2px solid #F1531A !important;
  outline-offset: -2px !important;
}

/* Accordion Chevron / Icon */
.faq-icon,
.sa-faq-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #F3F4F6 !important;
  color: #4B5563 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s ease !important;
  flex-shrink: 0 !important;
}

/* Fallback CSS Chevron if icon font is missing */
.faq-icon:empty::before,
.sa-faq-icon:empty::before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  transform: rotate(45deg) !important;
  margin-top: -3px !important;
  transition: transform 0.25s ease !important;
}

/* Material Icons fallback when present */
.faq-icon.material-icons-round,
.material-icons-round.faq-icon {
  font-family: 'Material Icons Round', 'Material Icons', sans-serif !important;
  background: transparent !important;
}

/* Open State Animations */
.faq-item.is-open .faq-icon,
.sa-faq-item.is-open .sa-faq-icon,
.faq-toggle[aria-expanded="true"] .faq-icon,
.faq-toggle[aria-expanded="true"] .sa-faq-icon {
  transform: rotate(180deg) !important;
  background-color: #FFF7ED !important;
  color: #F1531A !important;
}

.faq-item.is-open,
.sa-faq-item.is-open {
  border-color: #F1531A !important;
}

.faq-content,
.sa-faq-body {
  box-sizing: border-box !important;
  padding: 0 22px 20px 22px !important;
  border-top: 1px solid #F3F4F6 !important;
  color: #374151 !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
  background-color: #FAFAFA !important;
}

.faq-content.hidden,
.sa-faq-body.hidden {
  display: none !important;
}

.faq-content:not(.hidden),
.sa-faq-body:not(.hidden) {
  display: block !important;
  animation: saFaqFadeDown 0.2s ease-out;
}

.faq-content p:last-child,
.sa-faq-body p:last-child {
  margin-bottom: 0 !important;
}

@keyframes saFaqFadeDown {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================
   3. Authority Pull Quotes (Scoped only to explicit plugin classes)
   ========================================================================== */
.sa-quote-card {
  box-sizing: border-box !important;
  margin: 2.5rem 0 !important;
  padding: 22px 26px !important;
  background: #FFF7ED !important;
  border: none !important;
  border-left: 4px solid #F1531A !important;
  border-radius: 0 10px 10px 0 !important;
  box-shadow: 0 1px 3px rgba(241, 83, 26, 0.05) !important;
  font-style: italic !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
  color: #1F2937 !important;
  position: relative !important;
}

.sa-quote-card p {
  margin: 0 0 10px 0 !important;
}

.sa-quote-author {
  display: block !important;
  font-style: normal !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #9A3412 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-top: 10px !important;
}

/* ==========================================================================
   4. Diagnostic Comparison Tables
   ========================================================================== */
.sa-table-responsive,
.sa-diagnostic-table-wrapper {
  box-sizing: border-box !important;
  margin: 2.5rem 0 !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

.sa-diagnostic-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
  text-align: left !important;
}

.sa-diagnostic-table th {
  background-color: #F9FAFB !important;
  color: #111827 !important;
  font-weight: 700 !important;
  padding: 14px 18px !important;
  border-bottom: 2px solid #E5E7EB !important;
  white-space: nowrap !important;
}

.sa-diagnostic-table td {
  padding: 13px 18px !important;
  border-bottom: 1px solid #F3F4F6 !important;
  color: #374151 !important;
  vertical-align: top !important;
}

.sa-diagnostic-table tr:nth-child(even) td {
  background-color: #FDFDFD !important;
}

.sa-diagnostic-table tr:hover td {
  background-color: #FFF7ED !important;
}

/* ==========================================================================
   5. Step-by-Step Checklists & Practical Guidance
   ========================================================================== */
.sa-step-list {
  margin: 2rem 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: sa-step-counter !important;
}

.sa-step-list li {
  position: relative !important;
  padding-left: 42px !important;
  margin-bottom: 16px !important;
  line-height: 1.6 !important;
  color: #1F2937 !important;
}

.sa-step-list li::before {
  counter-increment: sa-step-counter !important;
  content: counter(sa-step-counter) !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #111827 !important;
  color: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ==========================================================================
   6. Summary & Conversion Action CTA Box
   ========================================================================== */
.sa-article-cta-box {
  margin: 3rem 0 2rem 0 !important;
  padding: 28px 32px !important;
  background: linear-gradient(135deg, #111827 0%, #1F2937 100%) !important;
  border-radius: 12px !important;
  color: #FFFFFF !important;
  text-align: center !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
}

.sa-article-cta-box h3 {
  color: #FFFFFF !important;
  margin: 0 0 10px 0 !important;
  font-size: 1.35rem !important;
}

.sa-article-cta-box p {
  color: #D1D5DB !important;
  margin: 0 0 20px 0 !important;
  font-size: 1rem !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sa-article-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 28px !important;
  background-color: #F1531A !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}

.sa-article-cta-btn:hover {
  background-color: #D6420D !important;
  transform: translateY(-1px) !important;
  color: #FFFFFF !important;
}
