/* Botão genérico com seta (fim das páginas de projeto). */
.bbtn-wrap {
  --bb-gold:#9f8368;
  --bb-soft:#dedad1;
  --bb-text:#141d1f;
  --bb-stroke:#d8d6d2;
  --bb-arrow:#eeece8;
  --bb-w:420px;
  --bb-w-hover:452px;
  --bb-h:64px;
  --bb-space:0px;
  background:transparent !important;
  font-family:"Borna","Bona","Poppins",Arial,sans-serif;
  display:flex;
  justify-content:center;
  padding:var(--bb-space) 20px;
}
html.bonsa-dark .bbtn-wrap, body.bonsa-dark .bbtn-wrap {
  --bb-soft:#1e2828;
  --bb-text:#eeece8;
  --bb-stroke:#252c2d;
}
.bbtn-wrap * {
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}
.bbtn-wrap *:focus, .bbtn-wrap *:focus-visible, .bbtn-wrap *:active {
  outline:none !important;
  box-shadow:none !important;
}
.bbtn, .bbtn:hover, .bbtn:focus, .bbtn:visited {
  color:inherit !important;
  text-decoration:none !important;
}
.bbtn-wrap [data-lang-pt], .bbtn-wrap [data-lang-en] {
  transition:opacity .35s ease;
}
.bbtn {
  --knob:52px;
  --pad:6px;
  --slide:0px;
  position:relative;
  display:block;
  width:min(var(--bb-w),100%);
  height:var(--bb-h);
  min-height:var(--bb-h);
  border-radius:50px;
  border:1px solid var(--bb-stroke);
  background:var(--bb-soft);
  overflow:hidden;
  isolation:isolate;
  cursor:pointer;
  transition:width .45s cubic-bezier(.2,.7,.2,1),background .9s ease,border-color .9s ease;
}
.bbtn-fill {
  position:absolute;
  top:var(--pad);
  left:var(--pad);
  bottom:var(--pad);
  z-index:1;
  width:calc(var(--knob) + var(--slide));
  border-radius:50px;
  background:var(--bb-gold);
  opacity:.85;
  transition:width .55s cubic-bezier(.2,.7,.2,1),background .9s ease;
}
.bbtn-knob {
  position:absolute;
  top:50%;
  left:var(--pad);
  z-index:3;
  width:var(--knob);
  height:var(--knob);
  margin-top:calc(var(--knob) / -2);
  border-radius:50%;
  background:var(--bb-gold);
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateX(var(--slide));
  transition:transform .55s cubic-bezier(.2,.7,.2,1),background .9s ease;
}
.bbtn-knob svg {
  width:20px;
  height:20px;
  color:var(--bb-arrow);
  display:block;
}
.bbtn-txt {
  position:absolute;
  top:0;
  bottom:0;
  z-index:2;
  left:calc(var(--knob) + var(--pad) + var(--slide));
  right:var(--pad);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--bb-text);
  font-weight:600;
  font-size:14px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  pointer-events:none;
  transition:left .55s cubic-bezier(.2,.7,.2,1),opacity .3s ease,color .9s ease;
}
@media (hover:hover) {
  .bbtn:not(.is-going):hover {
    width:min(var(--bb-w-hover),100%);
    --slide:26px;
  }
}
.bbtn.is-going {
  width:min(var(--bb-w-hover),100%);
}
.bbtn.is-going .bbtn-knob {
  transform:translateX(var(--bb-travel,360px));
  transition:transform .85s cubic-bezier(.33,.9,.28,1);
}
.bbtn.is-going .bbtn-fill {
  width:calc(100% - var(--pad) * 2);
  transition:width .85s cubic-bezier(.33,.9,.28,1);
}
.bbtn.is-going .bbtn-txt {
  opacity:0;
}
@keyframes bbtn-rise{
  0%{opacity:0;transform:translateY(10px);filter:blur(4px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
.bbtn-wrap {
  opacity:0;
}
.bbtn-wrap.bbtn-in {
  animation:bbtn-rise .75s cubic-bezier(.4,0,.2,1) forwards;
}
.bbtn-wrap.bbtn-out {
  opacity:0;
  transform:translateY(10px);
  filter:blur(4px);
  pointer-events:none;
  animation:none !important;
  transition:opacity .5s ease,transform .5s ease,filter .5s ease;
}
@media (max-width:768px) {
  .bbtn-wrap {
    --bb-h:62px;
  }
  .bbtn {
    width:100%;
    --knob:48px;
  }
  .bbtn:not(.is-going):hover {
    width:100%;
  }
  .bbtn-txt {
    font-size:13px;
  }
}
@media (max-width:380px) {
  .bbtn-wrap {
    padding-left:16px;
    padding-right:16px;
  }
  .bbtn-txt {
    font-size:12px;
    letter-spacing:1px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .bbtn-wrap * {
    animation:none !important;
    transition:none !important;
  }
  .bbtn-wrap {
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}
