﻿/* Bamboo ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â tokens & base */
:root {
  --bb-ink: #041a1a;
  --bb-forest: #002222;
  --bb-deep: #013333;
  --bb-teal: #0a4a45;
  --bb-lime: #b8f03a;
  --bb-lime-deep: #9ad12a;
  --bb-violet: #8854d8;
  --bb-violet-deep: #6d3fc0;
  --bb-violet-soft: rgba(136, 84, 216, 0.22);
  --bb-mist: #f4f7f4;
  --bb-fog: #e8eee8;
  --bb-muted: #5c6b6a;
  --bb-white: #ffffff;
  --bb-glow: rgba(184, 240, 58, 0.35);
  --bb-radius: 1.5rem;
  --bb-radius-lg: 2rem;
  --bb-shadow: 0 24px 60px rgba(0, 34, 34, 0.18);
  --bb-shadow-soft: 0 12px 40px rgba(0, 34, 34, 0.1);
  --font-display: "Sora", system-ui, sans-serif;
  --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--bb-ink);
  background: var(--bb-white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

.font-display {
  font-family: var(--font-display);
}

/* Atmosphere: base forest sÃ³lida + fade sÃ³ em branco (sem banda verdeâ†’verde) */
.bb-atmosphere {
  position: relative;
  background-color: var(--bb-forest);
  background-image:
    radial-gradient(ellipse 90% 70% at 8% -5%, rgba(184, 240, 58, 0.07), transparent 60%),
    radial-gradient(ellipse 80% 55% at 92% 18%, rgba(10, 74, 69, 0.16), transparent 58%);
}

/* VÃ©u longo: funde o hero no branco sem linha perceptÃ­vel */
.bb-atmosphere::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(12rem, 34vw, 22rem);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.03) 14%,
    rgba(255, 255, 255, 0.08) 28%,
    rgba(255, 255, 255, 0.18) 42%,
    rgba(255, 255, 255, 0.34) 56%,
    rgba(255, 255, 255, 0.55) 70%,
    rgba(255, 255, 255, 0.78) 84%,
    rgba(255, 255, 255, 0.94) 94%,
    #ffffff 100%
  );
  pointer-events: none;
  z-index: 3;
}

/* PÃ¡ginas internas / hero com mais respiro no fade */
.bb-atmosphere--soft {
  padding-bottom: clamp(7rem, 18vw, 12rem);
}

.bb-atmosphere--soft::after {
  height: clamp(14rem, 38vw, 26rem);
}

/* Blog / posts: hero verde sem fade claro; altura padronizada */
.bb-atmosphere--blog {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: clamp(20rem, 48vw, 26rem);
  padding-bottom: 2rem !important;
}

.bb-atmosphere--blog::after {
  display: none;
}

.bb-blog-list {
  position: relative;
  z-index: 5;
  margin-top: 0;
  padding-top: 1.75rem;
  background: var(--bb-mist) !important;
}

.bb-blog-list::before {
  display: none;
}

.bb-dot-grid {
  background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 22px 22px;
  background-position: 0 0;
  mask-image: linear-gradient(180deg, black 0%, black 18%, rgba(0, 0, 0, 0.35) 42%, transparent 72%);
  -webkit-mask-image: linear-gradient(180deg, black 0%, black 18%, rgba(0, 0, 0, 0.35) 42%, transparent 72%);
  pointer-events: none;
}

.bb-panel {
  isolation: isolate;
  background: linear-gradient(145deg, #041616 0%, #0a2228 42%, #12101f 100%);
}

.bb-panel-fx {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.bb-panel-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(64px);
  will-change: transform, opacity;
}

.bb-panel-orb--violet {
  width: min(58vw, 34rem);
  height: min(58vw, 34rem);
  top: -18%;
  right: 8%;
  background: rgba(136, 84, 216, 0.48);
  animation: bb-panel-orb-a 18s ease-in-out infinite alternate;
}

.bb-panel-orb--lime {
  width: min(48vw, 28rem);
  height: min(48vw, 28rem);
  right: -6%;
  bottom: -12%;
  background: rgba(184, 240, 58, 0.22);
  animation: bb-panel-orb-b 22s ease-in-out infinite alternate;
}

.bb-panel-orb--teal {
  width: min(52vw, 30rem);
  height: min(52vw, 30rem);
  left: -10%;
  bottom: 5%;
  background: rgba(10, 90, 82, 0.55);
  animation: bb-panel-orb-c 16s ease-in-out infinite alternate;
}

@keyframes bb-panel-orb-a {
  from {
    transform: translate(0, 0) scale(1);
    opacity: 0.75;
  }
  to {
    transform: translate(-12%, 18%) scale(1.18);
    opacity: 1;
  }
}

@keyframes bb-panel-orb-b {
  from {
    transform: translate(0, 0) scale(1);
    opacity: 0.65;
  }
  to {
    transform: translate(-18%, -14%) scale(1.22);
    opacity: 1;
  }
}

@keyframes bb-panel-orb-c {
  from {
    transform: translate(0, 0) scale(1);
    opacity: 0.7;
  }
  to {
    transform: translate(16%, -10%) scale(1.15);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-panel-orb {
    animation: none;
  }
}

.bb-cta-band {
  position: relative;
  min-height: clamp(22rem, 42vw, 28rem);
  display: grid;
  align-items: center;
  background: var(--bb-forest);
}

.bb-cta-band-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  z-index: 0;
}

.bb-cta-band-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.78) 36%,
      rgba(0, 24, 24, 0.38) 60%,
      rgba(0, 20, 20, 0.1) 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.16) 0%, transparent 40%, rgba(0, 34, 34, 0.26) 100%);
}

.bb-cta-band-content {
  position: relative;
  z-index: 2;
  width: min(100%, 34rem);
  margin-right: auto;
  margin-left: 0;
  padding: 3rem 1.5rem;
  text-align: left;
}

@media (min-width: 768px) {
  .bb-cta-band-content {
    padding: 3.5rem 1.5rem 3.5rem 3rem;
  }
}

@media (max-width: 767px) {
  /* CTA final mobile: panda em cima + texto embaixo (padrao Planos) */
  .bb-cta-band {
    --bb-cta-media-h: 18rem;
    --bb-cta-fade-h: 4.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    background: var(--bb-forest);
  }

  .bb-cta-band-media {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: var(--bb-cta-media-h);
    object-fit: cover;
    object-position: 80% 28%;
    background: var(--bb-forest);
  }

  .bb-cta-band-veil {
    display: block;
    inset: auto;
    left: 0;
    right: 0;
    top: calc(var(--bb-cta-media-h) - var(--bb-cta-fade-h));
    height: var(--bb-cta-fade-h);
    z-index: 1;
    background: linear-gradient(
      180deg,
      rgba(0, 34, 34, 0) 0%,
      rgba(0, 34, 34, 0.55) 55%,
      rgba(0, 34, 34, 1) 100%
    );
  }

  .bb-cta-band-content {
    position: relative;
    z-index: 2;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0.35rem 1.25rem 1.5rem;
    text-align: center;
    background: var(--bb-forest);
  }

  .bb-cta-band-content h2 {
    font-size: 1.4rem;
    line-height: 1.22;
  }
}

/* CTA Home: panda no bambu — cover + arte com margem de segurança */
.bb-cta-band--floresta {
  min-height: clamp(22rem, 42vw, 28rem);
}

.bb-cta-band--floresta .bb-cta-band-media {
  object-fit: cover;
  object-position: 76% 48%;
}

@media (max-width: 767px) {
  .bb-cta-band--floresta .bb-cta-band-media {
    object-position: 78% 22%;
  }
}

/* CTA Vendas: caixa + mascote oficial (mesmo panda da marca) */
.bb-cta-band--vendas {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--vendas .bb-cta-band-media {
  object-fit: cover;
  object-position: 72% 84%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--vendas .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--vendas .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--vendas .bb-cta-band-media {
    object-position: 82% 28%;
  }
}
/* CTA Estoque: depósito + mascote com caixas (mesmo padrão de Vendas) */
.bb-cta-band--estoque {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--estoque .bb-cta-band-media {
  object-fit: cover;
  object-position: 74% 28%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--estoque .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--estoque .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--estoque .bb-cta-band-media {
    object-position: 80% 26%;
  }
}
/* CTA Cadastros: escritório + mascote com prancheta (mesmo padrão) */
.bb-cta-band--cadastros {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--cadastros .bb-cta-band-media {
  object-fit: cover;
  object-position: 74% 28%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--cadastros .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--cadastros .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--cadastros .bb-cta-band-media {
    object-position: 80% 26%;
  }
}
/* CTA Planos: sala de reunião + panda de polo limão apontando o logo */
.bb-cta-band--planos {
  min-height: clamp(24rem, 44vw, 30rem);
  border-radius: 2rem;
}

.bb-cta-band--planos .bb-cta-band-media {
  object-fit: cover;
  object-position: 78% 42%;
  transform: none;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--planos .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.92) 0%,
      rgba(0, 28, 28, 0.72) 30%,
      rgba(0, 24, 24, 0.3) 54%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.1) 0%, transparent 42%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--planos .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

.bb-cta-band--planos-title-short {
  display: none;
}

@media (max-width: 767px) {
  .bb-cta-band--planos .bb-cta-band-media {
    object-position: 82% 30%;
    transform: none;
  }

  .bb-cta-band--planos-eyebrow,
  .bb-cta-band--planos-title-full {
    display: none;
  }

  .bb-cta-band--planos-title-short {
    display: inline;
  }

  .bb-cta-band--planos .bb-cta-band-content h2 {
    max-width: 15.5rem;
    margin-inline: auto;
  }

  .bb-cta-band--planos-lead {
    margin-top: 0.65rem;
    margin-inline: auto;
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .bb-cta-band--planos .bb-plans-cta-actions {
    margin-top: 1.1rem;
  }
}
/* CTA Ordem de Serviço: oficina/atendimento + mascote (mesmo padrão) */
.bb-cta-band--os {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--os .bb-cta-band-media {
  object-fit: cover;
  object-position: 74% 28%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--os .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--os .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--os .bb-cta-band-media {
    object-position: 80% 26%;
  }
}
/* CTA Notas fiscais: panda à direita, polo lime (mesmo recorte de Cadastros/Estoque) */
.bb-cta-band--notas {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--notas .bb-cta-band-media {
  object-fit: cover;
  object-position: 74% 28%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--notas .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--notas .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--notas .bb-cta-band-media {
    object-position: 80% 26%;
  }
}
/* CTA Multi empresa: panda à direita, polo lime (mesmo recorte de Cadastros/Notas) */
.bb-cta-band--multi {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--multi .bb-cta-band-media {
  object-fit: cover;
  object-position: 74% 28%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--multi .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--multi .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--multi .bb-cta-band-media {
    object-position: 80% 26%;
  }
}
/* CTA Finanças: panda à direita, polo lime, tela Contas a Receber no notebook */
.bb-cta-band--financas {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--financas .bb-cta-band-media {
  object-fit: cover;
  object-position: 72% 32%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--financas .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--financas .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--financas .bb-cta-band-media {
    object-position: 82% 28%;
  }
}
/* CTA PDV: panda à direita, polo lime (mesmo padrão das demais funcionalidades) */
.bb-cta-band--pdv {
  min-height: clamp(26rem, 48vw, 32rem);
}

.bb-cta-band--pdv .bb-cta-band-media {
  object-fit: cover;
  object-position: 74% 28%;
  filter: none;
}

@media (min-width: 768px) {
  .bb-cta-band--pdv .bb-cta-band-veil {
  background:
    linear-gradient(
      100deg,
      rgba(0, 34, 34, 0.9) 0%,
      rgba(0, 28, 28, 0.7) 32%,
      rgba(0, 24, 24, 0.28) 55%,
      rgba(0, 20, 20, 0.08) 72%,
      transparent 100%
    ),
    linear-gradient(180deg, rgba(0, 34, 34, 0.08) 0%, transparent 40%, rgba(0, 34, 34, 0.22) 100%);
  }
}

.bb-cta-band--pdv .bb-cta-band-content {
  position: relative;
  z-index: 3;
}

@media (max-width: 767px) {
  .bb-cta-band--pdv .bb-cta-band-media {
    object-position: 80% 26%;
  }
}

.text-lime-grad {
  background: linear-gradient(120deg, #d4ff6a 0%, var(--bb-lime) 45%, #7bc41a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.btn-lime {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1.75rem;
  border-radius: 999px;
  background: var(--bb-lime);
  color: var(--bb-forest);
  font-weight: 700;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  box-shadow: 0 10px 30px var(--bb-glow);
}

.btn-lime:hover {
  background: #c8f75a;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(184, 240, 58, 0.45);
}

.btn-violet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1.75rem;
  border-radius: 999px;
  background: var(--bb-violet);
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  box-shadow: 0 10px 30px rgba(136, 84, 216, 0.4);
}

.btn-violet:hover {
  background: #9a6ae0;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(136, 84, 216, 0.5);
}

.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.7rem 1.1rem;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  font-size: 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
  transition: background 0.2s ease, border-color 0.2s ease;
}

.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
}

/* ÃƒÆ’Ã‚Âcone padrÃƒÆ’Ã‚Â£o ÃƒÆ’Ã‚Â  direita nos botÃƒÆ’Ã‚Âµes (::before ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â ::after fica livre p/ shimmer) */
.btn-lime:not(.bb-btn-no-icon)::before,
.btn-violet:not(.bb-btn-no-icon)::before,
.btn-ghost:not(.bb-btn-no-icon)::before,
.bb-nav-btn-cta:not(.bb-btn-no-icon)::before,
.bb-mega-promo-cta::before {
  content: "";
  display: inline-block;
  order: 2;
  width: 1.05em;
  height: 1.05em;
  flex-shrink: 0;
  margin-left: 0.15rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 0.2s ease;
  position: static;
  inset: auto;
  background-image: none;
  transform: none;
  animation: none;
  pointer-events: none;
}

.btn-lime:not(.bb-btn-no-icon),
.btn-violet:not(.bb-btn-no-icon),
.btn-ghost:not(.bb-btn-no-icon),
.bb-nav-btn-cta:not(.bb-btn-no-icon),
.bb-mega-promo-cta {
  gap: 0.45rem;
}

.btn-lime:not(.bb-btn-no-icon):hover::before,
.btn-violet:not(.bb-btn-no-icon):hover::before,
.btn-ghost:not(.bb-btn-no-icon):hover::before,
.bb-nav-btn-cta:not(.bb-btn-no-icon):hover::before,
.bb-mega-promo:hover .bb-mega-promo-cta::before {
  transform: translateX(2px);
}

/* BotÃƒÆ’Ã‚Âµes do header ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â mesmo tamanho; destaque no Teste grÃƒÆ’Ã‚Â¡tis */
.bb-nav-actions {
  flex-shrink: 0;
}

.bb-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 8.75rem;
  min-height: 2.75rem;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bb-nav-btn-ghost {
  color: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  font-weight: 600;
}

.bb-nav-btn-ghost:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.4);
}

.bb-nav-btn-cta {
  background: var(--bb-lime);
  color: var(--bb-forest);
  border: 1px solid var(--bb-lime);
  box-shadow: 0 8px 22px var(--bb-glow);
}

.bb-nav-btn-cta:hover {
  background: #c8f75a;
  border-color: #c8f75a;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(184, 240, 58, 0.45);
}

.btn-solid-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 1.75rem;
  border-radius: 999px;
  background: var(--bb-lime);
  color: var(--bb-forest);
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 12px 32px var(--bb-glow);
}

.btn-solid-dark:hover {
  transform: translateY(-2px);
}

.bb-card {
  background: var(--bb-mist);
  border-radius: var(--bb-radius);
  padding: 1.75rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.bb-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--bb-shadow-soft);
  background: #eef5ee;
}

.bb-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.9rem;
  display: grid;
  place-items: center;
  background: var(--bb-forest);
  color: var(--bb-lime);
}

