/* Site B - redesign: visual editorial, menos efeitos, mais contraste.
   Camada carregada por ultimo em todas as paginas (tools/redesign-b.js). */
:root {
  --bc-navy: #13235B;
  --bc-ink: #13235B;
  --bc-blue: #0860E8;
  --bc-blue-dark: #0649B3;
  --bc-pink: #FCA2D3;
  --bc-pink-soft: #FDE7F2;
  --bc-cream: #FAF7F2;
  --bc-text: #4A4F63;
  --bc-line: #E7E2D9;
  --bc-display: "Bricolage Grotesque", "Rubik", system-ui, sans-serif;
}

/* ---------- Tipografia ---------- */
.elementor .elementor-heading-title,
.bc-blog h1, .bc-blog h2, .bc-card__title, .bc-home-blog h2,
.bcb-head h2, .bcb-servico h3 {
  font-family: var(--bc-display) !important;
  letter-spacing: -.02em !important;
}
.elementor-widget-text-editor, .bc-post__body { color: var(--bc-text); }

/* Titulos de secao sem o traco em degrade */
.elementor-element-47c0b1f8 .elementor-heading-title::after,
#depoimentos .elementor-heading-title::after,
#quemsomos .elementor-heading-title::after,
.bc-home-blog__head h2::after { display: none !important; }
.elementor-element-47c0b1f8 .elementor-heading-title span,
#quemsomos .elementor-heading-title span,
#depoimentos .elementor-heading-title span,
.bc-home-blog__head h2 span { color: inherit !important; }
#quemsomos .elementor-heading-title,
#depoimentos .elementor-heading-title { color: var(--bc-navy) !important; }

/* ---------- Botoes: retangulares, sem sombra nem salto ---------- */
.elementor-button, .wpcf7-submit, .bc-cta, .bc-btn, .bcb-btn {
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
}
.elementor-button:hover, .bc-cta:hover, .bcb-btn:hover { background: var(--bc-blue-dark) !important; }
.bcb-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px;
  background: var(--bc-blue);
  color: #fff !important;
  font: 500 16px/1 "Rubik", sans-serif;
  text-decoration: none !important;
  transition: background .2s;
}
.bcb-btn i { font-size: 18px; }
.bcb-btn--ghost { background: transparent; color: var(--bc-navy) !important; box-shadow: inset 0 0 0 1.5px var(--bc-navy) !important; }
.bcb-btn--ghost:hover { background: var(--bc-navy) !important; color: #fff !important; }

/* ---------- Menu ---------- */
.bc-nav__bar { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.bc-cta { background: var(--bc-blue) !important; }
.bc-nav__link::after { border-radius: 0 !important; }
.bc-sub { border: 1px solid var(--bc-line); border-radius: 12px; box-shadow: 0 18px 40px -24px rgba(19, 35, 91, .35); }
.bc-sub__thumb { border-radius: 8px; box-shadow: none; }
.bc-sub__link:hover, .bc-sub__link:focus-visible { background: var(--bc-cream); }
.bc-sub__link.is-active { background: var(--bc-pink-soft); }
.bc-panel { background: var(--bc-navy) !important; }
.bc-panel__label { color: var(--bc-pink); }
.bc-panel__services a { border-radius: 8px; background: rgba(255, 255, 255, .07); }
@media (max-width: 1024px) {
  .bc-burger { background: #fff !important; box-shadow: inset 0 0 0 1.5px var(--bc-line); -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .bc-nav--over-hero:not(.is-scrolled) .bc-burger { background: rgba(255, 255, 255, .92) !important; box-shadow: none; }
  .bc-nav--over-hero:not(.is-scrolled) .bc-burger span { background: var(--bc-navy); }
  .bc-nav.is-menu-open .bc-burger { background: transparent !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .4); }
  .bc-logo__badge { box-shadow: none !important; }
}

/* ---------- Banner da home: texto alinhado a esquerda ---------- */
@media (min-width: 1025px) {
  .elementor-element-7a5a3b7b > .elementor-container { max-width: 1180px !important; }
  .elementor-element-7a5a3b7b .elementor-widget-wrap { justify-content: flex-start !important; }
  .elementor-element-7a5a3b7b .elementor-widget { max-width: 760px; }
  .elementor-element-7a5a3b7b .elementor-heading-title,
  .elementor-element-7a5a3b7b .elementor-widget-text-editor { text-align: left !important; }
  .elementor-element-7a5a3b7b .elementor-widget-button .elementor-button-wrapper { text-align: left !important; }
}
.elementor-element-7a5a3b7b .elementor-background-overlay { background: linear-gradient(90deg, rgba(10, 18, 48, .78) 0%, rgba(10, 18, 48, .45) 60%, rgba(10, 18, 48, .25) 100%) !important; opacity: 1 !important; }

/* ---------- Secoes novas da home ---------- */
.bcb-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; font-family: "Rubik", system-ui, sans-serif; }
.bcb-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; }
.bcb-head h2 { margin: 0; font-size: clamp(30px, 3.6vw, 48px); font-weight: 700; line-height: 1.08; color: var(--bc-navy); }
.bcb-head p { max-width: 380px; margin: 0; font-size: 17px; line-height: 1.6; color: var(--bc-text); }

