.parceiros {
  --blue: #007bb3;
  --blue-dark: #00416b;
  --blue-deep: #003b62;
  --blue-light: #9abdd6;
  --blue-pale: #eaf4f8;
  --yellow: #ffcc00;
  --yellow-soft: #fff4bf;
  --ink: #4d4d4d;
  --ink-strong: #17324b;
  --muted: #667681;
  --faint: #84919a;
  --bg: #fafafa;
  --surface: #ffffff;
  --surface-blue: #f1f7fa;
  --line: #d7e1e7;
  --line-strong: #b9cbd5;
  --success: #18724a;
  --danger: #9d2b2b;
  --shadow-sm: 0 2px 8px rgba(0,65,107,.08);
  --shadow-md: 0 8px 24px rgba(0,65,107,.12);
  --shadow-lg: 0 18px 44px rgba(0,65,107,.18);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --max: 1220px;
  --ease: 180ms ease;
}
/* Carrossel de parceiros */
.parceiros .cx { position: relative; }
.parceiros .cx-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 6px 2px 14px; }
.parceiros .cx-track::-webkit-scrollbar { display: none; }
.parceiros .cx-card { flex: 0 0 calc((100% - 48px) / 4); min-width: 0; scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease); }
/* Distribui a sobra nas extremidades; com rolagem, as margens ficam em zero. */
.parceiros .cx-track > .cx-card:first-child { margin-left: auto; }
.parceiros .cx-track > .cx-card:last-child { margin-right: auto; }
.parceiros .cx-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--blue-light); }
/* A arte já inclui logo, fundo e margens: exibir inteira na largura do card. */
.parceiros .cx-logo { height: auto; padding: 0; display: block; overflow: hidden; background: var(--bg-logo, #fff); }
.parceiros .cx-logo img { display: block; width: 100%; height: auto; max-width: 100%; max-height: none; }
.parceiros .cx-body { padding: 12px; text-align: center; display: flex; flex-direction: column; gap: 2px; flex: 1; }
.parceiros .cx-pct { font-size: 22px; font-weight: 800; color: var(--blue-dark); line-height: 1.2; }
.parceiros .cx-sub { font-size: 13px; color: var(--muted); margin-bottom: 10px; }
.parceiros .descricao-formatada { overflow-wrap: anywhere; }
.parceiros .descricao-formatada p { margin: 0 0 4px; padding: 0; }
.parceiros .descricao-formatada * { color: inherit; font-family: inherit; }
.parceiros .cx-body .parceiros-botao { margin-top: auto; min-height: 40px; }
.parceiros .cx-arrow { position: absolute; top: 40%; transform: translateY(-50%); z-index: 2; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-strong); background: #fff; color: var(--blue-dark); box-shadow: var(--shadow-sm); transition: background var(--ease), opacity var(--ease); }
.parceiros .cx-arrow:hover:not(:disabled) { background: var(--blue-pale); }
.parceiros .cx-arrow:disabled { opacity: .35; cursor: default; }
.parceiros .cx-prev { left: 2px; }
.parceiros .cx-next { right: 2px; }
.parceiros .cx .carousel-dots { display: flex; margin-top: 4px; }
.parceiros .cx.no-scroll .cx-arrow, .parceiros .cx.no-scroll .carousel-dots { display: none; }


.parceiros { padding: 48px 0; font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.55; }
.parceiros *, .parceiros *::before, .parceiros *::after { box-sizing: border-box; }
.parceiros h2 { text-align: center; font-size: clamp(20px, 2vw, 22px); margin: 0 0 16px; color: var(--blue-dark); line-height: 1.16; font-weight: 700; }
.parceiros-wrap { min-width: 0; }
.parceiros .icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.parceiros .parceiros-botao { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 100%; max-width: 100%; height: auto; min-height: 40px; border-radius: 5px; padding: 8px 20px; border: 1px solid var(--yellow); font-family: inherit; font-size: 14px; line-height: 1.55; font-weight: 700; white-space: normal; overflow-wrap: anywhere; text-align: center; text-decoration: none; color: var(--blue-dark); background: var(--yellow); cursor: pointer; transition: transform var(--ease), background var(--ease); }
.parceiros .parceiros-botao:hover { background: #f2bd00; transform: translateY(-1px); }
.parceiros button { cursor: pointer; }
.parceiros :focus-visible { outline: 3px solid #f4a900; outline-offset: 3px; }
.parceiros .carousel-dots { justify-content: center; gap: 8px; }
.parceiros .carousel-dots button { flex: 0 0 auto; width: 8px; height: 8px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--line-strong); transition: width var(--ease), background var(--ease); }
.parceiros .carousel-dots button.on { width: 22px; border-radius: var(--radius-pill); background: var(--blue); }
@media (max-width: 1199.98px) { .parceiros .cx-card { flex-basis: calc((100% - 32px) / 3); } }
@media (max-width: 991.98px) { .parceiros .cx-card { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 575.98px) {
  .parceiros { padding: 32px 0; }
  .parceiros .cx-card { flex-basis: 78%; }
  .parceiros .cx { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 8px; }
  .parceiros .cx-track { grid-column: 1 / -1; grid-row: 1; min-width: 0; }
  .parceiros .cx-arrow { position: static; transform: none; width: 44px; height: 44px; padding: 0; }
  .parceiros .cx-prev { grid-column: 1; grid-row: 2; }
  .parceiros .cx-next { grid-column: 3; grid-row: 2; }
  .parceiros .cx .carousel-dots { grid-column: 2; grid-row: 2; margin: 0; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .parceiros .cx-track { scroll-behavior: auto; } .parceiros * { transition: none; } }
@media print { .parceiros { display: none !important; } }
