/* 6 November 2026: existing lead, comparison directory, compact article end. */
.ct-article .ct-article-lead {
  margin: 0 0 22px; color: var(--ct-text); font-size: 18px; line-height: 1.65;
  text-align: left; overflow-wrap: break-word;
}
.ct-article .ct-article-lead p { margin: 0; }
.ct-article .ct-article-lead :is(strong,b) { font-weight: 650; }
.ct-article .ct-article-lead a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
article.ct-article { padding-bottom: 28px; }
.ct-article-products { padding-top: 24px; padding-bottom: 24px; }
.ct-related { padding-top: 28px; padding-bottom: 28px; }
.ct-related-theme { padding-top: 20px; padding-bottom: 20px; }
.ct-related .ct-related-title { margin-bottom: 20px; }
.ct-article-cta { margin-bottom: 20px; }
.ct-article-compare { margin-top: 24px; }
.ct-article-ranking { margin-top: 0; margin-bottom: 24px; }
.ct-article-cta > div { padding: 24px; border-radius: 16px; }
.ct-article-cta > div > .grid { gap: 16px; }
.ct-article-cta h2 { font-size: clamp(1.3rem, 2.2vw, 1.8rem); line-height: 1.25; margin-bottom: 8px; }
.ct-article-cta p[class*="uppercase"] { margin-bottom: 8px; letter-spacing: .16em; }
.ct-article-cta a { max-width: 100%; }
.ct-article-cta .flex.flex-wrap a { white-space: normal; overflow-wrap: anywhere; }
body:has(.ct-article, .ct-comparatifs-index) > footer { margin-top: 24px; }
body:has(.ct-article, .ct-comparatifs-index) > footer > div:first-child { padding-top: 32px; padding-bottom: 32px; gap: 24px; }

.ct-comparatifs-index { padding-top: 32px; padding-bottom: 32px; }
.ct-comparatifs-index > header { margin-bottom: 32px; max-width: 850px; }
.ct-comparatifs-index h1 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.12; text-wrap: balance; max-width: 700px; }
.ct-comparatifs-index > header > p:last-child { font-size: 17px; line-height: 1.7; margin-top: 16px; color: var(--ct-muted); }
.ct-comparatifs-index > h2 { margin-bottom: 20px; line-height: 1.3; }
.ct-comparatif-categories {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px; margin-bottom: 36px;
}
.ct-comparatif-category {
  display: flex; flex-direction: column; min-width: 0; height: 100%;
  border: 1px solid var(--ct-line); border-radius: var(--ct-radius);
  background: var(--ct-surface); overflow: hidden;
}
.ct-comparatif-category:hover { border-color: var(--ct-muted); }
.ct-comparatif-main { display: block; padding: 20px; flex: 1; color: var(--ct-text); text-decoration: none; }
.ct-comparatif-main h3 { margin: 0 0 8px; font-size: 19px; line-height: 1.3; }
.ct-comparatif-main > p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ct-muted); }
.ct-comparatif-main > p:last-child { font-size: 12px; margin-top: 10px; }
.ct-comparatif-category > .ct-comparatif-ranking {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 20px; min-height: 44px; border-top: 1px solid var(--ct-line);
  background: var(--ct-soft); color: var(--ct-accent); font-size: 13px; font-weight: 550; text-decoration: none;
}
.ct-comparatif-ranking:hover { text-decoration: underline; text-underline-offset: 3px; }
.ct-comparatif-main:focus-visible, .ct-comparatif-ranking:focus-visible { outline: 2px solid var(--ct-accent); outline-offset: -4px; border-radius: 8px; }
.ct-comparatifs-articles { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.ct-comparatifs-articles > a {
  display: flex; flex-direction: column; min-width: 0; overflow: hidden;
  border: 1px solid var(--ct-line); border-radius: var(--ct-radius); background: var(--ct-surface);
}
.ct-comparatifs-articles > a > div { aspect-ratio: 16/10; margin: 0; border-radius: 0; }
.ct-comparatifs-articles > a > h3 { padding: 16px 18px 0; margin-bottom: 10px; font-size: 18px; line-height: 1.4; }
.ct-comparatifs-articles > a > p { padding: 0 18px; color: var(--ct-muted); font-size: 14px; line-height: 1.6; }
.ct-comparatifs-articles > a > p:last-child { margin-top: auto; padding-top: 12px; padding-bottom: 18px; font-size: 12px; }
@media (max-width: 1023px) {
  .ct-comparatif-categories, .ct-comparatifs-articles { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 639px) {
  .ct-article .ct-article-lead { font-size: 17px; margin-bottom: 18px; }
  .ct-article-cta > div { padding: 20px; }
  .ct-article-cta .grid > a { justify-content: center; white-space: normal; text-align: center; }
  .ct-article-compare { margin-top: 20px; }
  .ct-article-cta, .ct-article-ranking { margin-bottom: 16px; }
  .ct-comparatifs-index { padding-top: 24px; padding-bottom: 24px; }
  .ct-comparatifs-index > header { margin-bottom: 24px; }
  .ct-comparatif-categories, .ct-comparatifs-articles { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .ct-comparatif-main { padding: 18px; }
  .ct-comparatif-category > .ct-comparatif-ranking { padding-inline: 18px; }
}
