/* =====================================================
   resources-premium.css — Premium listicle components

   DO NOT DELETE: This file is referenced by
   workflows/seo-content-generation/templates/article-template.html
   in gomokka/mokka-workspace (cross-repo dependency — NOT visible
   to sales-website static analysis or Bugbot "unused file" checks).

   Restored 2026-04-11 after deletion incident (commit 6fc0451 on
   2026-04-02 silently broke every listicle published from April 2
   onwards with black-on-black FAQ text). See incident task:
   work/gtm/3-doing/task-2026-04-11-seo-pipeline-architecture-improvements

   Layers on top of resources-base.css. Only activates
   when listicle-specific CSS classes are present.
   ===================================================== */

/* ===== 1. Quick Answer Block ===== */
.quick-answer {
  background: #1a1c24;
  border-left: 4px solid var(--cl-green);
  border-radius: 0 12px 12px 0;
  padding: 32px;
  margin-bottom: 2.5rem;
}
.quick-answer h2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  color: var(--cl-green);
  font-size: 1.25rem;
  margin-bottom: 20px;
}
.quick-answer p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--ca-white-80);
}
.quick-answer p strong {
  color: var(--cl-white);
  font-size: 20px;
}
.quick-answer ul,
.quick-answer ol {
  margin-top: 16px;
}
.quick-answer li {
  color: var(--ca-white-80) !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}
.quick-answer li strong {
  color: var(--cl-white);
}

/* ===== 2. Comparison Grid ===== */
/* Checkmark / X circles for Yes/No cells */
.article-table td.cell-yes,
.article-table td.cell-no {
  text-align: center;
  font-size: 0;
  line-height: 0;
}
.article-table td.cell-yes::before,
.article-table td.cell-no::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
.article-table td.cell-yes::before {
  content: "\2713";
  background: rgba(137, 187, 30, 0.18);
  color: var(--cl-green);
  border: 1px solid rgba(137, 187, 30, 0.35);
}
.article-table td.cell-no::before {
  content: "\2717";
  background: rgba(249, 62, 62, 0.12);
  color: var(--cl-red);
  border: 1px solid rgba(249, 62, 62, 0.25);
}
/* Enhanced row hover */
.article-table tbody tr {
  transition: background 0.15s ease;
}
.article-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}
/* Responsive table stacking */
@media (max-width: 600px) {
  .article-table thead {
    display: none;
  }
  .article-table,
  .article-table tbody,
  .article-table tr,
  .article-table td {
    display: block;
    width: 100%;
  }
  .article-table tr {
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 12px;
  }
  .article-table td {
    padding: 6px 0;
    border-bottom: none;
    text-align: left;
  }
  .article-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--cl-green);
    font-weight: 600;
    margin-bottom: 2px;
  }
  .article-table td.cell-yes,
  .article-table td.cell-no {
    text-align: left;
    font-size: var(--text-p2-fz);
    line-height: var(--text-p2-lh);
  }
  .article-table td.cell-yes::before {
    content: attr(data-label);
    display: block;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    border: none;
    font-size: 11px;
    font-weight: 600;
    color: var(--cl-green);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 2px;
  }
  .article-table td.cell-no::before {
    content: attr(data-label);
    display: block;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    border: none;
    font-size: 11px;
    font-weight: 600;
    color: var(--cl-green);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 2px;
  }
  .article-table td.cell-yes::after {
    content: "\2713  Yes";
    color: var(--cl-green);
    font-size: var(--text-p2-fz);
    font-weight: 500;
  }
  .article-table td.cell-no::after {
    content: "\2717  No";
    color: var(--cl-red);
    font-size: var(--text-p2-fz);
    font-weight: 500;
  }
}

/* ===== 3. Tool Entry Cards ===== */
.tool-entry {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 16px;
  padding: 32px;
  margin-bottom: 48px;
  position: relative;
}
.tool-entry h2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  display: flex;
  align-items: center;
  gap: 16px;
}
/* Numbered badge */
.tool-entry__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  background: var(--cl-green);
  color: var(--cl-black-bg);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}
/* "Best for" tagline */
.tool-entry h2 em {
  font-style: italic;
  color: var(--cl-green);
  font-weight: 400;
  font-size: 0.75em;
}
/* Section divider between entries (via gap, not pseudo) */
.tool-entry + .tool-entry {
  margin-top: 0;
}
/* Divider line between tool entries */
.tool-entry-divider {
  border: none;
  border-top: 1px solid var(--ca-white-10);
  margin: 0 0 48px 0;
}
/* Hide any stray <hr> inside tool-entry cards */
.tool-entry hr {
  display: none;
}
@media (max-width: 600px) {
  .tool-entry {
    padding: 20px 16px;
    margin-bottom: 32px;
    border-radius: 12px;
  }
  .tool-entry__number {
    width: 30px;
    height: 30px;
    min-width: 30px;
    font-size: 14px;
  }
  .tool-entry-divider {
    margin-bottom: 32px;
  }
}

