/* ============================================================
   product-pages.css
   Layout das subpáginas de produto: rastreamento, videotelemetria,
   roteirização e checklist. Todas as classes têm prefixo pp-.
   Regras que restilizam classes legadas (.page-hero, .section, .step,
   .rules-box, .faq-item, .fade-in) ficam escopadas em .pp-page e
   vencem por especificidade, sem depender da ordem entre o CSS inline
   da página e o index.css. Sem !important.
   ============================================================ */

.pp-page {
  --pp-gap: clamp(32px, 5vw, 64px);
  --pp-radius: 20px;
  --pp-frame-bg: #0f172a;
  --pp-focus: 50% 50%;
}
.pp-page .pp-section { padding: clamp(56px, 7vw, 96px) 0; }
.pp-page .pp-section--white { background: #fff; }
.pp-page .pp-section--alt {
  background: var(--wr-bg);
  border-top: 1px solid var(--wr-border-light);
  border-bottom: 1px solid var(--wr-border-light);
}
.pp-page #contato.pp-section { background: #fff; border-top: 0; }
.pp-page .section-header p { margin-bottom: 0; }

/* --- Hero ---------------------------------------------------- */
.pp-page .pp-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: calc(var(--header-height) + clamp(40px, 6vw, 72px)) 0 clamp(40px, 6vw, 72px);
  background: #fff;
}
.pp-page .pp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(720px 420px at 88% 6%, rgba(245,134,52,.14), transparent 65%),
    radial-gradient(520px 320px at 4% 96%, rgba(26,122,76,.07), transparent 65%),
    linear-gradient(180deg, #fbfbfd 0%, #f4f5f7 100%);
}
.pp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: var(--pp-gap);
  align-items: center;
}
.pp-hero__copy { max-width: 640px; }
.pp-page .pp-hero h1 { margin-bottom: var(--space-4); letter-spacing: -.01em; text-wrap: balance; }
.pp-page .pp-hero .page-hero__subtitle { max-width: 560px; font-size: clamp(1rem, 1.25vw, 1.125rem); margin-bottom: 0; }
.pp-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }

.pp-kpis {
  list-style: none;
  padding: 0;
  margin: var(--space-6) 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.pp-kpi {
  padding: var(--space-3) var(--space-4);
  background: rgba(255,255,255,.82);
  border: 1px solid var(--wr-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
.pp-kpi__value { display: block; font-size: 1.15rem; font-weight: 700; line-height: 1.2; color: var(--wr-text); }
.pp-kpi__label { display: block; margin-top: 2px; font-size: .8rem; line-height: 1.4; color: var(--wr-text-secondary); }

/* --- Molduras de imagem ------------------------------------- */
.pp-frame {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--pp-radius);
  background: var(--pp-frame-bg);
  border: 1px solid var(--wr-border-light);
  box-shadow: var(--shadow-xl);
}
.pp-frame > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--pp-focus);
  display: block;
}
.pp-frame--hero { aspect-ratio: 5 / 4; }
.pp-frame--portrait { aspect-ratio: 4 / 5; max-height: 600px; }
.pp-frame--wide { aspect-ratio: 3 / 2; }
.pp-frame--hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(15,23,42,0) 62%, rgba(15,23,42,.28) 100%);
}
@supports not (aspect-ratio: 1 / 1) {
  .pp-frame::before { content: ''; display: block; padding-top: 66.667%; }
  .pp-frame--hero::before { padding-top: 80%; }
  .pp-frame--portrait::before { padding-top: 125%; }
}

.pp-chip {
  position: absolute;
  left: var(--space-4);
  bottom: var(--space-4);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: calc(100% - 2 * var(--space-4));
  padding: 10px 14px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-md);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  font-size: .8rem;
  line-height: 1.3;
  color: var(--wr-text);
  animation: pp-float 7s ease-in-out infinite;
}
.pp-chip__dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--wr-accent);
  box-shadow: 0 0 0 4px rgba(26,122,76,.16);
}
.pp-chip__label { color: var(--wr-text-secondary); font-weight: 500; white-space: nowrap; }
.pp-chip__value { font-weight: 700; white-space: nowrap; }
@keyframes pp-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* --- O que resolve ------------------------------------------ */
.pp-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: var(--pp-gap);
  align-items: center;
}
.pp-page .pp-split .section-header { margin-bottom: var(--space-6); }
.pp-painlist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}
.pp-painlist li {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--wr-border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  font-size: .9rem;
  line-height: 1.55;
  color: var(--wr-text-secondary);
}
.pp-checks { list-style: none; padding: 0; margin: var(--space-4) 0 0; display: grid; gap: var(--space-2); }
.pp-checks li {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--wr-text-secondary);
}
.pp-painlist li::before,
.pp-checks li::before {
  content: '\2713';
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wr-primary-light);
  border: 1px solid var(--wr-primary-100);
  color: var(--wr-primary);
  font-size: .72rem;
  font-weight: 700;
}