.bb-icon-soft {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin: 0 auto 1rem;
  background: var(--bb-forest);
  color: var(--bb-lime);
}

/* Accordion / rotina autoplay ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â modelo suave */
.bb-routine-layout {
  display: grid;
  gap: 1.75rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .bb-routine-layout {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.2fr);
    gap: 3rem;
    align-items: start;
  }

  .bb-routine-col {
    padding-top: clamp(2.5rem, 4.5vw, 3.75rem);
  }

  .bb-routine-visual {
    padding-top: clamp(1.25rem, 2.5vw, 2rem);
  }
}

.bb-routine-col {
  min-width: 0;
}

.bb-routine {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  min-height: 0;
  height: auto;
}

.bb-acc-item {
  position: relative;
  z-index: 0;
  border-bottom: none;
  background: transparent;
}

.bb-acc-item:last-child .bb-acc-progress {
  margin-bottom: 0;
}

.bb-acc-btn {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
  padding: 0.95rem 0 0.85rem;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  color: var(--bb-ink);
  transition: color 0.35s ease;
}

.bb-acc-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.9rem;
  border-radius: 999px;
  background: #eef2f0;
  color: #3a4a47;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  transition: background 0.35s ease, color 0.35s ease;
}

.bb-acc-item.is-active .bb-acc-badge {
  background: var(--bb-forest);
  color: var(--bb-lime);
}

.bb-acc-title {
  display: block;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: clamp(0.98rem, 1.35vw, 1.12rem);
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--bb-ink);
  transition: color 0.35s ease;
}

.bb-acc-item.is-active .bb-acc-btn {
  padding-bottom: 0.35rem;
}

.bb-acc-item.is-active .bb-acc-title {
  color: var(--bb-ink);
}

.bb-acc-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.bb-acc-panel.is-open {
  grid-template-rows: 1fr;
}

.bb-acc-panel > .bb-acc-body {
  overflow: hidden;
  min-height: 0;
}

.bb-acc-body {
  padding: 0 0 0.85rem;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.45s ease 0.08s, transform 0.45s ease 0.08s;
}

.bb-acc-panel.is-open > .bb-acc-body {
  opacity: 1;
  transform: translateY(0);
}

.bb-acc-panel p {
  margin: 0 0 0.65rem;
  color: var(--bb-muted);
  line-height: 1.55;
  max-width: 36rem;
  font-size: 0.95rem;
}

.bb-acc-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--bb-violet);
  text-decoration: none;
  transition: color 0.2s ease, gap 0.2s ease;
}

.bb-acc-link::after {
  content: "→";
  transition: transform 0.2s ease;
}

.bb-acc-link:hover {
  color: var(--bb-violet-deep);
  gap: 0.55rem;
}

.bb-acc-link:hover::after {
  transform: translateX(2px);
}

.bb-acc-progress {
  height: 3px;
  width: 100%;
  margin-top: 0.15rem;
  border-radius: 999px;
  background: #e7f2ea;
  overflow: hidden;
}

.bb-acc-progress-bar {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: #b8f03a;
  transform-origin: left center;
  animation: none;
}

.bb-acc-item.is-active .bb-acc-progress-bar.is-running {
  animation-name: bb-acc-fill;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes bb-acc-fill {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-acc-panel {
    transition: none;
  }

  .bb-acc-body {
    transition: none;
    opacity: 1;
    transform: none;
  }

  .bb-acc-item.is-active .bb-acc-progress-bar.is-running {
    animation: none;
    width: 100%;
  }
}

/* Visual rotina (troca de imagem) */
.bb-routine-visual {
  width: 100%;
}

.bb-routine-frame {
  position: relative;
  display: grid;
  width: 100%;
  margin-inline: auto;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}

.bb-routine-img {
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  object-fit: unset;
  opacity: 0;
  transition: opacity 0.7s ease;
  pointer-events: none;
}

.bb-routine-img.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

/* Float UI overlays */
@keyframes bb-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes bb-float-slow {
  0%,
  100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-14px) rotate(1deg);
  }
}

.bb-float {
  animation: bb-float 5.5s ease-in-out infinite;
}

.bb-float-delay {
  animation: bb-float 6.5s ease-in-out 0.8s infinite;
}

.bb-float-phone {
  animation: bb-float-slow 7s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .bb-float,
  .bb-float-delay,
  .bb-float-phone {
    animation: none;
  }
}

/* Header */
.bb-hero-checks {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 28rem;
}

.bb-hero-checks li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
  line-height: 1.45;
}

.bb-hero-checks li::before {
  content: "";
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.12rem;
  border-radius: 999px;
  background-color: var(--bb-lime);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 0.75rem no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 0.75rem no-repeat;
}

.bb-hero-lead {
  width: 100%;
}

.bb-hero-lead .bb-hero-input,
input.bb-hero-input {
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 3.15rem;
  height: auto;
  margin: 0;
  padding: 0.9rem 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.35;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.bb-hero-lead .bb-hero-input::placeholder,
input.bb-hero-input::placeholder {
  color: rgba(255, 255, 255, 0.45);
  opacity: 1;
}

.bb-hero-lead .bb-hero-input:focus,
input.bb-hero-input:focus {
  border-color: rgba(184, 240, 58, 0.65);
  background: rgba(255, 255, 255, 0.14);
  box-shadow: 0 0 0 3px rgba(184, 240, 58, 0.18);
}

.bb-hero-lead .btn-lime {
  min-height: 3.15rem;
  box-sizing: border-box;
}

@media (max-width: 639px) {
  .bb-hero-lead .bb-hero-input,
  input.bb-hero-input {
    min-height: 3.35rem;
    padding: 1rem 1.35rem;
  }

  .bb-hero-lead .btn-lime {
    width: 100%;
    min-height: 3.35rem;
  }
}

.bb-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  background: transparent;
  border: none;
  transition: padding 0.35s ease;
}

.bb-nav-link,
.bb-mega-trigger {
  position: relative;
  transition: color 0.2s ease;
}

.bb-nav-desktop .bb-nav-link:hover,
.bb-nav-desktop .bb-mega-trigger:hover {
  color: #fff;
}

.bb-nav-desktop .bb-nav-link.is-active,
.bb-nav-desktop .bb-mega-trigger.is-active {
  color: var(--bb-lime);
  font-weight: 700;
}

.bb-nav-desktop .bb-nav-link.is-active::after,
.bb-nav-desktop .bb-mega-trigger.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.4rem;
  height: 2px;
  border-radius: 999px;
  background: var(--bb-lime);
}

.bb-mobile-nav .bb-nav-link.is-active,
.bb-mobile-nav .bb-mega-trigger.is-active {
  color: var(--bb-lime);
  font-weight: 700;
}

.bb-header-inner {
  position: relative;
  width: 100%;
  transition:
    background 0.35s ease,
    backdrop-filter 0.35s ease,
    box-shadow 0.35s ease,
    border-radius 0.35s ease,
    padding 0.35s ease,
    max-width 0.35s ease,
    margin 0.35s ease,
    border-color 0.35s ease;
}

.bb-header-bar {
  position: relative;
  width: 100%;
}

/* Cápsula flutuante ao rolar (não ocupa a largura toda) */
.bb-header.is-scrolled {
  padding: 0.7rem 0.85rem 0;
  background: transparent;
  border: none;
}

.bb-header.is-scrolled .bb-header-inner {
  max-width: min(72rem, calc(100vw - 1.7rem));
  margin-inline: auto;
  padding: 0.55rem 0.85rem 0.55rem 1.15rem;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
  backdrop-filter: blur(18px) saturate(1.1);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow:
    0 10px 36px rgba(0, 34, 34, 0.12),
    0 2px 8px rgba(0, 34, 34, 0.06);
}

.bb-header.is-scrolled .bb-nav-desktop,
.bb-header.is-scrolled .bb-nav-desktop .bb-mega-trigger {
  color: rgba(4, 26, 26, 0.7);
}

.bb-header.is-scrolled .bb-nav-desktop .bb-mega-trigger:hover,
.bb-header.is-scrolled .bb-nav-desktop .bb-mega-trigger[aria-expanded="true"],
.bb-header.is-scrolled .bb-nav-desktop a:hover {
  color: var(--bb-forest);
}

.bb-header.is-scrolled .bb-nav-desktop .bb-nav-link.is-active,
.bb-header.is-scrolled .bb-nav-desktop .bb-mega-trigger.is-active {
  color: var(--bb-forest);
}

