/* Compact additions to the approved comparison and native vendor layouts. */
.grok-comparison .cmp-page-header { display: flex; flex-wrap: wrap; gap: 16px; }
.grok-comparison .cmp-page-heading { flex: 1 1 170px; gap: 10px; margin-bottom: 0; }
.grok-comparison .cmp-page-heading h2 { font-size: clamp(23px, 2vw, 30px); letter-spacing: -1px; }
.grok-comparison .cmp-controls { gap: 10px; flex-wrap: nowrap; }
.grok-comparison .cmp-vendor-field { flex: 0 0 190px; }
.grok-comparison .cmp-filter-field > .cmp-eyebrow { margin-bottom: 6px; }
.grok-comparison .cmp-vendor-picker > summary, .grok-comparison .cmp-more-filters { height: 50px; }
.grok-pair-field { flex: 1 1 auto; }
.grok-pairs { height: 50px; }
.grok-pairs button { padding: 5px 8px; justify-content: center; }
.grok-pair-text { display: flex; flex-direction: column; gap: 3px; }
.grok-pair-text b { font-size: 11px; font-weight: 500; }
.grok-pair-text small { display: flex; align-items: center; justify-content: center; gap: 4px; font-size: 9px; }
.grok-pair-text img { width: 12px; height: 12px; }
.grok-group { display: inline-flex; align-items: center; gap: 7px; min-width: 0; font-size: 11px; line-height: 1.4; }
.grok-group img { width: 17px; height: 17px; flex: 0 0 17px; object-fit: contain; }
.grok-comparison .grok-group-label { min-height: 30px; font-size: 9px; letter-spacing: .3px; }
.grok-comparison .cmp-leader-path { padding-top: 16px; }
.grok-comparison .grok-leader-neutral { color: #78746e; }
.grok-comparison .cmp-sector-summary { position: relative; padding-top: 42px; }
.grok-sector-heading { position: absolute; top: 12px; left: 18px; right: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.grok-sector-heading h3 { margin: 0; font-size: 12px; font-weight: 600; }
.grok-comparison .cmp-column-label { min-height: 36px; }
.grok-comparison .cmp-cta { margin-top: 24px; }
.grok-run-model { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; white-space: normal; line-height: 1.3; }
.grok-run-model small { font-size: 9px; font-weight: 400; color: #78746e; }
.grok-insight { padding: 18px 22px; border-top: 1px solid #e8e3dc; }
.grok-insight:first-child { border-top: 0; }
.grok-insight > p { margin: 0 0 12px; font-size: 13px; line-height: 1.7; }
.grok-evidence { margin: 10px 0; color: #78746e; font-size: 10px; line-height: 1.7; }
.grok-evidence blockquote { margin: 0 0 6px; padding-left: 12px; border-left: 2px solid #d7d1ca; color: #35302b; font-size: 12px; }
.grok-vendor-controls { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
.grok-vendor-controls > .cmp-controls { margin-left: 0; }
.grok-vendor-controls .cmp-active-filters { flex-basis: 100%; margin: 0; }
.grok-vendor-evolution { min-height: 124px; box-sizing: border-box; margin: 0 0 22px; padding: 16px 20px; background: #faf8f4; border: 1px solid #e0dad2; border-radius: 10px; }
.grok-vendor-numbers { display: flex; align-items: center; gap: 22px; margin-top: 10px; }
.grok-vendor-numbers > div { min-width: 190px; }
.grok-vendor-numbers .grok-group { display: flex; }
.grok-evolution-number { display: block; min-height: 35px; width: 6ch; margin-top: 6px; font-size: 26px; line-height: 35px; font-variant-numeric: tabular-nums; }
.grok-evolution-delta { width: 10ch; }
.grok-vendor-evolution .loading { border-radius: 4px; background: #e8e3dc; animation: grok-pulse 1.4s ease-in-out infinite alternate; }
@keyframes grok-pulse { to { opacity: .5; } }
@media (min-width: 1200px) {
  .grok-comparison .cmp-page-header { flex-wrap: nowrap; }
  .grok-comparison .cmp-page-header:has(.cmp-active-filters) { flex-wrap: wrap; }
  .grok-comparison .cmp-page-header > .cmp-active-filters { flex-basis: 100%; }
}
@media (max-width: 1199px) {
  .grok-comparison .cmp-page-heading { flex-basis: 100%; }
  .grok-comparison .cmp-controls { margin-left: 0; }
}
@media (max-width: 760px) {
  .grok-comparison .cmp-controls { display: grid; width: 100%; grid-template-columns: 1fr auto; gap: 12px; }
  .grok-comparison .cmp-vendor-field { grid-column: 1; }
  .grok-pair-field { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .grok-pairs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); height: auto; }
  .grok-pairs button { white-space: normal; padding: 8px 4px; }
  .grok-pair-text small { flex-wrap: wrap; line-height: 1.4; }
  .grok-comparison .cmp-filter-field:last-child { grid-column: 2; grid-row: 1; }
  .grok-comparison .grok-group-label { min-height: 30px; }
  .grok-vendor-controls { display: block; }
  .grok-vendor-numbers { gap: 10px; flex-wrap: wrap; }
  .grok-vendor-numbers > div { min-width: 0; flex: 1; }
  .grok-vendor-numbers .cmp-change { flex-basis: 100%; text-align: center; }
  .grok-vendor-evolution { min-height: 150px; padding: 14px; }
  .grok-insight { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .grok-vendor-evolution .loading { animation: none; } }

/* Keep both comparison pages on the same left-aligned filter layout. */
.grok-comparison .cmp-page-header { flex-wrap: wrap; }
.grok-comparison .cmp-page-heading { flex-basis: 100%; }
.grok-comparison .cmp-controls { flex-wrap: wrap; }
.grok-comparison .cmp-column-label { min-height: 0; }
@media (max-width: 760px) {
  .grok-pairs { grid-template-columns: 1fr; }
  .grok-pairs button { justify-content: flex-start; padding: 10px 12px; }
  .grok-pair-text { align-items: flex-start; }
  .grok-pair-text small { flex-wrap: nowrap; }
}