/* --- Recursos em zigue-zague -------------------------------- */
.pp-features { display: grid; gap: clamp(40px, 6vw, 80px); }
.pp-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--pp-gap);
  align-items: center;
}
.pp-feature:nth-child(even) .pp-feature__media { order: 2; }
.pp-feature__copy { max-width: 520px; }
.pp-feature:nth-child(even) .pp-feature__copy { justify-self: end; }
.pp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: var(--space-3);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--wr-primary);
}
.pp-kicker::before { content: ''; width: 22px; height: 2px; border-radius: 2px; background: var(--wr-primary); }
.pp-page .pp-feature h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-bottom: var(--space-3);
}
.pp-page .pp-feature p { color: var(--wr-text-secondary); margin-bottom: 0; }

/* --- Como funciona ------------------------------------------ */
.pp-page .pp-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}
.pp-page .pp-step {
  position: relative;
  text-align: left;
  padding: var(--space-6) var(--space-5) var(--space-5);
  background: #fff;
  border: 1px solid var(--wr-border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s;
}
.pp-page .pp-step::before {
  content: '';
  position: absolute;
  top: 0;
  left: var(--space-5);
  right: var(--space-5);
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(90deg, var(--wr-primary), rgba(245,134,52,.2));
}
.pp-page .pp-step:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.pp-step__number {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: var(--space-4);
  border-radius: 12px;
  background: var(--wr-primary-light);
  border: 1px solid var(--wr-primary-100);
  color: var(--wr-primary);
  font-size: 1rem;
  font-weight: 700;
}
.pp-page .pp-step h3 { font-size: 1.15rem; margin-bottom: var(--space-2); }
.pp-page .pp-step p { margin: 0; font-size: .92rem; line-height: 1.6; color: var(--wr-text-secondary); }
.pp-page .pp-rules { margin-top: var(--space-6); padding: var(--space-5) var(--space-6); border-radius: var(--radius-lg); }
.pp-page .pp-rules .check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-6);
  margin: 0;
}

/* --- FAQ ---------------------------------------------------- */
.pp-faq {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: var(--pp-gap);
  align-items: start;
}
.pp-page .pp-faq .section-header {
  margin-bottom: 0;
  position: sticky;
  top: calc(var(--header-height) + var(--space-5));
}
.pp-page .faq-item { padding: 0 var(--space-5); border: 1px solid var(--wr-border-light); }
.pp-page .faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  font-size: 1rem;
  font-weight: 600;
}
.pp-page .faq-item summary::-webkit-details-marker { display: none; }
.pp-page .faq-item summary::marker { content: ''; }
.pp-page .faq-item summary::after {
  content: '';
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-right: 4px;
  border-right: 2px solid var(--wr-primary);
  border-bottom: 2px solid var(--wr-primary);
  transform: rotate(45deg);
  transition: transform .25s ease;
}
.pp-page .faq-item[open] summary::after { transform: rotate(-135deg); }
.pp-page .faq-item summary:focus-visible { outline: 2px solid var(--wr-primary); outline-offset: 4px; border-radius: 6px; }
.pp-page .faq-answer p { margin: 0 0 var(--space-5); font-size: .95rem; line-height: 1.65; color: var(--wr-text-secondary); }