.bb-header.is-scrolled .bb-nav-desktop .bb-nav-link.is-active::after,
.bb-header.is-scrolled .bb-nav-desktop .bb-mega-trigger.is-active::after {
  background: var(--bb-teal);
}

.bb-header.is-scrolled .bb-nav-btn-ghost {
  color: var(--bb-forest);
  border-color: rgba(0, 34, 34, 0.16);
  background: rgba(0, 34, 34, 0.04);
}

.bb-header.is-scrolled .bb-nav-btn-ghost:hover {
  background: rgba(0, 34, 34, 0.08);
  border-color: rgba(0, 34, 34, 0.26);
}

.bb-header.is-scrolled #menu-toggle {
  border-color: rgba(0, 34, 34, 0.18);
  color: var(--bb-forest);
}

@media (max-width: 1023px) {
  .bb-header.is-scrolled .bb-header-inner {
    border-radius: 1.35rem;
    padding: 0.55rem 0.85rem;
  }

  /* Menu aberto: cápsula branca cresce com o painel dentro */
  .bb-header.is-scrolled.is-mobile-nav-open .bb-header-inner {
    border-radius: 1.35rem;
    padding-bottom: 0.85rem;
  }

  /* Topo: mesma cápsula, nas cores atuais (verde) */
  .bb-header:not(.is-scrolled).is-mobile-nav-open {
    padding-top: 0.7rem;
  }

  .bb-header:not(.is-scrolled).is-mobile-nav-open .bb-header-inner {
    max-width: min(72rem, calc(100vw - 1.7rem));
    margin-inline: auto;
    padding: 0.9rem 1rem 1rem;
    background: rgba(0, 34, 34, 0.95);
    -webkit-backdrop-filter: blur(18px) saturate(1.1);
    backdrop-filter: blur(18px) saturate(1.1);
    border-radius: 1.35rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
      0 10px 36px rgba(0, 34, 34, 0.28),
      0 2px 8px rgba(0, 34, 34, 0.18);
  }
}

/* Mock UI pieces */
.ui-glass {
  position: relative;
  isolation: isolate;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: var(--bb-shadow);
  border-radius: 1.15rem;
  transition: box-shadow 0.35s ease, border-color 0.35s ease;
}

.ui-glass > * {
  position: relative;
  z-index: 1;
}

/* Borda animada no hover (Bamboo Border Orbit) */
.ui-glass::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1.5px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--beam-angle, 0deg),
    transparent 0%,
    transparent 55%,
    rgba(184, 240, 58, 0.15) 70%,
    var(--bb-lime) 82%,
    #e8ff9a 90%,
    transparent 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.ui-glass:hover {
  border-color: transparent;
}

.ui-glass:hover::before {
  opacity: 1;
  animation: bb-border-orbit 4.8s linear infinite;
}

@keyframes bb-border-orbit {
  to {
    --beam-angle: 360deg;
  }
}

@property --beam-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@media (prefers-reduced-motion: reduce) {
  .ui-glass:hover::before {
    animation: none;
    background: linear-gradient(135deg, var(--bb-lime), var(--bb-teal));
    opacity: 1;
  }
}

.ui-browser {
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--bb-shadow);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.ui-browser-bar {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.7rem 0.9rem;
  background: #f1f4f1;
  border-bottom: 1px solid #e4eae4;
}

.ui-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
}

/* Split #produto â€” foto + painel + â€œbâ€ Bamboo */
.bb-split {
  --bb-split-forest: #002222;
  position: relative;
  display: grid;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(26rem, 46vw, 32rem);
  background: var(--bb-split-forest);
}

.bb-split-media {
  position: relative;
  overflow: hidden;
  min-height: 16rem;
}

.bb-split-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 12%;
}

.bb-split-fade {
  position: absolute;
  inset: auto 0 0;
  height: 36%;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 34, 34, 0.5) 100%);
  pointer-events: none;
}

.bb-split-card {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 3;
  width: 9.75rem;
  padding: 0.75rem 0.85rem;
}

.bb-split-card-label {
  margin: 0;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bb-muted);
}

.bb-split-card-value {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--bb-ink);
}

.bb-split-card-meta {
  margin: 0.1rem 0 0;
  font-size: 0.68rem;
  color: var(--bb-muted);
}

.bb-split-panel {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--bb-split-forest);
  color: #fff;
  overflow: visible;
}

.bb-split-mark {
  position: absolute;
  z-index: 2;
  width: clamp(8.5rem, 18vw, 12.5rem);
  height: auto;
  max-width: none;
  overflow: visible;
  pointer-events: none;
  filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.4));
}

.bb-split-fx {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.bb-split-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
}

.bb-split-orb--violet {
  width: min(46vw, 18rem);
  height: min(46vw, 18rem);
  top: -28%;
  right: -10%;
  background: rgba(136, 84, 216, 0.32);
}

.bb-split-orb--lime {
  width: min(38vw, 14rem);
  height: min(38vw, 14rem);
  right: 16%;
  bottom: -30%;
  background: rgba(184, 240, 58, 0.14);
}

.bb-split-copy {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 32rem;
  padding: 2.5rem 1.35rem 2.75rem;
}

.bb-split-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 2.9vw, 2.35rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.bb-split-accent {
  display: block;
  color: var(--bb-lime);
}

.bb-split-title-rest {
  display: block;
  color: #fff;
}

.bb-split-text {
  margin: 0.9rem 0 0;
  max-width: 26rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.68);
}

@keyframes bb-split-mark-float {
  from {
    transform: translate(-58%, -50%) scale(1);
  }
  to {
    transform: translate(-62%, -47%) scale(1.03);
  }
}

@keyframes bb-split-mark-float-mobile {
  from {
    transform: translate(-50%, 36%) scale(1);
  }
  to {
    transform: translate(-50%, 32%) scale(1.03);
  }
}

@media (min-width: 900px) {
  .bb-split {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
    align-items: stretch;
  }

  .bb-split-media,
  .bb-split-panel {
    min-height: 100%;
  }

  .bb-split-panel {
    z-index: 3;
  }

  .bb-split-mark {
    left: 56%;
    top: 50%;
    transform: translate(-58%, -50%);
    animation: bb-split-mark-float 9s ease-in-out infinite alternate;
  }

  .bb-split-copy {
    padding: 3rem clamp(1.5rem, 3vw, 2.75rem) 3rem clamp(2.5rem, 4.5vw, 3.75rem);
  }

  .bb-split-card {
    left: 1.15rem;
    bottom: 1.15rem;
  }
}