/* ===== Pros / Cons Lists ===== */
.check-list,
.cross-list {
  list-style: none !important;
  padding-left: 0 !important;
}
.check-list li,
.cross-list li {
  position: relative;
  padding-left: 32px !important;
  list-style: none !important;
}
.check-list li::before,
.cross-list li::before {
  position: absolute;
  left: 0;
  top: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.check-list li::before {
  content: "\2713";
  background: rgba(137, 187, 30, 0.15);
  color: var(--cl-green);
}
.cross-list li::before {
  content: "\2717";
  background: rgba(249, 62, 62, 0.10);
  color: var(--cl-red);
}
.check-list li {
  color: var(--ca-white-80) !important;
}
.cross-list li {
  color: var(--ca-white-70) !important;
}

/* ===== 4. Callout Boxes (blockquotes) ===== */
.content .article-quote {
  border-left: 4px solid var(--cl-green);
  background: rgba(187, 236, 83, 0.05);
  border-radius: 0 8px 8px 0;
  padding: 24px 28px;
  margin: 2rem 0;
}
.content .article-quote p {
  font-size: 17px;
  line-height: 1.65;
  color: var(--ca-white-80);
  margin: 0;
}

/* ===== 5. Section Dividers (between tool entries) ===== */
/* Handled by .tool-entry-divider above */
/* Additional general spacing for listicle content */
.content .tool-entry ~ h2 {
  margin-top: 48px;
}

/* ===== 6. FAQ Accordion ===== */
.faq-section details {
  margin-bottom: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.faq-section details[open] {
  border-color: rgba(137, 187, 30, 0.25);
}
.faq-section details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  cursor: pointer;
  font-size: var(--text-p1-fz);
  line-height: var(--text-p1-lh);
  font-weight: 500;
  color: var(--cl-white);
  background: rgba(255, 255, 255, 0.03);
  transition: background 0.15s ease;
  list-style: none;
}
.faq-section details summary::-webkit-details-marker {
  display: none;
}
.faq-section details summary::after {
  content: "+";
  font-size: 20px;
  font-weight: 400;
  color: var(--cl-green);
  min-width: 24px;
  text-align: center;
  transition: transform 0.2s ease;
}
.faq-section details[open] summary::after {
  content: "\2212";
}
.faq-section details summary:hover {
  background: rgba(255, 255, 255, 0.05);
}
.faq-section details .faq-answer {
  padding: 16px 24px 20px;
  color: var(--ca-white-70);
  font-size: var(--text-p1-fz);
  line-height: 1.6;
}
.faq-section details .faq-answer p {
  margin-bottom: 0.75rem;
}
.faq-section details .faq-answer p:last-child {
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .faq-section details summary {
    padding: 14px 16px;
    font-size: var(--text-p2-fz);
  }
  .faq-section details .faq-answer {
    padding: 12px 16px 16px;
    font-size: var(--text-p2-fz);
  }
}

/* ===== 7. Conclusion Card ===== */
.conclusion-card {
  background: #1a1c24;
  border: 1px solid rgba(137, 187, 30, 0.2);
  border-radius: 16px;
  padding: 40px 36px;
  margin-top: 48px;
  margin-bottom: 48px;
}
.conclusion-card h2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
  color: var(--cl-green);
}
.conclusion-card h3 {
  color: var(--cl-white);
  font-size: 18px;
  margin-top: 28px;
  margin-bottom: 8px;
}
.conclusion-card p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ca-white-80);
}
/* Recommendation grid inside conclusion */
.conclusion-card .article-table {
  margin-top: 24px;
}
.conclusion-card .article-table th {
  background: rgba(137, 187, 30, 0.12);
  color: var(--cl-green);
}
/* Recommendation bullets in conclusion */
.conclusion-card ul {
  margin-top: 16px;
}
.conclusion-card li {
  padding-left: 28px !important;
  position: relative;
  list-style: none !important;
}
.conclusion-card li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--cl-green);
  font-weight: 600;
}
@media (max-width: 600px) {
  .conclusion-card {
    padding: 24px 20px;
    border-radius: 12px;
  }
}

/* ===== 8. Typography Enhancements ===== */
/* Lead paragraph — first paragraph after H2 */
.lead-paragraph {
  font-size: 18px !important;
  line-height: 1.65 !important;
  color: var(--ca-white-80) !important;
}
/* Pull quote for standout stats */
.pull-quote {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  color: var(--cl-green);
  padding: 32px 24px;
  margin: 2rem 0;
  border-top: 1px solid rgba(137, 187, 30, 0.2);
  border-bottom: 1px solid rgba(137, 187, 30, 0.2);
  line-height: 1.4;
}
@media (max-width: 600px) {
  .lead-paragraph {
    font-size: 16px !important;
  }
  .pull-quote {
    font-size: 22px;
    padding: 24px 16px;
  }
}
