.elementor-3065 .elementor-element.elementor-element-05847f4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:42px 42px;--row-gap:42px;--column-gap:42px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:90px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-3065 .elementor-element.elementor-element-05847f4:not(.elementor-motion-effects-element-type-background), .elementor-3065 .elementor-element.elementor-element-05847f4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4C0461A;}.elementor-3065 .elementor-element.elementor-element-37fc83c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-3065 .elementor-element.elementor-element-2f06603 .elementor-icon-wrapper{text-align:center;}.elementor-3065 .elementor-element.elementor-element-2f06603 .elementor-icon{font-size:11px;}.elementor-3065 .elementor-element.elementor-element-2f06603 .elementor-icon svg{height:11px;}.elementor-3065 .elementor-element.elementor-element-c2a839b .elementor-heading-title{color:var( --e-global-color-46eb018 );}.elementor-3065 .elementor-element.elementor-element-23b0a19{--spacer-size:20px;width:100%;max-width:100%;}.elementor-3065 .elementor-element.elementor-element-4dc98f5{width:100%;max-width:100%;text-align:center;}.elementor-3065 .elementor-element.elementor-element-4dc98f5.elementor-element{--align-self:center;}.elementor-3065 .elementor-element.elementor-element-a2c63b9{width:100%;max-width:100%;text-align:center;}.elementor-3065 .elementor-element.elementor-element-a2c63b9 .elementor-heading-title{color:var( --e-global-color-46eb018 );}.elementor-3065 .elementor-element.elementor-element-d3969a7{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-46dc2e6 */.vfn-form {
    background: none;
    box-shadow: none;
}

button.vfn-submit, button.vfn-next-step {
    min-width: 200px;
}



/* ---- Título da pergunta ---- */
.vfn-field-radio > label{
  display:block;
  font-size:clamp(20px,2.4vw,32px);
  font-weight:700;
  color:#1b1b1b;
  letter-spacing:-0.02em;
  margin-bottom:32px;
    text-align: center;
}
.vfn-field-radio > label .vfn-required{
  color:#d92d20;
  margin-left:4px;
  font-weight:700;

}

/* ---- Layout das opções ---- */
.vfn-radio-group{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:clamp(16px,5vw,72px);
  max-width:1120px;
  margin:12px auto 24px;
  padding:8px 0;
}

/* ---- Cada opção (label) ---- */
.vfn-radio-label{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  cursor:pointer;
  text-align:center;
  user-select:none;
}

/* Esconde o input, mantendo acessível */
.vfn-radio{
  position:absolute;
  inset:0;
  width:0; height:0;
  opacity:0;
  pointer-events:none;
}

/* Texto do rótulo */
.vfn-radio-label > span{
  font-size:clamp(14px,1.25vw,18px);
  color:#111827;
  font-weight:500;
}

/* Círculo grande acima do texto */
.vfn-radio-label > span::before{
  content:"";
  display:block;
  width:clamp(64px,8vw,96px);
  height:clamp(64px,8vw,96px);
  border-radius:50%;
  background:#e7e8eb;                 /* cinza desabilitado */
  box-shadow:inset 0 0 0 2px rgba(31,41,55,.06);
  margin-bottom:12px;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

/* Hover */
.vfn-radio-label:hover > span::before{
  box-shadow:inset 0 0 0 2px rgba(31,41,55,.06), 0 6px 12px rgba(0,0,0,.05);
  transform:translateY(-2px);
}

/* Focus (teclado) */
.vfn-radio-label:focus-within > span::before{
  outline:3px solid #0A63B8;          /* azul do destaque */
  outline-offset:4px;
}

/* Selecionado */
.vfn-radio:checked + span::before{
  background:
    radial-gradient(120% 120% at 50% 20%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 60%),
    #0A63B8;                           /* azul principal */
  box-shadow:0 8px 18px rgba(10,99,184,.35);
}

/* Responsivo: quebra em linhas menores */
@media (max-width:720px){
  .vfn-radio-group{ flex-wrap:wrap; justify-content:center; }
  .vfn-radio-label{ width:33.333%; margin-bottom:16px; }
}
@media (max-width:420px){
  .vfn-radio-label{ width:50%; }
}



/* Correção: manter as opções na mesma linha */
.vfn-field-radio .vfn-radio-group{
  display:flex !important;
  flex-direction:row !important;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;                  /* quebra só se faltar espaço */
  gap:clamp(16px,5vw,72px);
}

/* Não deixar cada label ocupar 100% da largura */
.vfn-field-radio .vfn-radio-group .vfn-radio-label{
  display:inline-flex !important;
  flex-direction:column;
  align-items:center;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  flex:0 0 auto;
}

/* (opcional) em telas muito pequenas pode quebrar em 2 colunas */
@media (max-width:420px){
  .vfn-field-radio .vfn-radio-group{ justify-content:center; }
}

/* Mobile: 5 opções na mesma linha */
@media (max-width: 480px){
  /* linha única e espaçamento curto */
  .vfn-field-radio .vfn-radio-group{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:space-between;
    align-items:flex-start;
    gap:8px;
    max-width:100%;
  }

  /* cada opção ocupa ~20% e pode encolher */
  .vfn-field-radio .vfn-radio-group .vfn-radio-label{
    display:inline-flex !important;
    flex:1 1 20% !important;
    width:auto !important;          /* sobrescreve larguras antigas */
    min-width:0;
    margin:0 !important;
    align-items:center;
    text-align:center;
  }

  /* bolinhas menores */
  .vfn-field-radio .vfn-radio-group .vfn-radio-label > span::before{
    width:42px;
    height:42px;
    margin-bottom:8px;
  }

  /* texto menor para caber sem quebrar */
  .vfn-field-radio .vfn-radio-group .vfn-radio-label > span{
    font-size:12px;
    line-height:1.1;
    white-space:normal;   /* permite quebra de palavra se precisar */
    word-break:keep-all;
  }
}

/* Telefones muito pequenos */
@media (max-width: 360px){
  .vfn-field-radio .vfn-radio-group .vfn-radio-label > span::before{
    width:36px;
    height:36px;
  }
  .vfn-field-radio .vfn-radio-group .vfn-radio-label > span{
    font-size:11px;
  }
}/* End custom CSS */