@media (max-width: 899px) {
  .bb-split {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .bb-split-media {
    aspect-ratio: 16 / 11;
    max-height: 22rem;
    min-height: 16rem;
  }

  .bb-split-photo {
    object-position: 55% 10%;
  }

  .bb-split-mark {
    left: 50%;
    bottom: 0;
    top: auto;
    width: clamp(6.5rem, 30vw, 9rem);
    transform: translate(-50%, 36%);
    animation: bb-split-mark-float-mobile 9s ease-in-out infinite alternate;
    z-index: 2;
  }

  .bb-split-copy {
    padding-top: 3.5rem;
  }

  .bb-split-card {
    left: 0.85rem;
    bottom: 0.85rem;
    width: 9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-split-mark {
    animation: none;
  }
}


.bb-module-browser {
  position: relative;
  z-index: 1;
  border-radius: 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 28px 60px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(184, 240, 58, 0.08);
  transform: perspective(1200px) rotateY(-6deg) rotateX(2deg);
  transform-origin: center right;
}

@media (max-width: 1023px) {
  .bb-module-browser {
    transform: none;
  }
}

.bb-module-stage {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #0b1a1a;
}

.bb-module-dash {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

@media (min-width: 1024px) {
  .bb-module-visual {
    padding-bottom: 0.5rem;
  }
}

/* Integracoes - faixa horizontal de logos */
.bb-integ {
  position: relative;
  overflow: visible;
}

.bb-integ-head {
  display: grid;
  gap: 1.75rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .bb-integ-head {
    grid-template-columns: 1.05fr 0.95fr;
    gap: 4rem;
    align-items: end;
  }
}

.bb-integ-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  background: var(--bb-lime);
  color: var(--bb-forest);
  font-size: 0.8rem;
  font-weight: 600;
}

.bb-integ-title {
  margin: 1.1rem 0 0;
  max-width: 34rem;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--bb-forest);
}

.bb-integ-title strong {
  font-weight: 700;
}

.bb-integ-aside {
  border-top: 1px solid rgba(0, 34, 34, 0.1);
  padding-top: 1.15rem;
}

.bb-integ-aside p {
  margin: 0;
  max-width: 30rem;
  color: var(--bb-muted);
  line-height: 1.7;
  font-size: 1.02rem;
  font-weight: 400;
}

.bb-integ-aside a:not(.btn-lime) {
  color: var(--bb-teal);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.bb-integ-ribbon {
  --bubble: clamp(4.5rem, 9.5vw, 5.75rem);
  --hub: clamp(6.5rem, 13.5vw, 8.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: max-content;
  max-width: none;
  margin: 1.75rem auto 0;
  padding: 1.5rem 2rem 1rem;
  overflow: visible;
}

.bb-integ-bubble {
  position: relative;
  flex: 0 0 var(--bubble);
  width: var(--bubble);
  height: var(--bubble);
  margin-left: calc(var(--bubble) * -0.18);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  overflow: visible;
  box-shadow:
    0 12px 32px rgba(0, 34, 34, 0.12),
    0 0 0 1px rgba(0, 34, 34, 0.04);
  text-decoration: none;
  z-index: calc(16 - abs(var(--n) - 2));
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bb-integ-bubble:first-child {
  margin-left: 0;
}

.bb-integ-bubble:hover,
.bb-integ-bubble:focus-visible {
  transform: scale(1.05);
  box-shadow:
    0 18px 40px rgba(0, 34, 34, 0.14),
    0 0 0 1px rgba(0, 34, 34, 0.06);
  z-index: 30;
}

.bb-integ-bubble--hub {
  flex-basis: var(--hub);
  width: var(--hub);
  height: var(--hub);
  margin-left: calc(var(--bubble) * -0.14);
  margin-right: calc(var(--bubble) * -0.14);
  z-index: 20;
}

.bb-integ-img {
  display: block;
  width: 42%;
  height: 42%;
  object-fit: contain;
}

.bb-integ-img--wordmark {
  width: 64%;
  height: auto;
  max-height: 32%;
}

.bb-integ-img--squircle {
  width: 38%;
  height: 38%;
  border-radius: 22%;
}

.bb-integ-mark-img {
  display: block;
  width: 56%;
  height: 56%;
  object-fit: contain;
}

@media (max-width: 639px) {
  .bb-integ {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-inline: -0.5rem;
    padding-inline: 0.5rem;
  }

  .bb-integ::-webkit-scrollbar {
    display: none;
  }

  .bb-integ-ribbon {
    margin-top: 2rem;
    padding: 2.25rem 1.5rem 2.75rem;
  }
}

.ui-phone {
  width: min(260px, 72vw);
  aspect-ratio: 9 / 19;
  border-radius: 2.2rem;
  padding: 0.55rem;
  background: linear-gradient(160deg, #1a1a1a, #0d0d0d);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
  position: relative;
}

.ui-phone-screen {
  height: 100%;
  border-radius: 1.75rem;
  overflow: hidden;
  background: #f7faf7;
}

.ui-phone-island {
  position: absolute;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 38%;
  height: 1.35rem;
  background: #0a0a0a;
  border-radius: 999px;
  z-index: 2;
}

/* Stars */
.stars {
  color: #eab308;
  letter-spacing: 0.1em;
  font-size: 0.85rem;
}

/* RodapÃ©: transiÃ§Ã£o suave sem linha dura */
.bb-site-footer {
  border-top: none;
  background:
    linear-gradient(180deg, rgba(244, 247, 244, 0.55) 0%, #ffffff 4rem),
    #ffffff;
  box-shadow: inset 0 1px 0 rgba(0, 34, 34, 0.05);
}

/* Contact card in footer */
.bb-contact-card {
  background: var(--bb-mist);
  border-radius: 1.25rem;
  padding: 1.25rem;
}

/* â€”â€” Feature page: vantagens / ecossistema â€”â€” */
.bb-adv {
  position: relative;
  overflow: visible;
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(184, 240, 58, 0.1), transparent 55%),
    radial-gradient(ellipse 55% 45% at 100% 20%, rgba(10, 74, 69, 0.08), transparent 50%),
    linear-gradient(180deg, #f7faf7 0%, #ffffff 42%, #f4f7f4 100%);
}

.bb-adv-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .bb-adv-grid {
    margin-top: 6.5rem;
  }
}

@media (min-width: 1024px) {
  .bb-adv-grid {
    grid-template-columns: 1.15fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 1.35rem;
  }

  .bb-adv-card--hero {
    grid-row: 1 / span 2;
  }
}

.bb-adv-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.5rem 1.4rem 1.55rem;
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(0, 34, 34, 0.06);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 12px 32px -18px rgba(0, 34, 34, 0.18);
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  overflow: hidden;
}

.bb-adv-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(145deg, rgba(184, 240, 58, 0.14), transparent 42%, rgba(0, 34, 34, 0.03) 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
  z-index: 0;
}

.bb-adv-card > * {
  position: relative;
  z-index: 1;
}

.bb-adv-card:hover {
  transform: translateY(-6px);
  border-color: rgba(10, 74, 69, 0.18);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 22px 44px -20px rgba(0, 34, 34, 0.28);
}

.bb-adv-card:hover::before {
  opacity: 1;
}

.bb-adv-card--hero {
  overflow: hidden;
  padding: 1.85rem 1.65rem 1.9rem;
  background:
    linear-gradient(160deg, #002222 0%, #013333 48%, #0a4a45 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 24px 48px -24px rgba(0, 34, 34, 0.55);
}

.bb-adv-card--hero > .bb-adv-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 18% center;
  opacity: 0.55;
  pointer-events: none;
  transform: scale(1.02);
}

.bb-adv-card--hero::before {
  z-index: 1;
  background:
    linear-gradient(160deg, rgba(0, 34, 34, 0.68) 0%, rgba(1, 51, 51, 0.62) 45%, rgba(10, 74, 69, 0.7) 100%),
    radial-gradient(ellipse 80% 60% at 10% 0%, rgba(184, 240, 58, 0.18), transparent 55%),
    radial-gradient(ellipse 55% 45% at 100% 100%, rgba(10, 74, 69, 0.35), transparent 55%);
  opacity: 1;
}

.bb-adv-card--hero > *:not(.bb-adv-hero-bg) {
  position: relative;
  z-index: 2;
}

.bb-adv-card--hero:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 28px 56px -22px rgba(0, 34, 34, 0.65);
}

.bb-adv-card--hero:hover > .bb-adv-hero-bg {
  opacity: 0.62;
}

.bb-adv-card--hero .bb-adv-title {
  color: #fff;
  font-size: 1.35rem;
}

.bb-adv-card--hero .bb-adv-text {
  color: rgba(255, 255, 255, 0.72);
}

.bb-adv-card--hero .bb-adv-icon {
  background: rgba(184, 240, 58, 0.14);
  color: var(--bb-lime);
  box-shadow: 0 0 0 1px rgba(184, 240, 58, 0.25);
}

.bb-adv-card--wide {
  /* metrics card spans on smaller grids if needed */
}

.bb-adv-card--mascote {
  overflow: visible;
  z-index: 3;
}

.bb-adv-card--mascote > .bb-adv-mascote {
  position: absolute;
  z-index: 6;
  right: 0;
  top: -6.85rem;
  width: 9.5rem;
  height: auto;
  pointer-events: none;
  filter: drop-shadow(0 12px 20px rgba(0, 34, 34, 0.28));
}

@media (min-width: 1024px) {
  .bb-adv-card--mascote > .bb-adv-mascote {
    right: 0.15rem;
    top: -8rem;
    width: 11rem;
  }
}

/* Mobile bridge: mascote na linha abaixo do hero (fora do card animado) */
.bb-adv-mascote--mobile-bridge {
  display: none;
}

@media (max-width: 767px) {
  main > .bb-atmosphere.bb-atmosphere--soft {
    overflow: visible;
  }

  /* Home: trava overflow horizontal (cards flutuantes do hero) — só mobile */
  .bb-page-home,
  .bb-page-home main {
    overflow-x: clip;
    max-width: 100%;
  }

  .bb-page-home main > .bb-atmosphere.bb-atmosphere--soft {
    overflow-x: clip;
    overflow-y: visible;
  }

  .bb-page-home .bb-clients-marquee {
    overflow-x: clip;
    max-width: 100%;
  }

  .bb-adv-card--mascote > .bb-adv-mascote {
    display: none;
  }

  .bb-adv-mascote--mobile-bridge {
    display: block;
    position: absolute;
    z-index: 8;
    top: 0;
    left: 50%;
    right: auto;
    width: 7.35rem;
    height: auto;
    transform: translate(-50%, -76%);
    pointer-events: none;
    filter: drop-shadow(0 12px 20px rgba(0, 34, 34, 0.28));
  }

  .bb-adv-mascote--mobile-bridge.bb-adv-mascote--os-deitado {
    width: 9.5rem;
    /* Base do deitado encosta na linha (mesmo critério do card no desktop) */
    transform: translate(-50%, calc(-100% + 0.7rem));
  }

  .bb-adv > .relative > .max-w-2xl {
    padding-top: 1.25rem;
  }
}

/* O.S. — panda deitado apoiado na borda de cima do card */
.bb-adv-card--mascote > .bb-adv-mascote--os-deitado {
  top: auto;
  bottom: calc(100% - 0.7rem);
  width: 10rem;
  right: -0.3rem;
  filter: drop-shadow(0 8px 14px rgba(0, 34, 34, 0.22));
}

@media (min-width: 1024px) {
  .bb-adv-card--mascote > .bb-adv-mascote--os-deitado {
    top: auto;
    bottom: calc(100% - 0.85rem);
    width: 11.25rem;
    right: -0.35rem;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .bb-adv-grid {
    grid-template-columns: 1fr 1fr;
  }

  .bb-adv-card--hero {
    grid-column: 1 / -1;
  }

  .bb-adv-card--wide {
    grid-column: 1 / -1;
  }
}

.bb-adv-icon {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  background: var(--bb-mist);
  color: var(--bb-teal);
  margin-bottom: 1.15rem;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.3s ease;
}

.bb-adv-card:hover .bb-adv-icon {
  transform: scale(1.08) rotate(-3deg);
}

.bb-adv-icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.bb-adv-kicker {
  display: inline-block;
  margin-bottom: 0.55rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bb-lime);
}

.bb-adv-card:not(.bb-adv-card--hero) .bb-adv-kicker {
  color: var(--bb-teal);
}

.bb-adv-title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--bb-ink);
}

.bb-adv-text {
  margin-top: 0.65rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--bb-muted);
}

.bb-adv-metric {
  margin-top: auto;
  padding-top: 1.35rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.bb-adv-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  background: rgba(184, 240, 58, 0.12);
  color: var(--bb-lime);
  font-size: 0.75rem;
  font-weight: 600;
}

.bb-flow {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(184, 240, 58, 0.08), transparent 60%),
    var(--bb-mist);
}

.bb-flow-track {
  display: grid;
  gap: 1.25rem;
  margin-top: 2.75rem;
}

@media (min-width: 768px) {
  .bb-flow-track {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}

.bb-flow-step {
  position: relative;
  padding: 1.5rem 1.35rem 1.55rem;
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
  box-shadow: 0 14px 36px -22px rgba(0, 34, 34, 0.22);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}

.bb-flow-step:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 40px -20px rgba(0, 34, 34, 0.3);
}

.bb-flow-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--bb-forest);
  background: linear-gradient(135deg, var(--bb-lime), #d4ff6a);
  box-shadow: 0 8px 20px -10px rgba(184, 240, 58, 0.8);
}

.bb-eco {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 60% 40% at 100% 0%, rgba(10, 74, 69, 0.07), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f4f7f4 100%);
}

.bb-eco-grid {
  display: grid;
  gap: 1rem;
  margin-top: 2.75rem;
}

@media (min-width: 640px) {
  .bb-eco-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .bb-eco-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.bb-eco-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 1.25rem 1.2rem 1.35rem;
  border-radius: 1.35rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.07);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.3s ease;
}

.bb-eco-tile::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--bb-lime), var(--bb-teal));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.bb-eco-tile:hover {
  transform: translateY(-5px);
  border-color: rgba(10, 74, 69, 0.2);
  box-shadow: 0 20px 40px -24px rgba(0, 34, 34, 0.35);
}

.bb-eco-tile:hover::after {
  transform: scaleX(1);
}

.bb-eco-tile:hover .bb-eco-arrow {
  transform: translateX(4px);
  color: var(--bb-teal);
}

.bb-eco-tile:hover .bb-eco-icon {
  background: var(--bb-forest);
  color: var(--bb-lime);
}

.bb-eco-icon {
  display: inline-grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  background: var(--bb-mist);
  color: var(--bb-teal);
  transition: background 0.3s ease, color 0.3s ease, transform 0.35s ease;
}

.bb-eco-tile:hover .bb-eco-icon {
  transform: scale(1.06);
}

.bb-eco-icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.bb-eco-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--bb-ink);
}

.bb-eco-arrow {
  color: var(--bb-muted);
  transition: transform 0.3s ease, color 0.3s ease;
  flex-shrink: 0;
}

.bb-eco-text {
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--bb-muted);
}

.bb-eco-tile--cta {
  background:
    linear-gradient(145deg, #002222 0%, #0a4a45 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 18px 40px -20px rgba(0, 34, 34, 0.5);
}

.bb-eco-tile--cta .bb-eco-title,
.bb-eco-tile--cta .bb-eco-text {
  color: #fff;
}

.bb-eco-tile--cta .bb-eco-text {
  color: rgba(255, 255, 255, 0.68);
}

.bb-eco-tile--cta .bb-eco-icon {
  background: rgba(184, 240, 58, 0.16);
  color: var(--bb-lime);
}

.bb-eco-tile--cta .bb-eco-arrow {
  color: var(--bb-lime);
}

.bb-eco-tile--cta::after {
  background: var(--bb-lime);
  transform: scaleX(1);
}

.bb-eco-tile--cta:hover {
  transform: translateY(-6px) scale(1.02);
}

/* Hero Vendas â€” cards glass flutuantes */
.bb-hero-vendas-visual {
  position: relative;
  width: 100%;
  max-width: 26rem;
  margin-inline: auto;
  min-height: 24rem;
  isolation: isolate;
}

.bb-hero-vendas-glow {
  position: absolute;
  z-index: 0;
  left: 10%;
  top: 12%;
  width: 70%;
  height: 60%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184, 240, 58, 0.2) 0%, transparent 70%);
  filter: blur(12px);
  pointer-events: none;
}

.bb-hero-vendas-card {
  position: absolute;
  color: #fff;
  background: rgba(8, 32, 32, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.35rem;
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  box-shadow:
    0 22px 48px -20px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.bb-hero-vendas-card--main {
  z-index: 3;
  left: 6%;
  right: 6%;
  top: 18%;
  padding: 1.25rem 1.3rem 1.35rem;
}

.bb-hero-vendas-card--pedidos {
  z-index: 4;
  left: 0;
  top: 0;
  width: 10.5rem;
  padding: 0.95rem 1rem 1.05rem;
  animation-duration: 6.2s;
}

.bb-hero-vendas-card--meta {
  z-index: 4;
  right: 0;
  top: 8%;
  width: 10.75rem;
  padding: 0.95rem 1rem 1.05rem;
  animation-duration: 5.8s;
}

.bb-hero-vendas-card--equipe {
  z-index: 4;
  right: 4%;
  bottom: 6%;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  width: auto;
  max-width: 13rem;
  padding: 0.75rem 0.95rem;
  border-radius: 1.1rem;
}

.bb-hero-vendas-kicker {
  margin: 0;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.48);
}

.bb-hero-vendas-value {
  margin: 0.45rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 4vw, 2.35rem);
  font-weight: 800;
  line-height: 1.05;
  color: #fff;
}

.bb-hero-vendas-value--sm {
  font-size: 1.45rem;
  margin-top: 0.3rem;
}

.bb-hero-vendas-trend {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--bb-lime);
}

.bb-hero-vendas-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  margin-top: 1rem;
}

