.bf-btn-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
}

/* botão base */
.hs_cos_wrapper_type_module .bf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;

  /* fallback da fonte */
  font-family: var(--bf-font, inherit);
  font-weight: var(--bf-fw, 600);
  font-size: var(--bf-fs, 16px);
  line-height:1.1;

  color: var(--bf-text, #fff);
  background: var(--bf-bg, #f36416);
  border-radius: var(--bf-br, 16px);
  border: var(--bf-bw, 1px) solid var(--bf-bc, #576be2);
  text-decoration:none;

  /* largura controlada */
  box-sizing:border-box;
  width: var(--bf-w, auto);
  max-width:100%;
  min-width:0;
  flex:0 1 auto;

  white-space:nowrap;
  overflow-wrap:normal;
  word-break:keep-all;

  transition:transform .15s ease, box-shadow .2s ease,
             background-color .2s ease, color .2s ease;
  will-change:transform;

  box-shadow:
  {% set sh = module.Estilo.shadow_preset|default('none') %}
  {% if sh == 'small' %}0 2px 6px rgba(0,0,0,.12)
  {% elif sh == 'medium' %}0 6px 18px rgba(0,0,0,.16)
  {% elif sh == 'large' %}0 12px 32px rgba(0,0,0,.2)
  {% else %}none{% endif %};
}

/* hover/active */
.hs_cos_wrapper_type_module .bf-btn:hover,
.hs_cos_wrapper_type_module .bf-btn:focus{
  background:var(--bf-bg-hover,var(--bf-bg));
  color:var(--bf-text-hover,#fff);
  transform:translateY(-1px);
}
.hs_cos_wrapper_type_module .bf-btn:active{transform:translateY(0);}

/* tablet: pode quebrar, nunca ultrapassa a coluna */
@media (min-width:768px) and (max-width:1199px){
  .hs_cos_wrapper_type_module .bf-btn{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    width:min(var(--bf-w,100%),100%);
    max-width:100%;
    min-width:0;
    text-align:center;
    line-height:1.2;
    padding:10px 14px;
  }
}

/* mobile: full width e quebra liberada */
@media (max-width:767px){
  .hs_cos_wrapper_type_module .bf-btn{
    width:var(--bf-w-m,100%);
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    min-width:0;
  }
}
