/* ===== hover states (native :hover) ===== */
.nav-link{transition:opacity 150ms ease-out}
.nav-link:hover{opacity:1 !important;color:var(--navy-900)}
.cat-card{transition:box-shadow 180ms ease-out,border-color 180ms ease-out}
.cat-card:hover{box-shadow:var(--shadow-md);border-color:var(--blue-500)}
.footer-link{transition:color 150ms ease-out}
.footer-link:hover{color:var(--white) !important}
.report-btn{transition:background 180ms ease-out,border-color 180ms ease-out}
.report-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}

/* ===== Button component (matches PlacaBrasilDesignSystem Button, incl. its own disabled treatment) ===== */
.pb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  font-family:var(--font-body);font-weight:600;
  cursor:pointer;border-radius:var(--radius-pill);border:1px solid transparent;
  transition:background 150ms ease-out,transform 80ms ease-out;
  white-space:nowrap;
  background:var(--bg-brand);color:var(--text-inverse);
  padding:14px 28px;font-size:var(--text-body);
}
.pb-btn:hover{background:var(--bg-brand-hover);color:var(--text-inverse)}
.pb-btn[disabled]{
  opacity:.5;cursor:not-allowed;
}
.pb-btn[disabled]:hover{background:var(--bg-brand)}

/* ===== nav link (header + shared base) ===== */
.nav-link{font-size:14.5px;font-weight:600;color:var(--navy-900);opacity:.72}

/* ===== footer link ===== */
.footer-link{font-size:13.8px;color:rgba(255,255,255,.8)}

/* ===== outline button used on dark backgrounds (proof card) ===== */
.report-btn{
  display:inline-flex;align-items:center;gap:9px;margin-top:26px;
  padding:13px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.28);
  background:transparent;color:var(--white);
  font-family:var(--font-body);font-size:14px;font-weight:700;text-decoration:none;
}

/* ===== eyebrow label (small uppercase kicker with dot separators) ===== */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue-600);
}
.eyebrow .dot{
  display:inline-block;width:5px;height:5px;border-radius:50%;
  background:currentColor;opacity:.5;
}
.eyebrow--inverse{color:var(--blue-500)}
.eyebrow--inverse .dot{opacity:.6}

/* ===== section intro (centered heading block, reused across sections) ===== */
.section-intro{max-width:600px;margin:0 auto 48px;text-align:center}

/* ===== section heading (h2 pattern shared by how-it-works / consultas / benefits / faq) ===== */
.section-heading{
  font-family:var(--font-display);font-weight:700;font-size:34px;
  letter-spacing:-.01em;color:var(--navy-900);margin:14px 0 0;line-height:1.16;
}

/* ===== checkmark list item (hero + proof feature lists) ===== */
.check-item{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--navy-900)}
.check-item svg{width:16px;height:16px;flex-shrink:0;stroke:var(--blue-600);stroke-width:2.4}
.check-item--on-dark{gap:10px;font-size:14px;color:rgba(255,255,255,.9)}
.check-item--on-dark svg{stroke:var(--blue-500);stroke-width:2.6}

/* ===== chip (price banner pill) ===== */
.chip{
  display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;
  padding:14px 16px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.92);
}
.chip svg{width:16px;height:16px;flex-shrink:0;stroke:var(--blue-500);stroke-width:2}

/* ===== small text utility ===== */
.nowrap{white-space:nowrap}

/* ===== icon badge (rounded square housing an icon, several color/size variants) ===== */
.icon-badge{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.icon-badge--cat{width:44px;height:44px;border-radius:11px;background:var(--blue-100);margin-bottom:18px}
.icon-badge--cat svg{width:21px;height:21px;stroke:var(--blue-600);stroke-width:2}
.icon-badge--benefit{width:40px;height:40px;border-radius:10px;background:var(--navy-900);margin-bottom:16px}
.icon-badge--benefit svg{width:19px;height:19px;stroke:var(--white);stroke-width:2}
.icon-badge--pillar{width:46px;height:46px;border-radius:13px;background:rgba(29,78,216,.07)}
.icon-badge--pillar svg{width:22px;height:22px;stroke:#1D4ED8;stroke-width:1.5}

/* ===== numbered step badge (how-it-works) ===== */
.step-num{
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:13px;color:var(--blue-600);background:var(--blue-100);
  width:38px;height:38px;border-radius:10px;margin-bottom:22px;
}

/* ===== FAQ accordion plus/close indicator ===== */
.om-plus{
  width:26px;height:26px;border-radius:8px;background:var(--blue-100);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--blue-600);
  font-size:18px;line-height:1;font-weight:400;transition:transform 200ms ease-out;
}

/* ===== category card ===== */
.cat-card{background:var(--white);border:1px solid var(--border-default);border-radius:16px;padding:26px 24px;box-shadow:var(--shadow-sm)}
.cat-card h3{font-family:var(--font-display);font-size:16.5px;font-weight:700;color:var(--navy-900);margin:0 0 8px}
.cat-card .cat-desc{font-size:13.8px;color:var(--gray-500);line-height:1.55;margin:0}
.cat-card .cat-desc--short{display:none;font-size:12.5px;color:var(--gray-500);line-height:1.5;margin:0}

/* ===== "coming soon" phone placeholder (replaces the empty upload slot) ===== */
.wa-print-placeholder{
  position:relative;border-radius:20px;overflow:hidden;background:var(--gray-100);
  aspect-ratio:9/17;
  display:flex;align-items:center;justify-content:center;
}
@supports not (aspect-ratio: 9 / 17){
  .wa-print-placeholder{ height:0; padding-top:188.9%; }
  .wa-print-placeholder > * { position:absolute; top:0; left:0; right:0; bottom:0; }
}
.wa-print-placeholder span{
  font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--gray-500);
  text-align:center;padding:0 24px;
}