.bb-hero-vendas-mini > div {
  padding: 0.65rem 0.7rem;
  border-radius: 0.85rem;
  background: rgba(0, 14, 14, 0.42);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.bb-hero-vendas-mini span {
  display: block;
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.42);
}

.bb-hero-vendas-mini strong {
  display: block;
  margin-top: 0.25rem;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}

.bb-hero-vendas-mini strong.is-lime {
  color: var(--bb-lime);
}

.bb-hero-vendas-bars {
  display: flex;
  align-items: flex-end;
  gap: 0.28rem;
  height: 2.4rem;
  margin-top: 0.7rem;
}

.bb-hero-vendas-bars span {
  flex: 1;
  height: var(--h, 50%);
  border-radius: 0.28rem 0.28rem 0.15rem 0.15rem;
  background: linear-gradient(180deg, var(--bb-lime) 0%, rgba(184, 240, 58, 0.35) 100%);
}

.bb-hero-vendas-progress {
  height: 0.45rem;
  margin-top: 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.bb-hero-vendas-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--bb-lime);
  box-shadow: 0 0 12px rgba(184, 240, 58, 0.45);
}

.bb-hero-vendas-meta {
  margin: 0.45rem 0 0;
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.5);
}

.bb-hero-vendas-dot {
  flex-shrink: 0;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--bb-lime);
  box-shadow: 0 0 0 4px rgba(184, 240, 58, 0.18);
  animation: bb-pulse-dot 2s ease-in-out infinite;
}

.bb-hero-vendas-equipe-title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
}

.bb-hero-vendas-equipe-sub {
  margin: 0.1rem 0 0;
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.5);
}

@keyframes bb-pulse-dot {
  0%,
  100% {
    box-shadow: 0 0 0 4px rgba(184, 240, 58, 0.18);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(184, 240, 58, 0.08);
  }
}

@media (min-width: 1024px) {
  .bb-hero-vendas-visual {
    max-width: none;
    min-height: 28rem;
    margin: 0;
  }

  .bb-hero-vendas-card--main {
    left: 8%;
    right: 10%;
    top: 20%;
    padding: 1.4rem 1.45rem 1.5rem;
  }

  .bb-hero-vendas-card--pedidos {
    left: -2%;
    top: -2%;
    width: 11.25rem;
  }

  .bb-hero-vendas-card--meta {
    right: -2%;
    top: 4%;
    width: 11.5rem;
  }

  .bb-hero-vendas-card--equipe {
    right: 2%;
    bottom: 2%;
  }
}

@media (max-width: 767px) {
  .bb-hero-vendas-visual {
    max-width: 21.5rem;
    min-height: 26.5rem;
  }

  .bb-hero-vendas-card--main {
    z-index: 2;
    top: 30%;
    left: 9%;
    right: 9%;
    padding: 1.15rem 1.05rem 1.2rem;
  }

  /* Floats só “beijam” os cantos — efeito mantido, sem cobrir o conteúdo */
  .bb-hero-vendas-card--pedidos {
    z-index: 4;
    left: -0.35rem;
    top: 0.35rem;
    width: 8.4rem;
    padding: 0.7rem 0.75rem 0.8rem;
  }

  .bb-hero-vendas-card--meta {
    z-index: 4;
    right: -0.35rem;
    top: 1.1rem;
    width: 8.55rem;
    padding: 0.7rem 0.75rem 0.8rem;
  }

  .bb-hero-vendas-card--equipe {
    z-index: 4;
    right: -0.15rem;
    bottom: 0.15rem;
    max-width: 11.25rem;
    padding: 0.65rem 0.8rem;
  }

  .bb-hero-vendas-value {
    font-size: 1.65rem;
  }

  .bb-hero-vendas-value--sm {
    font-size: 1.2rem;
  }

  .bb-hero-vendas-mini {
    gap: 0.45rem;
    margin-top: 0.85rem;
  }

  .bb-hero-vendas-mini > div {
    padding: 0.55rem 0.6rem;
  }

  .bb-hero-vendas-bars {
    height: 2rem;
    margin-top: 0.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-hero-vendas-card.bb-float,
  .bb-hero-vendas-card.bb-float-delay,
  .bb-hero-vendas-dot {
    animation: none;
  }
}

.bb-final-cta {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem;
  background:
    radial-gradient(ellipse 55% 50% at 50% 100%, rgba(184, 240, 58, 0.08), transparent 65%),
    #ffffff;
}

@media (min-width: 768px) {
  .bb-final-cta {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-adv-card,
  .bb-adv-icon,
  .bb-flow-step,
  .bb-eco-tile,
  .bb-eco-icon,
  .bb-eco-arrow,
  .bb-eco-tile::after {
    transition: none;
  }

  .bb-adv-card:hover,
  .bb-flow-step:hover,
  .bb-eco-tile:hover,
  .bb-eco-tile--cta:hover {
    transform: none;
  }
}

/* Mobile nav */
.bb-mobile-nav {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    grid-template-rows 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s ease,
    visibility 0.28s,
    margin 0.28s ease,
    padding 0.28s ease;
}

.bb-mobile-nav > .bb-mobile-nav-list {
  overflow: hidden;
  min-height: 0;
}

.bb-mobile-nav.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  margin-top: 0.65rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.bb-mobile-nav-list {
  color: rgba(255, 255, 255, 0.9);
}

.bb-mobile-nav .bb-nav-link,
.bb-mobile-nav .bb-mega-trigger {
  color: inherit;
}

.bb-mobile-nav .bb-nav-link.is-active,
.bb-mobile-nav .bb-mega-trigger.is-active,
.bb-mobile-nav .bb-mega-trigger[aria-expanded="true"] {
  color: var(--bb-lime);
  font-weight: 700;
}

/* Topo (header transparente): painel dentro da cápsula verde */
@media (max-width: 1023px) {
  .bb-header:not(.is-scrolled) .bb-mobile-nav.is-open {
    margin: 0.55rem 0 0;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    background: transparent;
  }

  /* Rolado: menu dentro da cápsula branca */
  .bb-header.is-scrolled .bb-mobile-nav.is-open {
    margin-top: 0.55rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(0, 34, 34, 0.1);
    background: transparent;
  }

  .bb-header.is-scrolled .bb-mobile-nav-list {
    color: rgba(4, 26, 26, 0.78);
  }

  .bb-header.is-scrolled .bb-mobile-nav .bb-nav-link.is-active,
  .bb-header.is-scrolled .bb-mobile-nav .bb-mega-trigger.is-active,
  .bb-header.is-scrolled .bb-mobile-nav .bb-mega-trigger[aria-expanded="true"] {
    color: var(--bb-teal);
  }

  .bb-header.is-scrolled .bb-mobile-mega a {
    background: rgba(0, 34, 34, 0.05);
    color: var(--bb-forest);
  }

  .bb-header.is-scrolled .bb-mobile-mega a:hover {
    background: rgba(184, 240, 58, 0.18);
  }
}

@media (min-width: 1024px) {
  .bb-mobile-nav {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  .bb-nav-desktop {
    display: none !important;
  }
}

/* ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â Megamenu Funcionalidades ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬ÂÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â */
.bb-mega-wrap {
  position: relative;
}

.bb-mega-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  padding: 0;
  transition: color 0.2s ease;
}

.bb-mega-trigger:hover,
.bb-mega-trigger[aria-expanded="true"] {
  color: #fff;
}

.bb-mega-trigger .bb-mega-chevron {
  transition: transform 0.25s ease;
}

.bb-mega-trigger[aria-expanded="true"] .bb-mega-chevron {
  transform: rotate(180deg);
}

.bb-mega {
  position: absolute;
  left: 50%;
  top: calc(100% + 1.1rem);
  transform: translateX(-50%) translateY(8px);
  width: min(90rem, calc(100vw - 2rem));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  z-index: 60;
}

/* Centraliza o painel em relaÃƒÆ’Ã‚Â§ÃƒÆ’Ã‚Â£o ÃƒÆ’Ã‚Â  viewport quando o trigger estÃƒÆ’Ã‚Â¡ no meio do header */
@supports (width: 100vw) {
  .bb-nav-desktop .bb-mega-wrap .bb-mega {
    position: fixed;
    left: 50%;
    top: 4.5rem;
    transform: translateX(-50%) translateY(8px);
  }

  .bb-nav-desktop .bb-mega-wrap .bb-mega.is-open {
    transform: translateX(-50%) translateY(0);
  }

  .bb-header.is-scrolled .bb-nav-desktop .bb-mega-wrap .bb-mega,
  .bb-header.is-mega-open .bb-nav-desktop .bb-mega-wrap .bb-mega {
    top: 5.35rem;
  }
}

.bb-mega.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.bb-mega-panel {
  background: transparent;
  color: var(--bb-ink);
  border-radius: 0;
  padding: 0;
  overflow: visible;
  box-shadow: none;
  border: none;
}

.bb-mega-panel::before {
  display: none;
}

.bb-mega-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  align-items: stretch;
  gap: 0.75rem;
  min-height: 100%;
}

.bb-mega-main {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.35rem 1.35rem 1.1rem;
  min-width: 0;
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 28px 70px rgba(0, 34, 34, 0.22);
  border: 1px solid var(--bb-fog);
}

.bb-mega-main::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #fff;
  border-left: 1px solid var(--bb-fog);
  border-top: 1px solid var(--bb-fog);
  transform: translateX(-50%) rotate(45deg);
  z-index: 2;
}

.bb-mega-kicker {
  margin: 0 0 1rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bb-muted);
}

.bb-mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  flex: 1;
}

.bb-mega-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.85rem;
  border-radius: 1rem;
  text-align: left;
  border: 1px solid transparent;
  background: transparent;
  transition: background 0.25s ease;
  position: relative;
  isolation: isolate;
}

.bb-mega-item > * {
  position: relative;
  z-index: 1;
}

.bb-mega-item:hover {
  background: var(--bb-mist);
}

/* Borda animada suave sÃƒÆ’Ã‚Â³ no hover */
.bb-mega-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1.5px;
  border-radius: inherit;
  background: conic-gradient(
    from var(--beam-angle, 0deg),
    transparent 0%,
    transparent 55%,
    rgba(184, 240, 58, 0.2) 70%,
    var(--bb-lime) 82%,
    #e8ff9a 90%,
    transparent 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.bb-mega-item:hover::before {
  opacity: 1;
  animation: bb-border-orbit 4.8s linear infinite;
}

.bb-mega-icon {
  width: 2.65rem;
  height: 2.65rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: var(--bb-forest);
  color: #b8f03a !important;
  flex-shrink: 0;
}

.bb-mega-icon svg {
  width: 1.2rem;
  height: 1.2rem;
  display: block;
  stroke: #b8f03a;
  color: #b8f03a;
}

.bb-mega-copy {
  min-width: 0;
}

.bb-mega-title {
  display: block;
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--bb-ink);
  text-transform: none;
  letter-spacing: normal;
}

.bb-mega-desc {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  line-height: 1.45;
  color: var(--bb-muted);
  text-transform: none;
  letter-spacing: normal;
  font-weight: 500;
}

.bb-mega-foot {
  margin-top: auto;
  padding-top: 0.95rem;
  border-top: 1px solid var(--bb-fog);
  display: flex;
  justify-content: flex-end;
}

.bb-mega-foot a {
  font-size: 0.8rem;
  font-weight: 650;
  color: var(--bb-teal);
  text-transform: none;
  letter-spacing: normal;
}

.bb-mega-foot a:hover {
  color: var(--bb-forest);
}

/* Promo teste grÃƒÆ’Ã‚Â¡tis ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â card separado, mesma altura do menu */
.bb-mega-promo {
  position: relative;
  display: block;
  min-height: 100%;
  overflow: hidden;
  background: var(--bb-forest);
  text-decoration: none;
  border-radius: 1.5rem;
  box-shadow: 0 28px 70px rgba(0, 34, 34, 0.22);
}

/* Feixe girando (transform) ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â mais confiÃƒÆ’Ã‚Â¡vel que animar --beam-angle */
.bb-mega-promo::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 220%;
  height: 220%;
  z-index: 0;
  background: conic-gradient(
    from 0deg,
    transparent 0%,
    transparent 72%,
    rgba(184, 240, 58, 0.35) 80%,
    #b8f03a 88%,
    #ffffff 94%,
    transparent 100%
  );
  transform: translate(-50%, -50%) rotate(0deg);
  animation: bb-promo-spin 6.5s linear infinite;
  pointer-events: none;
}

