/* Home B · bloco "Planos e preços" (componente PrecosResumo). Prefixo hbp-.
   Carregado só quando a Home B enxuta é a renderizada, DEPOIS de homeb.31.min.css. */
.hbp-sec { background: #faf6ef; }
.hbp-head { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.hbp-eyebrow {
  font-family: var(--font-display, Rubik), sans-serif; font-size: .8125rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase; color: #0030a0; margin: 0 0 14px;
}
.hbp-h2 {
  font-family: var(--font-display, Rubik), sans-serif; font-weight: 600; color: #0b1430;
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.625rem); line-height: 1.15; letter-spacing: -.015em; margin: 0;
}
.hbp-lead { font-family: Inter, system-ui, sans-serif; color: #4a5068; font-size: 1.0625rem; line-height: 1.55; margin: 16px 0 0; }

.hbp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1080px; margin: 0 auto; align-items: stretch; }
.hbp-card {
  position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e6ef;
  border-radius: 16px; padding: 28px 26px 24px; box-shadow: 0 1px 2px rgba(3, 15, 55, .04);
}
.hbp-card--destaque { border: 2px solid #0030a0; box-shadow: 0 18px 40px rgba(0, 48, 160, .14); }
.hbp-selo {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%); white-space: nowrap;
  background: #0030a0; color: #fff; font-family: var(--font-display, Rubik), sans-serif; font-size: .75rem;
  font-weight: 600; letter-spacing: .04em; padding: 5px 12px; border-radius: 999px;
}
.hbp-nome { font-family: var(--font-display, Rubik), sans-serif; font-size: 1.25rem; font-weight: 600; color: #0b1430; margin: 0; }
.hbp-quem { font-family: Inter, system-ui, sans-serif; font-size: .9375rem; color: #646981; margin: 6px 0 18px; min-height: 2.6em; }
.hbp-preco { display: flex; align-items: baseline; gap: 8px; margin: 0 0 20px; }
.hbp-valor { font-family: var(--font-display, Rubik), sans-serif; font-size: 2.25rem; font-weight: 600; color: #0b1430; letter-spacing: -.02em; }
.hbp-sufixo { font-family: Inter, system-ui, sans-serif; font-size: .875rem; color: #646981; }
.hbp-itens { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 10px; flex: 1; }
.hbp-itens li { display: flex; gap: 10px; align-items: flex-start; font-family: Inter, system-ui, sans-serif; font-size: .9375rem; line-height: 1.4; color: #2a3048; }
.hbp-itens svg { flex: none; margin-top: 3px; color: #0030a0; }
.hbp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; border-radius: 10px;
  font-family: var(--font-display, Rubik), sans-serif; font-size: 1rem; font-weight: 600; text-decoration: none;
  transition: transform .18s, background-color .18s, border-color .18s;
}
.hbp-btn:hover { transform: translateY(-2px); }
/* Especificidade extra: o escopo da Home B pinta links de cinza. */
.hbp-sec a.hbp-btn--solido { background: #0030a0; color: #fff; box-shadow: 0 10px 24px rgba(0, 48, 160, .25); }
.hbp-sec a.hbp-btn--solido:hover { background: #00267f; }
.hbp-sec a.hbp-btn--outline { background: #fff; color: #0030a0; border: 1.5px solid #0030a0; }
.hbp-sec a.hbp-link { color: #0030a0; }
.hbp-btn--outline:hover { background: #f0f4ff; }
.hbp-nota { font-family: Inter, system-ui, sans-serif; font-size: .8125rem; color: #646981; text-align: center; margin: 12px 0 0; line-height: 1.4; }

.hbp-rodape { max-width: 1080px; margin: 28px auto 0; display: grid; gap: 14px; justify-items: center; text-align: center; }
.hbp-black {
  font-family: Inter, system-ui, sans-serif; font-size: .9375rem; color: #0b1430; margin: 0;
  background: #0b1430; color: #fff; padding: 10px 18px; border-radius: 10px;
}
.hbp-black strong { color: #52f896; font-weight: 600; }
.hbp-links { display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: center; align-items: center; margin: 0;
  font-family: Inter, system-ui, sans-serif; font-size: .9375rem; color: #4a5068; }
.hbp-link { display: inline-flex; align-items: center; gap: 6px; color: #0030a0; font-weight: 600; text-decoration: none; }
.hbp-link:hover { text-decoration: underline; }

@media (max-width: 999px) {
  .hbp-grid { grid-template-columns: 1fr; max-width: 460px; gap: 26px; }
  .hbp-card--destaque { order: -1; }
  .hbp-quem { min-height: 0; }
}


@media (prefers-reduced-motion: reduce) {
  .hbp-btn { transition: none; }
  .hbp-btn:hover { transform: none; }
}
