/* AXION Home — Benefícios
   2.0.6.17
   Replica o padrão visual da faixa original feita no Elementor. */

/* O widget Shortcode precisa ocupar a mesma largura dos quatro widgets
   Elementor que existiam antes. */
.elementor-widget-shortcode:has(.axhb-benefits),
.elementor-widget-html:has(.axhb-benefits){
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
  flex-grow:1!important;
  --container-widget-width:100%;
  --container-widget-flex-grow:1;
}

.elementor-widget-shortcode:has(.axhb-benefits)
>.elementor-widget-container,
.elementor-widget-html:has(.axhb-benefits)
>.elementor-widget-container{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

.elementor-widget-shortcode:has(.axhb-benefits)
>.elementor-widget-container
>.elementor-shortcode{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

.axhb-benefits{
  --axhb-title-size:13px;
  --axhb-text-size:13px;
  display:block;
  width:100%;
  max-width:1120px;
  min-width:0;
  margin:0 auto;
  padding:0;
  box-sizing:border-box;
  font-family:"AXION Home Montserrat","Open Sans",Arial,sans-serif;
}

.axhb-benefits,
.axhb-benefits *{
  box-sizing:border-box;
}

/* Igual ao antigo Elementor: quatro áreas equivalentes na largura. */
.axhb-benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  width:100%;
  min-width:0;
  gap:0;
}

.axhb-benefit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
  min-height:64px;
  margin:0;
  padding:6px 14px;
  border:0;
  border-radius:0;
  background:transparent!important;
  color:inherit;
  text-decoration:none!important;
  box-shadow:none!important;
}

.axhb-benefit-icon{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  color:var(--axh-benefit-icon,#401201);
  transition:color .16s ease;
}

.axhb-benefit-icon svg{
  display:block;
  width:30px;
  height:30px;
  overflow:visible;
}

.axhb-benefit-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  line-height:1.2;
  text-align:left;
}

.axhb-benefit-copy strong{
  display:block;
  margin:0;
  color:var(--axh-benefit-title,#401201);
  font-family:"AXION Home Montserrat","Montserrat","Open Sans",Arial,sans-serif!important;
  font-size:var(--axhb-title-size)!important;
  font-weight:600!important;
  font-style:normal!important;
  line-height:1.18!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:normal;
  overflow-wrap:anywhere;
  transition:color .16s ease;
}

.axhb-benefit-copy small{
  display:block;
  margin:3px 0 0;
  color:var(--axh-benefit-text,#401201);
  font-family:"AXION Home Montserrat","Montserrat","Open Sans",Arial,sans-serif!important;
  font-size:var(--axhb-text-size)!important;
  font-weight:400!important;
  font-style:normal!important;
  line-height:1.18!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:normal;
  overflow-wrap:anywhere;
  transition:color .16s ease;
}

@media (hover:hover) and (pointer:fine){
  a.axhb-benefit:hover .axhb-benefit-icon,
  a.axhb-benefit:hover .axhb-benefit-copy strong,
  a.axhb-benefit:hover .axhb-benefit-copy small{
    color:var(--axh-benefit-hover,#401201);
  }
}

/* Fundo e divisórias configuráveis apenas no desktop. Tablet/mobile mantidos. */
@media(min-width:1025px){
  .axhb-benefits{
    max-width:1440px;
    padding:14px clamp(32px,4.5vw,64px);
    background:#fff;
  }

  .axhb-benefits-grid{
    border-radius:6px;
  }

  .axhb-benefits--desktop-background .axhb-benefits-grid{
    background:var(--axhb-desktop-background,#4012010D);
  }

  .axhb-benefits--desktop-dividers .axhb-benefit{
    position:relative;
  }

  .axhb-benefits--desktop-dividers .axhb-benefit + .axhb-benefit::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:32px;
    max-height:calc(100% - 24px);
    transform:translateY(-50%);
    background:var(--axhb-desktop-divider,#40120126);
    pointer-events:none;
  }
}

/* Tablet: preserva 4 itens, reduzindo só o necessário. */
@media(max-width:1024px) and (min-width:768px){
  .axhb-benefits{
    --axhb-title-size:11.5px;
    --axhb-text-size:10.5px;
    max-width:none;
    padding:12px 18px 14px;
  }

  .axhb-benefit{
    gap:12px;
    min-height:58px;
    padding-left:8px;
    padding-right:8px;
  }

  .axhb-benefit-icon{
    flex-basis:25px;
    width:25px;
    height:25px;
  }

  .axhb-benefit-icon svg{
    width:25px;
    height:25px;
  }

  .axhb-benefit-copy small{
    margin-top:3px;
  }
}

/* Mobile: mesma lógica do bloco Elementor antigo — 2 x 2. */
@media(max-width:767px){
  .elementor-widget-shortcode:has(.axhb-benefits),
  .elementor-widget-html:has(.axhb-benefits){
    height:auto!important;
    flex-grow:0!important;
    flex-shrink:0!important;
    --container-widget-flex-grow:0;
  }

  .axhb-benefits{
    --axhb-title-size:10px;
    --axhb-text-size:10px;
    width:100%;
    max-width:100%;
    padding:5px 0 7px;
  }

  /*
   * IMPORTANTE:
   * width:max-content + justify-content:center faz o column-gap
   * controlar DE VERDADE a distância entre as duas colunas.
   * Não usamos mais space-between.
   */
  .axhb-benefits-grid{
    grid-template-columns:minmax(0,max-content) minmax(0,max-content);
    width:max-content;
    max-width:100%;
    margin:0 auto;
    justify-content:center;
    align-items:center;
    column-gap:35px;
    row-gap:14px;
  }

  .axhb-benefit{
    justify-content:flex-start;
    width:auto;
    min-width:0;
    min-height:24px;
    gap:7px;
    padding:0;
  }

  .axhb-benefit-icon{
    flex:0 0 20px;
    width:20px;
    height:20px;
  }

  .axhb-benefit-icon svg{
    width:20px;
    height:20px;
  }

  .axhb-benefit-copy{
    min-width:0;
    line-height:1.05;
  }

  .axhb-benefit-copy strong{
    font-family:"AXION Home Montserrat","Montserrat","Open Sans",Arial,sans-serif!important;
    font-weight:600!important;
    line-height:1.05!important;
  }

  .axhb-benefit-copy small{
    font-family:"AXION Home Montserrat","Montserrat","Open Sans",Arial,sans-serif!important;
    margin-top:1px;
    font-weight:400!important;
    line-height:1.05!important;
  }
}



.axhb-benefit,
.axhb-benefit:visited,
.axhb-benefit:hover,
.axhb-benefit:active{
  text-decoration:none!important;
}

.axhb-benefit-icon svg,
.axhb-benefit-icon svg *{
  vector-effect:non-scaling-stroke;
}