@keyframes bb-promo-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.bb-mega-promo-media {
  position: absolute;
  inset: 2px;
  z-index: 1;
  overflow: hidden;
  border-radius: calc(1.5rem - 2px);
}

.bb-mega-promo-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  transition: transform 0.5s ease;
}

.bb-mega-promo:hover .bb-mega-promo-media img {
  transform: scale(1.04);
}

.bb-mega-promo-overlay {
  position: absolute;
  inset: 2px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 0.45rem;
  padding: 1.35rem;
  border-radius: calc(1.5rem - 2px);
  background: linear-gradient(180deg, transparent 35%, rgba(0, 34, 34, 0.82) 100%);
  pointer-events: none;
  text-align: center;
}

.bb-mega-promo-overlay .bb-mega-promo-cta {
  pointer-events: auto;
}

.bb-mega-promo-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
}

.bb-mega-promo-cta {
  display: inline-flex;
  align-items: center;
  align-self: center;
  gap: 0.4rem;
  padding: 0.65rem 1.1rem;
  border-radius: 999px;
  background: var(--bb-lime);
  color: var(--bb-forest);
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: 0 10px 28px rgba(184, 240, 58, 0.35);
  transition: background 0.2s ease, transform 0.2s ease;
}

.bb-mega-promo:hover .bb-mega-promo-cta {
  background: #c8f75a;
  transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
  .bb-mega-promo::before {
    animation: none;
    background: linear-gradient(135deg, var(--bb-lime), #ffffff, transparent);
  }
}

.bb-header.is-mega-open {
  padding: 0.7rem 0.85rem 0;
  background: transparent;
  border: none;
}

.bb-header.is-mega-open .bb-header-inner {
  max-width: min(72rem, calc(100vw - 1.7rem));
  margin-inline: auto;
  padding: 0.55rem 0.85rem 0.55rem 1.15rem;
  background: rgba(255, 255, 255, 0.94);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
  backdrop-filter: blur(18px) saturate(1.1);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow:
    0 10px 36px rgba(0, 34, 34, 0.12),
    0 2px 8px rgba(0, 34, 34, 0.06);
}

.bb-header.is-mega-open .bb-nav-desktop,
.bb-header.is-mega-open .bb-nav-desktop .bb-mega-trigger {
  color: rgba(4, 26, 26, 0.72);
}

.bb-header.is-mega-open .bb-nav-desktop .bb-mega-trigger:hover,
.bb-header.is-mega-open .bb-nav-desktop .bb-mega-trigger[aria-expanded="true"],
.bb-header.is-mega-open .bb-nav-desktop a:hover {
  color: var(--bb-forest);
}

.bb-header.is-mega-open .bb-nav-btn-ghost {
  color: var(--bb-forest);
  border-color: rgba(0, 34, 34, 0.18);
  background: rgba(0, 34, 34, 0.04);
}

.bb-header.is-mega-open .bb-nav-btn-ghost:hover {
  background: rgba(0, 34, 34, 0.08);
  border-color: rgba(0, 34, 34, 0.28);
}

.bb-header.is-mega-open #menu-toggle {
  border-color: rgba(0, 34, 34, 0.18);
  color: var(--bb-forest);
}

/* Glass overlay atrÃƒÆ’Ã‚Â¡s do megamenu ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â frosted suave (estilo referÃƒÆ’Ã‚Âªncia) */
.bb-mega-backdrop {
  position: fixed;
  inset: 0;
  z-index: 45;
  background: rgba(244, 247, 244, 0.55);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
  backdrop-filter: blur(18px) saturate(1.05);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.bb-mega-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  .bb-mega-backdrop {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(244, 247, 244, 0.82);
  }
}

/* Mobile accordion de funcionalidades */
.bb-mobile-mega {
  display: none;
  padding: 0.25rem 0 0.5rem;
}

.bb-mobile-mega.is-open {
  display: grid;
  gap: 0.35rem;
}

.bb-mobile-mega a {
  display: block;
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.9rem;
  text-transform: none;
  letter-spacing: normal;
}

.bb-mobile-mega a:hover {
  background: rgba(184, 240, 58, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  .bb-mega-item:hover::before {
    animation: none;
    background: linear-gradient(135deg, var(--bb-lime), var(--bb-teal));
    opacity: 1;
  }

  .bb-mega-promo:hover img {
    transform: none;
  }
}

@media (max-width: 1100px) {
  .bb-mega-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bb-mega-layout {
    grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
    gap: 0.65rem;
  }
}

@media (max-width: 900px) {
  .bb-mega-layout {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .bb-mega-promo {
    min-height: 180px;
  }

  .bb-mega-main::before {
    display: none;
  }
}

/* â€”â€” Blog â€”â€” */
.bb-blog-crumb {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.5);
}

.bb-blog-crumb a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  transition: color 0.2s ease;
}

.bb-blog-crumb a:hover {
  color: #fff;
}

.bb-blog-hero-meta {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.62);
  letter-spacing: 0.01em;
}

.bb-blog-layout {
  display: grid;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .bb-blog-layout {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 18.5rem);
    gap: 2.5rem;
    align-items: start;
  }

  .bb-blog-aside {
    position: sticky;
    top: 6rem;
  }
}

.bb-blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.bb-blog-filter {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 34, 34, 0.12);
  background: #fff;
  color: var(--bb-muted, #5c6b6a);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.bb-blog-filter:hover {
  border-color: rgba(0, 34, 34, 0.28);
  color: var(--bb-forest);
}

.bb-blog-filter.is-active {
  background: var(--bb-forest);
  border-color: var(--bb-forest);
  color: var(--bb-lime);
}

.bb-blog-cat {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  padding: 0.22rem 0.6rem;
  border: 1px solid rgba(184, 240, 58, 0.55);
  border-radius: 999px;
  background: #fff;
  color: var(--bb-teal, #0a4a45);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
}

.bb-blog-cat--on-dark {
  background: transparent;
  border-color: rgba(184, 240, 58, 0.55);
  color: var(--bb-lime);
}

.bb-blog-meta {
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  color: var(--bb-muted, #5c6b6a);
}

.bb-blog-featured {
  display: grid;
  gap: 0;
  overflow: hidden;
  border-radius: 1.35rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
  text-decoration: none;
  color: inherit;
  margin-bottom: 1.5rem;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.bb-blog-featured:hover {
  box-shadow: 0 18px 40px rgba(0, 34, 34, 0.1);
  transform: translateY(-2px);
}

.bb-blog-featured img {
  width: 100%;
  height: clamp(12rem, 32vw, 18rem);
  object-fit: cover;
  display: block;
}

.bb-blog-featured-body {
  padding: 1.35rem 1.5rem 1.6rem;
}

.bb-blog-featured-title {
  margin-top: 0.65rem;
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--bb-ink, #041a1a);
}

.bb-blog-featured-excerpt {
  margin-top: 0.55rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--bb-muted, #5c6b6a);
}

.bb-blog-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .bb-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.bb-blog-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1.15rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.bb-blog-card:hover {
  box-shadow: 0 16px 36px rgba(0, 34, 34, 0.1);
  transform: translateY(-2px);
}

.bb-blog-card-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.bb-blog-card-body {
  padding: 1.1rem 1.15rem 1.25rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bb-blog-card-title {
  margin-top: 0.55rem;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--bb-ink, #041a1a);
}

.bb-blog-card-excerpt {
  margin-top: 0.45rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--bb-muted, #5c6b6a);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bb-blog-aside-card {
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
  border-radius: 1.15rem;
  padding: 1.25rem 1.2rem;
  margin-bottom: 1rem;
}

.bb-blog-aside-card--cta {
  background: var(--bb-forest);
  border-color: transparent;
}

.bb-blog-aside-card--cta .bb-blog-aside-title {
  color: #fff;
}

.bb-blog-aside-text {
  margin-top: 0.4rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}

.bb-blog-aside-title {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--bb-ink, #041a1a);
}

.bb-blog-popular {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
}

.bb-blog-popular li + li {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(0, 34, 34, 0.06);
}

.bb-blog-popular a {
  text-decoration: none;
  display: block;
}

.bb-blog-popular-cat {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 0.22rem 0.6rem;
  border: 1px solid rgba(184, 240, 58, 0.55);
  border-radius: 999px;
  background: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--bb-teal, #0a4a45);
}

.bb-blog-popular-title {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--bb-ink, #041a1a);
}

.bb-blog-popular a:hover .bb-blog-popular-title {
  color: var(--bb-teal, #0a4a45);
}

.bb-blog-cats {
  list-style: none;
  margin: 0.75rem 0 0;
  padding: 0;
}

.bb-blog-cats a {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--bb-muted, #5c6b6a);
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 34, 34, 0.05);
}

.bb-blog-cats a:hover {
  color: var(--bb-forest);
}

.bb-blog-cats span {
  color: var(--bb-teal, #0a4a45);
  font-weight: 700;
  font-size: 0.75rem;
}

.bb-blog-newsletter {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.85rem;
}

.bb-blog-hero-cover {
  margin: 0 0 1.75rem;
  border-radius: 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(0, 34, 34, 0.06);
}

.bb-blog-hero-cover img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.bb-blog-prose {
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
  border-radius: 1.25rem;
  padding: 1.5rem 1.35rem 1.75rem;
  color: var(--bb-ink, #041a1a);
  font-size: 1.02rem;
  line-height: 1.7;
}

@media (min-width: 640px) {
  .bb-blog-prose {
    padding: 2rem 2.15rem 2.25rem;
  }
}

.bb-blog-prose h2 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  margin: 1.75rem 0 0.65rem;
  line-height: 1.3;
}

.bb-blog-prose h3 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  margin: 1.35rem 0 0.5rem;
}

.bb-blog-prose p {
  margin: 0.75rem 0;
  color: #2a3a39;
}

.bb-blog-prose ul {
  margin: 0.65rem 0 1rem;
  padding-left: 1.2rem;
  color: #2a3a39;
}

.bb-blog-prose li + li {
  margin-top: 0.35rem;
}

.bb-blog-prose code {
  font-size: 0.9em;
  background: rgba(0, 34, 34, 0.06);
  padding: 0.1rem 0.35rem;
  border-radius: 0.3rem;
}

.bb-blog-callout {
  margin: 1.25rem 0;
  padding: 0.95rem 1rem 0.95rem 1.1rem;
  border-left: 3px solid var(--bb-lime);
  background: rgba(184, 240, 58, 0.12);
  border-radius: 0 0.75rem 0.75rem 0;
}

.bb-blog-callout p {
  margin: 0;
  font-weight: 500;
  color: var(--bb-forest);
}

.bb-blog-prose a {
  color: var(--bb-teal, #0a4a45);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(184, 240, 58, 0.65);
  text-underline-offset: 0.18em;
}

.bb-blog-prose a:hover {
  color: var(--bb-forest);
  text-decoration-color: var(--bb-lime);
}

.bb-blog-related {
  margin-top: 1.5rem;
  padding: 1.35rem 1.25rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
}

@media (min-width: 640px) {
  .bb-blog-related {
    padding: 1.5rem 1.75rem;
  }
}

.bb-blog-related-title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--bb-ink, #041a1a);
}

.bb-blog-related-list {
  list-style: none;
  margin: 0.9rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.bb-blog-related-list a {
  display: block;
  text-decoration: none;
  padding: 0.85rem 0.95rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(0, 34, 34, 0.06);
  background: var(--bb-mist, #f4f7f4);
  transition: border-color 0.2s ease, background 0.2s ease;
}

.bb-blog-related-list a:hover {
  border-color: rgba(184, 240, 58, 0.55);
  background: #fff;
}

.bb-blog-related-item-title {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--bb-ink, #041a1a);
}

/* Home: Ãºltimas do blog */
.bb-home-blog-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .bb-home-blog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.bb-blog-post-cta {
  margin-top: 1.5rem;
  padding: 1.5rem 1.35rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
}

@media (min-width: 640px) {
  .bb-blog-post-cta {
    padding: 1.75rem 2rem;
  }
}

/* â€”â€” Planos â€”â€” */
.bb-plans-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.bb-plans-hero-badges span {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(184, 240, 58, 0.35);
  background: rgba(0, 0, 0, 0.18);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.75rem;
  font-weight: 600;
}

.bb-plans-billing {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.08);
  box-shadow: 0 8px 24px rgba(0, 34, 34, 0.06);
}

.bb-plans-billing-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--bb-muted, #5c6b6a);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.bb-plans-billing-btn.is-active {
  background: var(--bb-forest);
  color: var(--bb-lime);
}

.bb-plans-billing-save {
  display: inline-flex;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: rgba(184, 240, 58, 0.25);
  color: var(--bb-forest);
  font-size: 0.7rem;
  font-weight: 700;
}

.bb-plans-billing-btn.is-active .bb-plans-billing-save {
  background: rgba(184, 240, 58, 0.22);
  color: var(--bb-lime);
}

.bb-plans-billing-note {
  margin: 0.85rem 0 0;
  font-size: 0.875rem;
  color: var(--bb-muted, #5c6b6a);
}

#planos-cards {
  overflow: visible;
}

.bb-plans-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 4.25rem;
  grid-template-columns: 1fr;
  align-items: stretch;
  overflow: visible;
}

@media (min-width: 768px) {
  .bb-plans-grid {
    margin-top: 6.5rem;
  }
}

@media (min-width: 900px) {
  .bb-plans-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
  }
}

.bb-plans-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.5rem 1.35rem 1.35rem;
  border-radius: 1.35rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.08);
  box-shadow: 0 12px 32px rgba(0, 34, 34, 0.05);
}