/* Servicos em cartoes: foto em cima, texto em baixo */
/* So na home: 47c0b1f8 tambem e a secao principal de texto das paginas de servico */
.home .elementor-element-47c0b1f8, .home .elementor-element-63376697, .home .elementor-element-22176ea3, .home .elementor-element-fb2652b { display: none !important; }
.bcb-servicos { padding: 96px 0; background: #fff; }
.bcb-servicos__lista { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.bcb-servico {
  display: flex;
  flex-direction: column;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--bc-line);
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s;
}
.bcb-servico:hover { border-color: #CFC8BB; }
.bcb-servico > div { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.bcb-servico__img { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: var(--bc-cream); }
.bcb-servico__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.bcb-servico:hover .bcb-servico__img img { transform: scale(1.04); }
.bcb-servico__acoes { margin-top: auto; }
.bcb-servico h3 { margin: 0 0 8px; font-size: 22px; font-weight: 600; line-height: 1.2; }
.bcb-servico h3 a { color: var(--bc-navy) !important; text-decoration: none !important; }
.bcb-servico h3 a:hover { color: var(--bc-blue) !important; }
.bcb-servico p { margin: 0 0 14px; font-size: 15.5px; line-height: 1.6; color: var(--bc-text); }
.bcb-servico__acoes { display: flex; }
.bcb-servico__acoes .bcb-btn { padding: 11px 22px; font-size: 15px; }

/* Fundos alternados */
.bc-home-blog { background: #fff !important; }

/* ---------- Cartoes (blog e carrossel): borda fina, sem sombra nem salto ---------- */
.bc-card {
  border: 1px solid var(--bc-line);
  border-radius: 10px !important;
  box-shadow: none !important;
  transform: none !important;
}
.bc-card:hover .bc-card__title { color: var(--bc-blue); text-decoration: underline !important; text-decoration-thickness: 1.5px !important; text-underline-offset: 3px; }
.bc-card__img img { transition: transform .5s ease; }
.bc-tag { padding: 0 !important; border-radius: 0 !important; background: none !important; font-size: 12.5px !important; letter-spacing: .06em; text-transform: uppercase; color: #B23D7E !important; }
.bc-card__title { font-weight: 600 !important; }
.bc-eyebrow { padding: 0 !important; border-radius: 0 !important; background: none !important; letter-spacing: .12em; }
.bc-home-blog__head .bc-eyebrow { color: #B23D7E !important; }
.bc-arrow { border-radius: 6px !important; }
.bc-dot { border-radius: 2px !important; }

/* ---------- Blog ---------- */
.bc-blog__hero {
  padding: 64px 0 40px !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--bc-line);
  background: none !important;
  color: var(--bc-navy) !important;
}
.bc-blog__hero::after { display: none !important; }
.bc-blog__hero h1 { color: var(--bc-navy) !important; font-size: clamp(36px, 5vw, 64px) !important; max-width: 760px !important; }
.bc-blog__hero p { color: var(--bc-text) !important; font-size: 18px !important; }
.bc-blog__hero .bc-eyebrow { color: #B23D7E !important; }
.bc-filter { border-radius: 6px !important; }
.bc-post__head { border-radius: 0 !important; background: none !important; padding: 24px 0 40px !important; border-bottom: 1px solid var(--bc-line); }
.bc-post__img { border-radius: 8px !important; box-shadow: none !important; }
.bc-post__body li::before { content: "✦" !important; width: auto !important; height: auto !important; top: 0 !important; left: 0 !important; border-radius: 0 !important; background: none !important; transform: none !important; color: var(--bc-pink); font-size: 14px; }
.bc-tip { border-radius: 0 !important; background: var(--bc-cream) !important; }
.bc-post-cta { border-radius: 10px !important; background: var(--bc-navy) !important; }
.bc-btn--light i { color: #25D366 !important; }
.bc-autor { font-weight: 500; color: var(--bc-navy); }

/* ---------- Paginas de servico ---------- */
.elementor-249 .elementor-element-0d05f59 p { column-count: 2; column-gap: 40px; line-height: 2 !important; }
.elementor-249 .elementor-element-1696d597 { background: var(--bc-cream) !important; }

/* ---------- Faixa de orcamento ---------- */
.elementor-element-32e4f1d { background-color: var(--bc-navy) !important; background-image: none !important; }
.elementor-element-32e4f1d > .elementor-background-overlay { display: none !important; }
.elementor-element-32e4f1d .elementor-heading-title { color: #fff !important; }

/* ---------- Rodape compacto (o do Elementor fica escondido) ---------- */
footer.elementor-location-footer { display: none !important; }
.bcb-rodape { background: var(--bc-navy); color: rgba(255, 255, 255, .8); font-family: "Rubik", system-ui, sans-serif; }
.bcb-rodape__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px 40px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 24px 18px;
}
.bcb-rodape__marca { display: flex; align-items: center; gap: 12px; }
.bcb-rodape__logo img { display: block; width: 40px; height: 40px; }
.bcb-rodape__marca p { margin: 0; font-size: 14px; line-height: 1.4; color: rgba(255, 255, 255, .8); }
.bcb-rodape__info { display: flex; flex-wrap: wrap; gap: 6px 32px; margin: 0; }
.bcb-rodape__info > div { display: flex; align-items: baseline; gap: 8px; }
.bcb-rodape__info dt { margin: 0; font-size: 11.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--bc-pink); }
.bcb-rodape__info dd { margin: 0; font-size: 15px; color: #fff; }
.bcb-rodape__info a { color: #fff !important; text-decoration: none !important; }
.bcb-rodape__info a:hover { text-decoration: underline !important; }
.bcb-rodape__base {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 24px 14px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: 13px;
  color: rgba(255, 255, 255, .6);
}
.bcb-rodape__base a { color: rgba(255, 255, 255, .75) !important; text-decoration: none !important; }
.bcb-rodape__base a:hover { color: #fff !important; }
@media (max-width: 600px) {
  .bcb-rodape__inner { gap: 14px; padding: 20px 18px 14px; }
  .bcb-rodape__info { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
  .bcb-rodape__info > div { flex-direction: column; gap: 2px; }
  .bcb-rodape__info > div:last-child { grid-column: 1 / -1; }
  .bcb-rodape__base { padding: 10px 18px 84px; } /* espaco para o botao flutuante do WhatsApp */
}

/* ---------- Formulario de orcamento (todas as paginas) ---------- */
.elementor-element-32e4f1d { display: none !important; } /* a faixa antiga de orcamento da lugar ao formulario */
.bcb-form { padding: 72px 0; background: var(--bc-cream); border-top: 1px solid var(--bc-line); }
.bcb-form__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; align-items: start; }
.bcb-form__texto h2 { margin: 0 0 14px; font: 700 clamp(28px, 3.2vw, 42px)/1.1 var(--bc-display); letter-spacing: -.02em; color: var(--bc-navy); }
.bcb-form__texto p { margin: 0 0 14px; font-size: 16.5px; line-height: 1.65; color: var(--bc-text); }
.bcb-form__alt a { color: var(--bc-navy) !important; font-weight: 500; text-decoration: none !important; border-bottom: 1.5px solid var(--bc-pink); }
.bcb-form__campos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  padding: 26px;
  border: 1px solid var(--bc-line);
  border-radius: 10px;
  background: #fff;
}
.bcb-form__campos label { display: flex; flex-direction: column; gap: 6px; margin: 0; font: 500 13.5px "Rubik", sans-serif; color: var(--bc-navy); }
.bcb-form__campos input, .bcb-form__campos select, .bcb-form__campos textarea {
  width: 100%;
  margin: 0;
  padding: 11px 13px !important;
  border: 1.5px solid #DDD7CC !important;
  border-radius: 6px !important;
  background: #fff !important;
  box-shadow: none !important;
  font: 400 16px "Rubik", sans-serif !important; /* 16px evita o zoom automatico no iPhone */
  color: var(--bc-navy) !important;
}
.bcb-form__campos input:focus, .bcb-form__campos select:focus, .bcb-form__campos textarea:focus { border-color: var(--bc-blue) !important; outline: none; }
.bcb-form__campos textarea { resize: vertical; min-height: 84px; }
.bcb-form__msg, .bcb-form__erro, .bcb-form__campos .bcb-btn { grid-column: 1 / -1; }
.bcb-form__campos .bcb-btn { justify-content: center; border: 0; cursor: pointer; }
.bcb-form__erro { margin: 0; font-size: 14px; color: #B42318; }
@media (max-width: 900px) {
  .bcb-form { padding: 52px 0; }
  .bcb-form__grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 560px) {
  .bcb-form__campos { grid-template-columns: 1fr; padding: 18px 14px; }
}

/* ---------- Capa das paginas de servico ---------- */
body:has(.bcb-capa) .bc-nav-spacer,
body:has(.bcb-capa) .ast-breadcrumbs-wrapper,
body:has(.bcb-capa) .elementor-element-1042f453 { display: none !important; }
.bcb-capa { background: var(--bc-cream); border-bottom: 1px solid var(--bc-line); font-family: "Rubik", system-ui, sans-serif; }
.bcb-capa__inner {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 56px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
  padding: 104px 24px 64px; /* o menu fica por cima da capa */
}
.bcb-capa__crumbs { margin-bottom: 22px; font-size: 13.5px; color: var(--bc-text); }
.bcb-capa__crumbs a { color: var(--bc-text) !important; text-decoration: none !important; border-bottom: 1px solid var(--bc-line); }
.bcb-capa__crumbs a:hover { color: var(--bc-blue) !important; }
.bcb-capa__crumbs span { margin: 0 8px; color: #B9B3A8; }
.bcb-capa h1 {
  margin: 0 0 18px;
  font: 700 clamp(36px, 4.6vw, 60px)/1.04 var(--bc-display);
  letter-spacing: -.025em;
  color: var(--bc-navy);
}
.bcb-capa__texto > p { max-width: 520px; margin: 0 0 30px; font-size: 18.5px; line-height: 1.6; color: var(--bc-text); }
.bcb-capa__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.bcb-capa__acoes .bcb-tel { font: 500 16px "Rubik", sans-serif; color: var(--bc-navy) !important; text-decoration: none !important; border-bottom: 1.5px solid var(--bc-pink); }
.bcb-capa__img { position: relative; margin: 0; }
.bcb-capa__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.bcb-capa__img::after { /* moldura deslocada em rosa, eco do selo do logotipo */
  content: "";
  position: absolute;
  inset: 14px -14px -14px 14px;
  z-index: -1;
  border-radius: 10px;
  background: var(--bc-pink-soft);
}
.bcb-capa__img { isolation: isolate; }
@media (max-width: 900px) {
  .bcb-capa__inner { grid-template-columns: 1fr; gap: 28px; padding: 92px 18px 48px; }
  .bcb-capa__img { order: -1; margin-right: 14px; }
  .bcb-capa__texto > p { font-size: 17px; margin-bottom: 24px; }
}

/* ---------- Quem somos e depoimentos (secoes proprias; as do Elementor ficam escondidas) ---------- */
.home .elementor-element-1696d597, .home .elementor-element-6687b686 { display: none !important; }
.home section#quemsomos.bcb-quem { padding: 104px 0 !important; background: #fff !important; }
/* Quem somos em carrossel */
.bcb-quem__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.bcb-quem__head h2 { margin: 0; font: 700 clamp(30px, 3.6vw, 48px)/1.08 var(--bc-display); letter-spacing: -.02em; color: var(--bc-navy); }
/* Setas nos lados do carrossel */
.bcb-car { position: relative; }
.bcb-car__slide { scroll-snap-align: start; }
.bcb-car__setas {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  pointer-events: none; /* so os botoes recebem cliques; o resto deixa deslizar */
}
.bcb-car__seta {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: var(--bc-navy);
  cursor: pointer;
  pointer-events: auto;
  transition: background .2s, color .2s;
}
.bcb-car__seta svg { width: 20px; height: 20px; }
.bcb-car__seta:hover { background: var(--bc-navy); color: #fff; }
.bcb-car__seta:focus-visible { outline: 2px solid var(--bc-blue); outline-offset: 2px; }

/* Pontos e botao de pausa */
.bcb-car__controlos { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 18px; }
.bcb-car__pausa {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1.5px solid var(--bc-line);
  border-radius: 50%;
  background: #fff;
  color: var(--bc-navy);
  cursor: pointer;
}
.bcb-car__pausa svg { width: 14px; height: 14px; }
.bcb-car__pausa .bcb-ico-play, .is-pausado .bcb-car__pausa .bcb-ico-pausa { display: none; }
.is-pausado .bcb-car__pausa .bcb-ico-play { display: block; }
.bcb-car__pista {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border-radius: 10px;
}
.bcb-car__pista::-webkit-scrollbar { display: none; }
.bcb-car__pista:focus-visible { outline: 2px solid var(--bc-blue); outline-offset: 4px; }
.bcb-quem__slide {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  height: clamp(380px, 36vw, 480px); /* altura fixa: a foto vertical nao estica o slide */
  scroll-snap-align: start;
  background: var(--bc-cream);
}
.bcb-quem__img { min-height: 0; margin: 0; overflow: hidden; }
.bcb-quem__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bcb-quem__info { display: flex; flex-direction: column; justify-content: center; padding: 48px 52px; }
.bcb-quem__info h3 { margin: 0 0 16px; font: 700 clamp(26px, 2.8vw, 38px)/1.12 var(--bc-display); letter-spacing: -.02em; color: var(--bc-navy); }
.bcb-quem__info p { margin: 0; font-size: 17.5px; line-height: 1.7; color: var(--bc-text); }
.bcb-car__pontos { display: flex; justify-content: center; gap: 8px; }
.bcb-car__pontos button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 2px; background: #D3CCBF; cursor: pointer; transition: width .3s, background .3s; }
.bcb-car__pontos button.is-ativo { width: 28px; background: var(--bc-navy); }

.home section#depoimentos.bcb-depoimentos { padding: 96px 0 !important; background: var(--bc-cream) !important; }
.bcb-depoimento { display: flex; flex-direction: column; align-items: center; margin: 0; padding: 8px 104px 4px; text-align: center; }
.bcb-depoimento__estrelas { font-size: 18px; letter-spacing: 4px; color: #E8A23A; }
.bcb-depoimento blockquote { max-width: 760px; margin: 14px 0 26px; padding: 0; border: 0; font: 400 clamp(18px, 1.9vw, 24px)/1.55 "Rubik", sans-serif; color: var(--bc-navy); }
.bcb-depoimento blockquote::before { content: "“"; display: block; height: 40px; font: 700 80px/1 var(--bc-display); color: var(--bc-pink); }
.bcb-depoimento figcaption { display: flex; align-items: center; gap: 12px; font: 500 16px "Rubik", sans-serif; color: var(--bc-navy); }
.bcb-depoimento figcaption img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }

@media (max-width: 900px) {
  .home section#quemsomos.bcb-quem { padding: 64px 0 !important; }
  .bcb-quem__slide { grid-template-columns: 1fr; height: auto; }
  .bcb-quem__img { aspect-ratio: 16 / 10; } /* a moldura tem a proporcao da foto e das setas */
  .bcb-quem__img img { height: 100%; }
  .bcb-quem__info { justify-content: flex-start; padding: 26px 22px 30px; }
  .bcb-quem__info p { font-size: 16px; }
  /* No celular as setas ficam sobre a foto (16:10), para nao tapar o texto */
  .bcb-quem .bcb-car__setas { inset: 0 0 auto 0; aspect-ratio: 16 / 10; padding: 0 10px; }
  .bcb-car__seta { width: 40px; height: 40px; }
  .home section#depoimentos.bcb-depoimentos { padding: 64px 0 !important; }
  .bcb-depoimento { padding: 4px 46px 0; }
  .bcb-depoimento blockquote { font-size: 17px; }
}
@media (max-width: 560px) {
}

/* ---------- Ajustes "cara de IA" ---------- */
/* Sem etiquetas sobre os titulos do blog */
.bc-home-blog__head .bc-eyebrow, .bc-blog__hero .bc-eyebrow { display: none !important; }
/* Carrossel da home com 3 artigos: cabem todos, setas e pontos deixam de ser precisos */
.bc-home-blog .bc-arrow, .bc-home-blog .bc-dots { display: none !important; }
/* Passos dentro do formulario, discretos */
.bcb-form__passos { margin: 4px 0 18px; padding: 0; list-style: none; counter-reset: passo; }
.bcb-form__passos li { position: relative; margin: 0 0 10px; padding-left: 34px; counter-increment: passo; font-size: 16px; line-height: 1.55; color: var(--bc-text); }
.bcb-form__passos li::before {
  content: counter(passo);
  position: absolute;
  left: 0;
  top: 1px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1.5px solid var(--bc-navy);
  border-radius: 50%;
  font: 600 12px/1 "Rubik", sans-serif;
  color: var(--bc-navy);
}

/* Formulario por e-mail: campo-armadilha anti-spam escondido, campos opcionais e foto */
.bcb-form__armadilha { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.bcb-form__opc { font-weight: 400; color: #8A8478; }
.bcb-form__campos input[type=file] { padding: 9px 10px !important; font-size: 14px !important; cursor: pointer; }
.bcb-form__campos input[type=file]::file-selector-button {
  margin-right: 12px;
  padding: 8px 14px;
  border: 0;
  border-radius: 6px;
  background: var(--bc-navy);
  color: #fff;
  font: 500 13.5px "Rubik", sans-serif;
  cursor: pointer;
}
.bcb-form__campos .bcb-btn:disabled { opacity: .6; cursor: wait; }

/* Pagina Pedido recebido */
.bcb-obrigado { max-width: 620px; margin: 0 auto; padding: 120px 0 96px; font-family: "Rubik", sans-serif; }
.bcb-obrigado h1 { margin: 0 0 18px; font: 700 clamp(34px, 4.6vw, 54px)/1.08 var(--bc-display); letter-spacing: -.02em; color: var(--bc-navy); }
.bcb-obrigado p { margin: 0 0 14px; font-size: 18px; line-height: 1.65; color: var(--bc-text); }
.bcb-obrigado p a { color: var(--bc-navy) !important; font-weight: 500; text-decoration: none !important; border-bottom: 1.5px solid var(--bc-pink); }
.bcb-obrigado .bcb-btn { margin-top: 18px; }

/* Cartoes de servico entram dos lados (classes postas pelo script da secao) */
.bcb-servicos { overflow-x: hidden; overflow-x: clip; }
.bcb-anim .bcb-servico {
  opacity: 0;
  transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1), border-color .2s;
}
.bcb-anim .bcb-servico.bcb-de-esq { transform: translateX(-56px); }
.bcb-anim .bcb-servico.bcb-de-dir { transform: translateX(56px); }
.bcb-anim .bcb-servico.bcb-de-baixo { transform: translateY(40px); }
.bcb-anim .bcb-servico.bcb-visivel { opacity: 1; transform: none; }

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
  .bcb-head { flex-direction: column; align-items: flex-start; margin-bottom: 28px; }
  .bcb-servicos__lista { grid-template-columns: 1fr 1fr; gap: 18px; }
}
@media (max-width: 560px) {
  .bcb-wrap { padding: 0 18px; }
  .bcb-servicos { padding: 64px 0; }
  .bcb-servicos__lista { grid-template-columns: 1fr; gap: 16px; }
  .bcb-servico > div { padding: 18px 18px 20px; }
  .bcb-servico h3 { font-size: 20px; }
  .bcb-servico p { font-size: 15px; }
  .elementor-249 .elementor-element-0d05f59 p { column-count: 1; }
}