/* --- CTA ---------------------------------------------------- */
.pp-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  text-align: center;
  padding: clamp(40px, 6vw, 72px) clamp(20px, 5vw, 64px);
  border-radius: calc(var(--pp-radius) + 4px);
  background: linear-gradient(135deg, var(--wr-dark-soft) 0%, var(--wr-dark) 100%);
  color: #fff;
  box-shadow: var(--shadow-xl);
}
.pp-cta::before,
.pp-cta::after {
  content: '';
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}
.pp-cta::before {
  right: -12%;
  bottom: -55%;
  width: min(60%, 620px);
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(245,134,52,.42) 0%, rgba(245,134,52,0) 62%);
}
.pp-cta::after {
  left: -10%;
  top: -60%;
  width: min(48%, 480px);
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 60%);
}
.pp-page .pp-cta .section-badge { color: #ffb783; background: rgba(245,134,52,.12); border-color: rgba(245,134,52,.28); }
.pp-page .pp-cta h2 { color: #fff; max-width: 720px; margin: 0 auto var(--space-3); text-wrap: balance; }
.pp-page .pp-cta p { color: rgba(255,255,255,.76); max-width: 640px; margin: 0 auto var(--space-6); font-size: 1.05rem; }
.pp-page .pp-cta p a { color: #ffb783; text-decoration: underline; text-underline-offset: 3px; }
.pp-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
.pp-page .pp-cta .btn--ghost-light { background: rgba(255,255,255,.06); color: rgba(255,255,255,.92); border-color: rgba(255,255,255,.22); }
.pp-page .pp-cta .btn--ghost-light:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.45); color: #fff; }

/* --- Breakpoints -------------------------------------------- */
@media (max-width: 1100px) {
  .pp-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); }
}
@media (max-width: 900px) {
  .pp-hero__grid, .pp-split, .pp-feature, .pp-faq { grid-template-columns: minmax(0, 1fr); }
  .pp-hero__copy { max-width: none; }
  .pp-hero__media, .pp-split__media, .pp-feature__media { width: 100%; max-width: 720px; margin: 0 auto; }
  .pp-frame--hero { aspect-ratio: 16 / 10; }
  .pp-frame--portrait { aspect-ratio: 4 / 3; max-height: 420px; }
  .pp-feature__media, .pp-feature:nth-child(even) .pp-feature__media { order: -1; }
  .pp-feature__copy, .pp-feature:nth-child(even) .pp-feature__copy { max-width: none; justify-self: stretch; }
  .pp-page .pp-faq .section-header { position: static; margin-bottom: var(--space-5); }
  .pp-page .pp-rules .check-list { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .pp-page .pp-hero { padding-top: calc(var(--header-height-mobile) + var(--space-6)); }
  .pp-page .pp-section { padding: clamp(44px, 9vw, 64px) 0; }
  .pp-page .pp-steps { grid-template-columns: 1fr; }
}
@media (max-width: 576px) {
  .pp-page .pp-hero h1 { font-size: clamp(1.9rem, 8vw, 2.2rem); }
  .pp-hero__actions .btn, .pp-cta__actions .btn { flex: 1 1 100%; justify-content: center; }
  .pp-kpis { grid-template-columns: 1fr; gap: var(--space-2); }
  .pp-kpi { display: flex; align-items: baseline; gap: var(--space-3); padding: 10px 14px; }
  .pp-kpi__value { font-size: 1rem; flex: 0 0 auto; }
  .pp-kpi__label { margin-top: 0; }
  .pp-frame--hero { aspect-ratio: 4 / 3; }
  .pp-chip { left: var(--space-3); bottom: var(--space-3); padding: 8px 12px; font-size: .74rem; }
  .pp-painlist { grid-template-columns: 1fr; }
  .pp-page .pp-rules { padding: var(--space-4); }
  .pp-cta { border-radius: var(--radius-xl); }
}

/* --- Movimento reduzido -------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .pp-chip { animation: none; }
  .pp-page .pp-step, .pp-page .faq-item summary::after { transition: none; }
  .pp-page .pp-step:hover { transform: none; }
  .pp-page .fade-in { opacity: 1; transform: none; transition: none; }
}

/* --- Impressão ----------------------------------------------- */
@media print {
  .pp-page .pp-hero { padding-top: var(--space-6); background: #fff; }
  .pp-page .pp-hero::before, .pp-chip, .pp-cta::before, .pp-cta::after { display: none; }
  .pp-page .fade-in { opacity: 1; transform: none; }
  .pp-frame { aspect-ratio: auto; background: transparent; box-shadow: none; border-color: #cbd5e1; break-inside: avoid; }
  .pp-frame > img { position: static; height: auto; }
  .pp-page .pp-step, .pp-painlist li, .pp-page .faq-item { box-shadow: none; break-inside: avoid; }
  .pp-cta { background: #fff; color: var(--wr-text); border: 1px solid #cbd5e1; box-shadow: none; }
  .pp-page .pp-cta h2, .pp-page .pp-cta p { color: var(--wr-text); }
  .pp-page .pp-faq .section-header { position: static; }
}

/* ============================================================
   Variações: hero de documento, cards, formulários e documentos
   longos (seja parceiro, seja técnico, indique, ouvidoria,
   privacidade e termos de uso).
   ============================================================ */
.pp-hero--doc .pp-hero__grid { grid-template-columns: minmax(0, 1fr); }
.pp-hero--doc .pp-hero__copy { max-width: 820px; }
.pp-meta { list-style: none; padding: 0; margin: var(--space-5) 0 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pp-meta li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.85);
  border: 1px solid var(--wr-border-light);
  font-size: .82rem;
  color: var(--wr-text-secondary);
}
.pp-meta li strong { color: var(--wr-text); font-weight: 600; }

.pp-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.pp-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pp-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pp-card {
  padding: var(--space-5);
  background: #fff;
  border: 1px solid var(--wr-border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.pp-card--accent { border-color: var(--wr-primary-100); background: linear-gradient(180deg, #fff 0%, var(--wr-primary-light) 100%); }
.pp-page .pp-card h3 { font-size: 1.1rem; margin-bottom: var(--space-2); }
.pp-page .pp-card p { margin: 0; font-size: .92rem; line-height: 1.6; color: var(--wr-text-secondary); }
.pp-page .pp-card .pp-kicker { margin-bottom: var(--space-2); }
.pp-page .pp-card .pp-checks { margin-top: var(--space-3); }
.pp-page .pp-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.pp-note {
  margin-top: var(--space-5);
  padding: var(--space-4) var(--space-5);
  border-left: 3px solid var(--wr-primary);
  background: var(--wr-primary-light);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
.pp-note strong { display: block; margin-bottom: 4px; font-size: .9rem; }
.pp-page .pp-note p { margin: 0; font-size: .9rem; color: var(--wr-text-secondary); }

/* --- Formulários ------------------------------------------- */
.pp-form-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--pp-gap); align-items: start; }
.pp-form-intro { position: sticky; top: calc(var(--header-height) + var(--space-5)); }
.pp-page .pp-form-intro .section-header { margin-bottom: var(--space-4); }
.pp-form-card {
  padding: clamp(24px, 3vw, 40px);
  background: #fff;
  border: 1px solid var(--wr-border-light);
  border-radius: var(--pp-radius);
  box-shadow: var(--shadow-lg);
}
.pp-page .pp-form-card .form { max-width: none; }
.pp-page .pp-form-card h2 { font-size: clamp(1.4rem, 2.2vw, 1.75rem); margin-bottom: var(--space-2); }
.pp-page .pp-form-card__subtitle { color: var(--wr-text-secondary); margin-bottom: var(--space-5); }
.pp-page .pp-form-card .form-footnote { margin-top: var(--space-4); font-size: .8rem; line-height: 1.5; color: var(--wr-muted); }
.pp-page .pp-form-card legend { font-weight: 600; font-size: .95rem; margin-bottom: var(--space-3); }
.pp-page .pp-form-card .btn--full { width: 100%; justify-content: center; }

/* --- Documentos longos ------------------------------------- */
.pp-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.pp-page .pp-summary h2 { font-size: 1.05rem; margin-bottom: var(--space-2); }
.pp-doc { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr); gap: var(--pp-gap); align-items: start; }
.pp-toc { position: sticky; top: calc(var(--header-height) + var(--space-5)); }
.pp-toc__nav {
  padding: var(--space-4) var(--space-5);
  background: #fff;
  border: 1px solid var(--wr-border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.pp-page .pp-toc__nav h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--wr-muted); margin-bottom: var(--space-2); }
.pp-toc__nav ol { list-style: none; margin: 0; padding: 0; counter-reset: pp-toc; }
.pp-toc__nav li { counter-increment: pp-toc; }
.pp-toc__nav a {
  display: flex;
  gap: 10px;
  padding: 8px 0;
  font-size: .88rem;
  line-height: 1.4;
  color: var(--wr-text-secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--wr-border-light);
}
.pp-toc__nav a::before { content: counter(pp-toc, decimal-leading-zero); flex: 0 0 auto; font-weight: 700; color: var(--wr-primary); }
.pp-toc__nav li:last-child a { border-bottom: 0; }
.pp-toc__nav a:hover, .pp-toc__nav a.is-active, .pp-toc__nav a.active { color: var(--wr-text); }
.pp-toc__card { margin-top: var(--space-4); padding: var(--space-5); background: var(--wr-dark); color: #fff; border-radius: var(--radius-lg); }
.pp-page .pp-toc__card h3 { font-size: 1rem; margin-bottom: var(--space-2); color: #fff; }
.pp-page .pp-toc__card p { margin: 0 0 var(--space-3); font-size: .88rem; line-height: 1.55; color: rgba(255,255,255,.75); }
.pp-page .pp-toc__card a { color: #ffb783; }
.pp-page .pp-toc__card .btn { margin-top: var(--space-2); }
.pp-doc__content { max-width: 760px; }
.pp-doc__section {
  padding-bottom: var(--space-7);
  margin-bottom: var(--space-7);
  border-bottom: 1px solid var(--wr-border-light);
  scroll-margin-top: calc(var(--header-height) + var(--space-5));
}
.pp-doc__section:last-of-type { border-bottom: 0; margin-bottom: 0; }
.pp-page .pp-doc__section h2 { display: flex; gap: var(--space-3); align-items: baseline; font-size: clamp(1.35rem, 2vw, 1.6rem); margin-bottom: var(--space-4); }
.pp-doc__num { flex: 0 0 auto; font-size: .85rem; font-weight: 700; color: var(--wr-primary); }
.pp-page .pp-doc__section h3 { font-size: 1.08rem; margin: var(--space-5) 0 var(--space-2); }
.pp-page .pp-doc__section p { color: var(--wr-text-secondary); line-height: 1.8; margin-bottom: var(--space-4); }
.pp-page .pp-doc__section ul, .pp-page .pp-doc__section ol { margin: 0 0 var(--space-4); padding-left: 1.25rem; color: var(--wr-text-secondary); line-height: 1.75; }
.pp-page .pp-doc__section li { margin-bottom: var(--space-2); }
.pp-page .pp-doc__section li::marker { color: var(--wr-primary); }
.pp-doc__table-wrap { overflow-x: auto; margin-bottom: var(--space-5); }
.pp-doc__table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .9rem; }
.pp-doc__table th, .pp-doc__table td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--wr-border-light); }
.pp-doc__table th { font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--wr-muted); background: var(--wr-bg); }
.pp-doc__table td { color: var(--wr-text-secondary); line-height: 1.6; }
.pp-callout { padding: var(--space-4) var(--space-5); background: var(--wr-primary-light); border: 1px solid var(--wr-primary-100); border-radius: var(--radius-md); margin: 0 0 var(--space-4); }
.pp-page .pp-callout p { margin: 0; color: var(--wr-text); line-height: 1.7; }
.pp-doc__footer { margin-top: var(--space-6); font-size: .85rem; color: var(--wr-muted); }
.pp-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: var(--space-5) 0; }
.pp-contact__item { padding: var(--space-4) var(--space-5); background: #fff; border: 1px solid var(--wr-border-light); border-radius: var(--radius-lg); }
.pp-contact__item strong { display: block; font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--wr-muted); margin-bottom: 4px; }
.pp-contact__item a, .pp-contact__item span { font-size: .95rem; color: var(--wr-text); line-height: 1.5; }

@media (max-width: 1100px) {
  .pp-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-page .pp-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pp-cards, .pp-summary, .pp-form-layout, .pp-doc { grid-template-columns: minmax(0, 1fr); }
  .pp-form-intro, .pp-toc { position: static; }
  .pp-toc__nav ol { display: flex; flex-wrap: wrap; gap: 6px; }
  .pp-toc__nav a, .pp-toc__nav li:last-child a { border: 1px solid var(--wr-border-light); border-radius: var(--radius-pill); padding: 6px 12px; font-size: .82rem; }
}
@media (max-width: 576px) {
  .pp-cards--2, .pp-cards--4, .pp-contact { grid-template-columns: 1fr; }
  .pp-page .pp-steps--4 { grid-template-columns: 1fr; }
  .pp-page .pp-form-card { padding: var(--space-5) var(--space-4); }
  .pp-page .pp-form-card .form__row { grid-template-columns: 1fr; }
}

/* --- Depoimentos em cards (trabalhe conosco) ---------------- */
.pp-cards--quotes { margin-top: var(--space-5); }
.pp-page .pp-quote { font-size: 1rem; line-height: 1.65; color: var(--wr-text); margin-bottom: var(--space-3); }
.pp-page .pp-quote::before { content: '\201C'; display: block; font-size: 2.2rem; line-height: .6; color: var(--wr-primary); margin-bottom: var(--space-2); }
.pp-page .pp-quote__author { display: flex; flex-wrap: wrap; gap: 6px var(--space-3); margin: 0; font-size: .85rem; color: var(--wr-text-secondary); }
.pp-page .pp-quote__author strong { color: var(--wr-text); }
.pp-page .pp-feature + .pp-feature, .pp-page .pp-steps + .pp-feature { margin-top: clamp(40px, 6vw, 72px); }