@media (min-width: 640px) {
  .bb-plans-card {
    padding: 1.75rem 1.6rem 1.5rem;
  }
}

.bb-plans-card.is-recommended {
  overflow: visible;
  z-index: 4;
  border-color: rgba(10, 74, 69, 0.35);
  box-shadow:
    0 0 0 1px rgba(0, 34, 34, 0.06),
    0 18px 40px rgba(0, 34, 34, 0.1);
  background:
    linear-gradient(180deg, rgba(10, 74, 69, 0.07) 0%, #fff 40%);
}

.bb-plans-card.is-recommended .bb-plans-card-head {
  padding-right: 5.75rem;
}

@media (min-width: 1024px) {
  .bb-plans-card.is-recommended .bb-plans-card-head {
    padding-right: 6.75rem;
  }
}

@media (max-width: 639px) {
  .bb-plans-card.is-recommended .bb-plans-card-head {
    padding-right: 4.35rem;
  }
}

.bb-plans-card-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem 0.7rem;
}

.bb-plans-card-badge {
  margin: 0;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: var(--bb-forest);
  color: var(--bb-lime);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bb-plans-card-name {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.65rem;
  font-weight: 800;
  color: var(--bb-ink, #041a1a);
  letter-spacing: -0.02em;
}

.bb-plans-card-tagline {
  margin: 0.55rem 0 0;
  font-size: 0.925rem;
  line-height: 1.5;
  color: var(--bb-muted, #5c6b6a);
  min-height: 2.8em;
}

.bb-plans-card-price {
  margin-top: 1.25rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(0, 34, 34, 0.06);
}

.bb-plans-price-main {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--bb-forest);
  letter-spacing: -0.03em;
}

.bb-plans-price-sub {
  margin: 0.35rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.8125rem;
  color: var(--bb-muted, #5c6b6a);
}

.bb-plans-price-save {
  color: var(--bb-teal, #0a4a45);
  font-weight: 700;
}

.bb-plans-price-save.is-hidden {
  display: none;
}

.bb-plans-card-list {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
  flex: 1 1 auto;
  align-content: start;
}

.bb-plans-card-list li {
  position: relative;
  padding-left: 1.45rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #2a3a39;
}

.bb-plans-card-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 999px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a4a45' stroke-width='3'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")
      center / 0.7rem no-repeat,
    rgba(184, 240, 58, 0.35);
}

.bb-plans-card-includes {
  font-weight: 700;
  color: var(--bb-teal, #0a4a45) !important;
  padding-left: 0 !important;
}

.bb-plans-card-includes::before {
  display: none !important;
}

.bb-plans-card-actions {
  display: grid;
  gap: 0.55rem;
  margin-top: auto;
  padding-top: 1.35rem;
}

.bb-plans-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.85rem;
  padding: 0.7rem 1.15rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 34, 34, 0.16);
  background: #fff;
  color: var(--bb-forest);
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.bb-plans-btn-outline:hover {
  border-color: var(--bb-forest);
  background: rgba(0, 34, 34, 0.03);
}

.bb-plans-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bb-teal, #0a4a45);
  text-decoration: none;
}

.bb-plans-btn-ghost:hover {
  color: var(--bb-forest);
}

.bb-plans-card-footnote {
  margin: 0.85rem 0 0;
  font-size: 0.75rem;
  color: var(--bb-muted, #5c6b6a);
  text-align: center;
}

.bb-plans-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 1.75rem;
  justify-content: center;
}

.bb-plans-trust span {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bb-teal, #0a4a45);
}

.bb-plans-trust span::before {
  content: "\2713\00a0";
  color: var(--bb-forest);
}

.bb-plans-profiles {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .bb-plans-profiles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.bb-plans-profile {
  display: flex;
  flex-direction: column;
  padding: 1.35rem 1.25rem;
  border-radius: 1.25rem;
  background: var(--bb-mist, #f4f7f4);
  border: 1px solid rgba(0, 34, 34, 0.06);
  text-decoration: none;
  color: inherit;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.bb-plans-profile:hover {
  transform: translateY(-2px);
  border-color: rgba(184, 240, 58, 0.55);
  box-shadow: 0 14px 32px rgba(0, 34, 34, 0.08);
}

.bb-plans-profile-plan {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bb-teal, #0a4a45);
}

.bb-plans-profile-title {
  margin: 0.45rem 0 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--bb-ink, #041a1a);
}

.bb-plans-profile-text {
  margin: 0.5rem 0 0;
  flex: 1;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--bb-muted, #5c6b6a);
}

.bb-plans-profile-cta {
  margin-top: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--bb-forest);
}

.bb-plans-compare-wrap {
  background:
    radial-gradient(ellipse 70% 45% at 0% 0%, rgba(10, 74, 69, 0.06), transparent 52%),
    radial-gradient(ellipse 55% 40% at 100% 8%, rgba(0, 34, 34, 0.05), transparent 55%),
    linear-gradient(180deg, #f4f7f4 0%, #f8faf8 50%, #f4f7f4 100%);
}

.bb-plans-compare-intro {
  max-width: 40rem;
}

.bb-plans-compare-layout {
  display: grid;
  /* trilha definida: impede que a tabela estique o card além da tela */
  grid-template-columns: minmax(0, 1fr);
  gap: 1.15rem;
  margin-top: 1.5rem;
  align-items: start;
}

@media (min-width: 1024px) {
  .bb-plans-compare-layout {
    grid-template-columns: minmax(13.5rem, 16rem) minmax(0, 1fr);
    gap: 1.35rem;
  }
}

.bb-plans-side {
  position: relative;
}

@media (min-width: 1024px) {
  .bb-plans-side {
    position: sticky;
    top: 6.25rem;
  }
}

.bb-plans-side-label {
  display: none;
  margin: 0 0 0.65rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bb-muted, #5c6b6a);
}

@media (min-width: 1024px) {
  .bb-plans-side-label {
    display: block;
  }
}

.bb-plans-side-nav {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 0.15rem 0.1rem 0.35rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.bb-plans-side-nav::-webkit-scrollbar {
  height: 6px;
}

@media (min-width: 1024px) {
  .bb-plans-side-nav {
    flex-direction: column;
    overflow: visible;
    padding: 0;
    gap: 0.55rem;
  }
}

.bb-plans-side-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 2.65rem;
  padding: 0.65rem 1rem;
  border: 1px solid rgba(0, 34, 34, 0.1);
  border-radius: 0.85rem;
  background: #fff;
  color: var(--bb-muted, #5c6b6a);
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(0, 34, 34, 0.04);
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

@media (min-width: 1024px) {
  .bb-plans-side-btn {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
    padding: 0.85rem 1.05rem;
    border-radius: 0.95rem;
  }
}

.bb-plans-side-btn:hover {
  border-color: rgba(10, 74, 69, 0.35);
  color: var(--bb-teal, #0a4a45);
  transform: translateY(-1px);
}

.bb-plans-side-btn.is-active {
  background: var(--bb-forest);
  border-color: transparent;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(0, 34, 34, 0.18);
}

.bb-plans-side-btn.is-active span {
  position: relative;
}

@media (min-width: 1024px) {
  .bb-plans-side-btn.is-active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7rem;
    bottom: 0.7rem;
    width: 3px;
    border-radius: 0 999px 999px 0;
    background: var(--bb-lime);
  }
}

.bb-plans-compare {
  margin-top: 0;
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.07);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 22px 50px rgba(0, 34, 34, 0.07);
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
}

.bb-plans-mobile-plans {
  display: none !important;
}

.bb-plans-compare-hint {
  display: none;
}

.bb-plans-compare-scroll {
  overflow: auto;
  max-height: min(70vh, 44rem);
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: auto;
  scrollbar-color: rgba(0, 34, 34, 0.35) rgba(0, 34, 34, 0.06);
}

.bb-plans-compare-scroll::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}

.bb-plans-compare-scroll::-webkit-scrollbar-track {
  background: rgba(0, 34, 34, 0.05);
  border-radius: 999px;
}

.bb-plans-compare-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 34, 34, 0.32);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.bb-plans-compare-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 34, 34, 0.45);
  background-clip: padding-box;
}

/* Página Planos: trava overflow horizontal só no mobile */
.bb-page-planos {
  overflow-x: clip;
}

/* Mobile: mascote na linha abaixo do hero (mesmo padrão das funcionalidades) */
@media (max-width: 767px) {
  .bb-page-planos main {
    overflow-x: clip;
    max-width: 100%;
  }

  .bb-page-planos .bb-plans-section,
  .bb-page-planos .bb-plans-compare-layout,
  .bb-page-planos .bb-plans-compare-wrap,
  .bb-page-planos .max-w-shell {
    min-width: 0;
    max-width: 100%;
  }

  .bb-page-planos #planos-cards {
    position: relative;
    z-index: 6;
    overflow: visible;
  }

  .bb-page-planos #planos-cards > .max-w-shell {
    padding-top: 2.75rem;
  }

  .bb-page-planos .bb-plans-card.is-recommended > .bb-adv-mascote {
    display: none;
  }
}

.bb-plans-compare-foot {
  margin: 0;
  padding: 0.75rem 1.15rem 0.95rem;
  border-top: 1px solid rgba(0, 34, 34, 0.05);
  font-size: 0.75rem;
  color: var(--bb-muted, #5c6b6a);
  background: #fbfcfb;
}

.bb-plans-table {
  width: 100%;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.875rem;
  table-layout: fixed;
}

@media (max-width: 1023px) {
  .bb-plans-compare-scroll {
    overflow-x: auto;
    overflow-y: auto;
    max-height: min(68vh, 40rem);
    padding-bottom: 0.25rem;
  }

  .bb-plans-side-nav {
    margin: 0;
    padding: 0.2rem 0 0.55rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 34, 34, 0.3) rgba(0, 34, 34, 0.06);
  }

  .bb-plans-side-nav::-webkit-scrollbar {
    display: block;
    height: 6px;
  }

  .bb-plans-side-nav::-webkit-scrollbar-track {
    background: rgba(0, 34, 34, 0.05);
    border-radius: 999px;
  }

  .bb-plans-side-nav::-webkit-scrollbar-thumb {
    background: rgba(0, 34, 34, 0.28);
    border-radius: 999px;
  }
}


.bb-plans-table thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  padding: 0;
  background: #ffffff;
  border-bottom: 1px solid rgba(0, 34, 34, 0.08);
  text-align: center;
  vertical-align: bottom;
  box-shadow: 0 10px 20px rgba(0, 34, 34, 0.06);
}

.bb-plans-table thead th.bb-plans-table-feature,
.bb-plans-table tbody th.bb-plans-table-feature,
.bb-plans-table tfoot td.bb-plans-table-feature {
  text-align: left;
  width: 28%;
  min-width: 0;
  max-width: none;
  background: #ffffff;
}

@media (min-width: 1024px) {
  .bb-plans-table thead th.bb-plans-table-feature,
  .bb-plans-table tbody th.bb-plans-table-feature,
  .bb-plans-table tfoot td.bb-plans-table-feature {
    position: sticky;
    left: 0;
    z-index: 5;
    box-shadow: 6px 0 14px rgba(0, 34, 34, 0.04);
  }

  .bb-plans-table thead th.bb-plans-table-feature {
    z-index: 6;
  }
}

.bb-plans-table thead th.bb-plans-table-feature {
  padding: 1.15rem 1.25rem;
  vertical-align: end;
  background: #ffffff;
}

.bb-plans-table-feature-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bb-muted, #5c6b6a);
}

.bb-plans-table-planhead {
  width: 24%;
  min-width: 0;
  background: #ffffff;
}

.bb-plans-table-planhead.is-recommended,
.bb-plans-table thead th.is-recommended {
  background: #e8f1f0;
  background-image: none;
}

.bb-plans-table-plancard {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  min-height: 8.5rem;
  padding: 1rem 0.85rem 1.05rem;
  background: inherit;
  isolation: isolate;
}

.bb-plans-table-planhead.is-recommended .bb-plans-table-plancard {
  min-height: 9.25rem;
  padding-top: 0.85rem;
}

.bb-plans-table-ribbon {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: var(--bb-forest);
  color: var(--bb-lime);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bb-plans-table-plan {
  display: block;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--bb-ink, #041a1a);
}

.bb-plans-table-price {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--bb-teal, #0a4a45);
  line-height: 1.35;
}

.bb-plans-table-price small {
  display: block;
  margin-top: 0.1rem;
  font-weight: 500;
  font-size: 0.7rem;
  color: var(--bb-muted, #5c6b6a);
}

.bb-plans-table-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.45rem;
  min-height: 2.15rem;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 34, 34, 0.14);
  background: #fff;
  color: var(--bb-forest);
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bb-plans-table-cta:hover {
  border-color: var(--bb-forest);
  background: rgba(0, 34, 34, 0.03);
}

.bb-plans-table-cta.is-primary {
  border-color: transparent;
  background: var(--bb-forest);
  color: var(--bb-lime);
  box-shadow: 0 8px 18px rgba(0, 34, 34, 0.18);
}

.bb-plans-table-cta.is-primary:hover {
  background: var(--bb-teal, #0a4a45);
  filter: none;
}

.bb-plans-table-group th {
  padding: 0;
  background: transparent;
  text-align: left;
}

.bb-plans-table-group-inner {
  display: block;
  width: calc(100% - 1.3rem);
  margin: 0.55rem 0.65rem 0.15rem;
  padding: 0.7rem 0.95rem;
  border: none;
  border-radius: 0.75rem;
  background: linear-gradient(90deg, rgba(0, 34, 34, 0.08), rgba(10, 74, 69, 0.04));
  border-left: 3px solid var(--bb-teal, #0a4a45);
  color: var(--bb-forest);
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
  cursor: default;
}

.bb-plans-table-row:hover td,
.bb-plans-table-row:hover th {
  background: rgba(244, 247, 244, 0.7);
}

.bb-plans-table tbody th.bb-plans-table-feature,
.bb-plans-table tbody td {
  padding: 0.78rem 1rem;
  border-bottom: 1px solid rgba(0, 34, 34, 0.045);
  vertical-align: middle;
}

.bb-plans-table tbody th.bb-plans-table-feature {
  font-weight: 500;
  color: #243534;
  background: #fff;
}

.bb-plans-row-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  line-height: 1.4;
}

.bb-plans-table tbody td {
  text-align: center;
  background: #fff;
}

.bb-plans-table tbody td.is-recommended,
.bb-plans-table tfoot td.is-recommended {
  background: #eef5f4;
  box-shadow: inset 1px 0 0 rgba(10, 74, 69, 0.18), inset -1px 0 0 rgba(10, 74, 69, 0.18);
}

.bb-plans-table tbody tr:hover td.is-recommended {
  background: #e5f0ee;
}

.bb-plans-table tbody tr:hover th.bb-plans-table-feature {
  background: #f7faf7;
}

.bb-plans-hint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 1px solid rgba(10, 74, 69, 0.25);
  background: #fff;
  color: var(--bb-teal, #0a4a45);
  font-size: 0.625rem;
  font-weight: 800;
  font-style: italic;
  font-family: Georgia, serif;
  cursor: help;
}

.bb-plans-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 999px;
  background: var(--bb-forest);
  color: var(--bb-lime);
  box-shadow: none;
}

.bb-plans-miss {
  display: inline-block;
  width: 0.85rem;
  height: 2px;
  border-radius: 999px;
  background: rgba(0, 34, 34, 0.14);
  vertical-align: middle;
}

.bb-plans-cell-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 9.75rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(0, 34, 34, 0.05);
  border: 1px solid rgba(0, 34, 34, 0.08);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--bb-forest);
}

.bb-plans-table tfoot td {
  padding: 1rem 0.85rem 1.2rem;
  text-align: center;
  border-top: 1px solid rgba(0, 34, 34, 0.06);
  background: #fbfcfb;
}

/* Tablet: rolagem horizontal contida + barra visível */
@media (min-width: 768px) and (max-width: 1023px) {
  .bb-plans-compare-hint {
    display: block;
    margin: 0;
    padding: 0.55rem 0.85rem 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--bb-teal, #0a4a45);
    background: #f3f7f5;
    border-bottom: 1px solid rgba(0, 34, 34, 0.06);
    text-align: center;
  }

  .bb-plans-table {
    min-width: 44rem;
    width: max-content;
    table-layout: auto;
  }

  .bb-plans-table thead th.bb-plans-table-feature,
  .bb-plans-table tbody th.bb-plans-table-feature,
  .bb-plans-table tfoot td.bb-plans-table-feature {
    position: sticky;
    left: 0;
    z-index: 5;
    min-width: 10.5rem;
    max-width: 11.5rem;
    width: 10.5rem;
    box-shadow: 6px 0 14px rgba(0, 34, 34, 0.06);
  }

  .bb-plans-table thead th.bb-plans-table-feature {
    z-index: 6;
  }

  .bb-plans-table-planhead {
    width: 10.25rem;
    min-width: 10.25rem;
  }

  .bb-plans-table-plancard {
    min-height: 7.5rem;
    padding: 0.85rem 0.65rem 0.95rem;
  }
}

/* Rótulo curto do CTA: só no mobile */
.bb-plans-cta-short {
  display: none;
}

/* Mobile: comparativo em blocos — cabeçalho fixo de planos + seções expansíveis */
@media (max-width: 767px) {
  .bb-plans-compare-layout {
    gap: 0.75rem;
  }

  /* As próprias seções fazem a navegação */
  .bb-plans-side {
    display: none;
  }

  .bb-plans-compare,
  .bb-plans-compare-scroll {
    width: 100%;
    max-width: 100%;
  }

  .bb-plans-compare-scroll {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: min(72vh, 40rem);
  }

  .bb-plans-table,
  .bb-plans-table thead,
  .bb-plans-table tbody {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .bb-plans-table thead {
    position: sticky;
    top: 0;
    z-index: 6;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 34, 34, 0.07);
  }

  .bb-plans-table thead tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }

  .bb-plans-table thead th {
    position: static;
    display: block;
    width: auto;
    min-width: 0;
    max-width: none;
    box-shadow: none;
  }

  .bb-plans-table thead th.bb-plans-table-feature,
  .bb-plans-table tfoot,
  .bb-plans-compare-foot,
  .bb-plans-compare-hint,
  .bb-plans-table-ribbon,
  .bb-plans-cta-full {
    display: none;
  }

  .bb-plans-cta-short {
    display: inline;
  }

  .bb-plans-table-plancard,
  .bb-plans-table-planhead.is-recommended .bb-plans-table-plancard {
    min-height: 0;
    gap: 0.25rem;
    padding: 0.8rem 0.4rem 0.85rem;
  }

  .bb-plans-table-plan {
    font-size: 1rem;
  }

  .bb-plans-table-price {
    font-size: 0.68rem;
  }

  .bb-plans-table-price small {
    font-size: 0.58rem;
  }

  .bb-plans-table-cta {
    width: 100%;
    margin-top: 0.35rem;
    min-height: 2rem;
    padding: 0.35rem 0.4rem;
    font-size: 0.72rem;
  }

  /* Grupos viram acordeão */
  .bb-plans-table-group,
  .bb-plans-table-group th {
    display: block;
    padding: 0;
  }

  .bb-plans-table-group-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    width: calc(100% - 0.8rem);
    margin: 0.5rem 0.4rem;
    padding: 0.75rem 0.85rem;
    border: none;
    border-left: 3px solid var(--bb-teal, #0a4a45);
    font-size: 0.68rem;
    cursor: pointer;
  }

  .bb-plans-table-group-inner::after {
    content: "";
    flex-shrink: 0;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 34, 34, 0.12);
    background: #fff
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a4a45' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
      center / 0.75rem no-repeat;
    transition: transform 0.25s ease;
  }

  .bb-plans-table-group-inner[aria-expanded="true"]::after {
    transform: rotate(180deg);
  }

  /* Linha: rótulo em cima, valores em 3 colunas */
  .bb-plans-table-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid rgba(0, 34, 34, 0.05);
  }

  .bb-plans-table-row.is-collapsed {
    display: none;
  }

  .bb-plans-table tbody th.bb-plans-table-feature {
    position: static;
    display: block;
    grid-column: 1 / -1;
    width: auto;
    max-width: none;
    padding: 0.7rem 0.75rem 0.45rem;
    box-shadow: none;
    text-align: center;
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.35;
  }

  .bb-plans-table tbody td {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem 0.35rem 0.8rem;
    border-bottom: none;
  }

  .bb-plans-cell-text {
    display: inline-block;
    max-width: 100%;
    padding: 0.24rem 0.45rem;
    font-size: 0.66rem;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
  }

  .bb-plans-check {
    width: 1.3rem;
    height: 1.3rem;
  }
}

.bb-plans-assurances {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .bb-plans-assurances {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .bb-plans-assurances {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.bb-plans-assurances > div {
  padding: 1.25rem 1.15rem;
  border-radius: 1.15rem;
  background: #fff;
  border: 1px solid rgba(0, 34, 34, 0.06);
}

.bb-plans-assurances h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--bb-ink, #041a1a);
}

.bb-plans-assurances p {
  margin: 0.4rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--bb-muted, #5c6b6a);
}

.bb-plans-faq {
  display: grid;
  gap: 0.65rem;
  max-width: none;
  margin-inline: auto;
}

.bb-plans-faq-item {
  border-radius: 1rem;
  background: var(--bb-mist, #f4f7f4);
  border: 1px solid rgba(0, 34, 34, 0.06);
  padding: 0 1.15rem;
}

.bb-plans-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--bb-ink, #041a1a);
}

.bb-plans-faq-item summary::-webkit-details-marker {
  display: none;
}

.bb-plans-faq-item summary::after {
  content: "+";
  float: right;
  color: var(--bb-teal, #0a4a45);
  font-weight: 700;
}

.bb-plans-faq-item[open] summary::after {
  content: "\2212";
}

.bb-plans-faq-item p {
  margin: 0 0 1rem;
  padding-bottom: 0.25rem;
  font-size: 0.925rem;
  line-height: 1.6;
  color: var(--bb-muted, #5c6b6a);
}

.bb-plans-cta-ghost {
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.85rem;
  padding: 0.7rem 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.bb-plans-cta-ghost svg {
  flex-shrink: 0;
}

.bb-plans-cta-ghost:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.55);
}

.bb-plans-cta-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
}

/* Mobile: botões empilhados — nada estica o bloco além da faixa */
@media (max-width: 767px) {
  .bb-plans-cta-actions {
    flex-direction: column;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0.65rem;
  }

  .bb-plans-cta-actions > a {
    width: 100%;
    min-width: 0;
  }

  .bb-plans-cta-ghost {
    white-space: normal;
    flex-shrink: 1;
  }
}
