.elementor-2160 .elementor-element.elementor-element-7b6d167{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:0.48;}.elementor-2160 .elementor-element.elementor-element-7b6d167:not(.elementor-motion-effects-element-type-background), .elementor-2160 .elementor-element.elementor-element-7b6d167 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#031269;}.elementor-2160 .elementor-element.elementor-element-7b6d167::before, .elementor-2160 .elementor-element.elementor-element-7b6d167 > .elementor-background-video-container::before, .elementor-2160 .elementor-element.elementor-element-7b6d167 > .e-con-inner > .elementor-background-video-container::before, .elementor-2160 .elementor-element.elementor-element-7b6d167 > .elementor-background-slideshow::before, .elementor-2160 .elementor-element.elementor-element-7b6d167 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2160 .elementor-element.elementor-element-7b6d167 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://workshop.campetrafiid.net/wp-content/uploads/2025/05/Design-sem-nome-5.png");--background-overlay:'';}.elementor-2160 .elementor-element.elementor-element-5b37877{width:var( --container-widget-width, 46.52% );max-width:46.52%;--container-widget-width:46.52%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-2160 .elementor-element.elementor-element-5b37877.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-group{padding-right:calc( 16px/2 );padding-left:calc( 16px/2 );margin-bottom:10px;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-form-fields-wrapper{margin-left:calc( -16px/2 );margin-right:calc( -16px/2 );margin-bottom:-10px;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-labels-inline .elementor-field-group > label{padding-left:12px;}body:not(.rtl) .elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-labels-inline .elementor-field-group > label{padding-right:12px;}body .elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-labels-above .elementor-field-group > label{padding-bottom:12px;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-group > label, .elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-subgroup label{color:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-type-html{padding-bottom:6px;color:#CFF1FF;font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-width:3px 3px 3px 3px;border-radius:13px 13px 13px 13px;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-width:3px 3px 3px 3px;border-radius:13px 13px 13px 13px;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-button{font-family:"Arial", Sans-serif;text-transform:uppercase;border-style:solid;border-radius:11px 11px 11px 11px;padding:3px 3px 3px 3px;}.elementor-2160 .elementor-element.elementor-element-5b37877 .e-form__buttons__wrapper__button-next{background-color:#464BAC;color:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-button[type="submit"]{background-color:#464BAC;color:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-5b37877 .e-form__buttons__wrapper__button-previous{background-color:#010025;color:#ffffff;}.elementor-2160 .elementor-element.elementor-element-5b37877 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-2160 .elementor-element.elementor-element-5b37877 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2160 .elementor-element.elementor-element-5b37877 .e-form__buttons__wrapper__button-previous:hover{color:var( --e-global-color-secondary );}.elementor-2160 .elementor-element.elementor-element-59defb9{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2160 .elementor-element.elementor-element-315e64b{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:0.48;}.elementor-2160 .elementor-element.elementor-element-315e64b:not(.elementor-motion-effects-element-type-background), .elementor-2160 .elementor-element.elementor-element-315e64b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#031269;}.elementor-2160 .elementor-element.elementor-element-315e64b::before, .elementor-2160 .elementor-element.elementor-element-315e64b > .elementor-background-video-container::before, .elementor-2160 .elementor-element.elementor-element-315e64b > .e-con-inner > .elementor-background-video-container::before, .elementor-2160 .elementor-element.elementor-element-315e64b > .elementor-background-slideshow::before, .elementor-2160 .elementor-element.elementor-element-315e64b > .e-con-inner > .elementor-background-slideshow::before, .elementor-2160 .elementor-element.elementor-element-315e64b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://workshop.campetrafiid.net/wp-content/uploads/2025/05/Design-sem-nome-5.png");--background-overlay:'';}.elementor-2160 .elementor-element.elementor-element-6046cb9{width:var( --container-widget-width, 46.52% );max-width:46.52%;--container-widget-width:46.52%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-2160 .elementor-element.elementor-element-6046cb9.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group{padding-right:calc( 16px/2 );padding-left:calc( 16px/2 );margin-bottom:10px;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-form-fields-wrapper{margin-left:calc( -16px/2 );margin-right:calc( -16px/2 );margin-bottom:-10px;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-labels-inline .elementor-field-group > label{padding-left:12px;}body:not(.rtl) .elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-labels-inline .elementor-field-group > label{padding-right:12px;}body .elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-labels-above .elementor-field-group > label{padding-bottom:12px;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group > label, .elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-subgroup label{color:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-type-html{padding-bottom:6px;color:#CFF1FF;font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-width:3px 3px 3px 3px;border-radius:13px 13px 13px 13px;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-width:3px 3px 3px 3px;border-radius:13px 13px 13px 13px;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-button{font-family:"Arial", Sans-serif;text-transform:uppercase;border-style:solid;border-radius:11px 11px 11px 11px;padding:3px 3px 3px 3px;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .e-form__buttons__wrapper__button-next{background-color:#464BAC;color:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-button[type="submit"]{background-color:#464BAC;color:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .e-form__buttons__wrapper__button-previous{background-color:#010025;color:#ffffff;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .e-form__buttons__wrapper__button-previous:hover{color:var( --e-global-color-secondary );}.elementor-2160 .elementor-element.elementor-element-977a4db{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2160 .elementor-element.elementor-element-275ac3d{width:var( --container-widget-width, 35.393% );max-width:35.393%;--container-widget-width:35.393%;--container-widget-flex-grow:0;text-align:center;}.elementor-2160 .elementor-element.elementor-element-275ac3d.elementor-element{--flex-grow:0;--flex-shrink:0;}@media(max-width:767px){.elementor-2160 .elementor-element.elementor-element-6046cb9{width:var( --container-widget-width, 306.075px );max-width:306.075px;--container-widget-width:306.075px;--container-widget-flex-grow:0;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group > label{font-size:11px;line-height:0.3em;letter-spacing:0.3px;}.elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-group .elementor-field, .elementor-2160 .elementor-element.elementor-element-6046cb9 .elementor-field-subgroup label{font-size:13px;}.elementor-2160 .elementor-element.elementor-element-275ac3d{--container-widget-width:170px;--container-widget-flex-grow:0;width:var( --container-widget-width, 170px );max-width:170px;text-align:center;font-size:12px;}}/* Start custom CSS for form, class: .elementor-element-5b37877 */:root {
  --shiny-cta-bg: #5767c2 !important;                 /* fundo do botão */
  --shiny-cta-bg-subtle: #0f2e22 !important;          /* borda escura */
  --shiny-cta-fg: #ffffff !important;                 /* texto */
  --shiny-cta-highlight: #0011ff !important;          /* luz principal */
  --shiny-cta-highlight-subtle: #84FFBC !important;   /* luz suave */
}

@property --gradient-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@property --gradient-angle-offset {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@property --gradient-percent {
  syntax: "<percentage>";
  initial-value: 5%;
  inherits: false;
}

@property --gradient-shine {
  syntax: "<color>";
  initial-value: white;
  inherits: false;
}

/* ---------- BTN CLASS (adicione "btn-style" ao widget/botão) ---------- */

@media only screen and (max-width: 600px) {
  .btn-style.elementor-button,
  .btn-style .elementor-button {
    --animation: gradient-angle linear infinite !important;
    --duration: 3s !important; /* tempo do giro do brilho */
    --shadow-size: 2px !important;
    isolation: isolate !important;
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    outline-offset: 4px !important;
    padding: 1.25rem 1.5rem !important;
    line-height: 1.2 !important;
    border: 1px solid transparent !important;
    border-radius: 360px !important;
    color: var(--shiny-cta-fg) !important;
    background: linear-gradient(var(--shiny-cta-bg), var(--shiny-cta-bg)) padding-box,
      conic-gradient(
        from calc(var(--gradient-angle) - var(--gradient-angle-offset)),
        transparent,
        var(--shiny-cta-highlight) var(--gradient-percent),
        var(--gradient-shine) calc(var(--gradient-percent) * 2),
        var(--shiny-cta-highlight) calc(var(--gradient-percent) * 3),
        transparent calc(var(--gradient-percent) * 4)
      ) border-box !important;
    box-shadow: inset 0 0 0 1px var(--shiny-cta-bg-subtle) !important;
    transition: 800ms cubic-bezier(0.25, 1, 0.5, 1) !important;
    transition-property: --gradient-angle-offset, --gradient-percent, --gradient-shine !important;
  }
}

@media only screen and (min-width: 600px) {
  .btn-style.elementor-button,
  .btn-style .elementor-button {
    --animation: gradient-angle linear infinite !important;
    --duration: 3s !important;
    --shadow-size: 2px !important;
    isolation: isolate !important;
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    outline-offset: 4px !important;
    padding: 1.5rem 2.5rem !important;
    line-height: 1.2 !important;
    border: 1px solid transparent !important;
    border-radius: 360px !important;
    color: var(--shiny-cta-fg) !important;
    background: linear-gradient(var(--shiny-cta-bg), var(--shiny-cta-bg)) padding-box,
      conic-gradient(
        from calc(var(--gradient-angle) - var(--gradient-angle-offset)),
        transparent,
        var(--shiny-cta-highlight) var(--gradient-percent),
        var(--gradient-shine) calc(var(--gradient-percent) * 2),
        var(--shiny-cta-highlight) calc(var(--gradient-percent) * 3),
        transparent calc(var(--gradient-percent) * 4)
      ) border-box !important;
    box-shadow: inset 0 0 0 1px var(--shiny-cta-bg-subtle) !important;
    transition: 800ms cubic-bezier(0.25, 1, 0.5, 1) !important;
    transition-property: --gradient-angle-offset, --gradient-percent, --gradient-shine !important;
  }
}

.btn-style.elementor-button::before,
.btn-style.elementor-button::after,
.btn-style.elementor-button span::before,
.btn-style .elementor-button::before,
.btn-style .elementor-button::after,
.btn-style .elementor-button span::before {
  content: "" !important;
  pointer-events: none !important;
  position: absolute !important;
  inset-inline-start: 50% !important;
  inset-block-start: 50% !important;
  translate: -50% -50% !important;
  z-index: -1 !important;
}

.btn-style.elementor-button::before,
.btn-style .elementor-button::before {
  --size: calc(100% - var(--shadow-size) * 3) !important;
  --position: 2px !important;
  --space: calc(var(--position) * 2) !important;
  width: var(--size) !important;
  height: var(--size) !important;
  background: radial-gradient(
      circle at var(--position) var(--position),
      white calc(var(--position) / 4),
      transparent 0
    ) padding-box !important;
  background-size: var(--space) var(--space) !important;
  background-repeat: space !important;
  mask-image: conic-gradient(
    from calc(var(--gradient-angle) + 45deg),
    black,
    transparent 10% 90%,
    black
  ) !important;
  border-radius: inherit !important;
  opacity: 0.4 !important;
}

.btn-style.elementor-button::after,
.btn-style .elementor-button::after {
  --animation: shimmer linear infinite !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  background: linear-gradient(
    -50deg,
    transparent,
    var(--shiny-cta-highlight),
    transparent
  ) !important;
  mask-image: radial-gradient(circle at bottom, transparent 40%, black) !important;
  opacity: 0.6 !important;
}

.btn-style.elementor-button span,
.btn-style .elementor-button span {
  z-index: 1 !important;
  position: relative !important;
}

.btn-style.elementor-button span::before,
.btn-style .elementor-button span::before {
  size: calc(100% + 1rem) !important;
  width: 1200px !important;    /* área do brilho interno */
  height: 100px !important;
  box-shadow: inset 0 -1ex 2rem 4px var(--shiny-cta-highlight) !important;
  opacity: 0 !important;
  transition: opacity 1500ms cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.btn-style.elementor-button:hover,
.btn-style.elementor-button:focus-visible,
.btn-style .elementor-button:hover,
.btn-style .elementor-button:focus-visible {
  --gradient-percent: 20% !important;
  --gradient-angle-offset: 95deg !important;
  --gradient-shine: var(--shiny-cta-highlight-subtle) !important;
}

.btn-style.elementor-button:hover span::before,
.btn-style .elementor-button:hover span::before {
  opacity: 1 !important;
}

@keyframes gradient-angle {
  to { --gradient-angle: 360deg; }
}

@keyframes shimmer {
  to { transform: rotate(360deg) !important; }
}

@keyframes breathe {
  50% { transform: scale(1.2) !important; }
}

.btn-style.elementor-button,
.btn-style.elementor-button::before,
.btn-style.elementor-button::after,
.btn-style .elementor-button,
.btn-style .elementor-button::before,
.btn-style .elementor-button::after {
  animation: var(--animation) var(--duration),
             var(--animation) calc(var(--duration) / 0.4) reverse paused !important;
  animation-composition: add !important;
}

.btn-style.elementor-button:hover,
.btn-style.elementor-button:hover::before,
.btn-style.elementor-button:hover::after,
.btn-style .elementor-button:hover,
.btn-style .elementor-button:hover::before,
.btn-style .elementor-button:hover::after {
  animation-play-state: running !important;
}

/* Ícone e texto dentro do botão (compatível com Elementor) */
.btn-style .elementor-button-icon,
.btn-style.elementor-button .elementor-button-icon {
  font-size: 10px !important;
  color: inherit !important;
}

.btn-style .elementor-button-text,
.btn-style.elementor-button .elementor-button-text {
  margin: auto !important;
}

/* HOVER: ícone gira dentro do botão com a classe .btn-style */
.btn-style.elementor-button .elementor-button-icon,
.btn-style .elementor-button .elementor-button-icon {
  transition: transform .5s ease !important;
  transform-origin: 50% 50% !important;
  display: inline-flex !important;
  align-items: center !important;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-6046cb9 */:root {
  --shiny-cta-bg: #5767c2 !important;                 /* fundo do botão */
  --shiny-cta-bg-subtle: #0f2e22 !important;          /* borda escura */
  --shiny-cta-fg: #ffffff !important;                 /* texto */
  --shiny-cta-highlight: #0011ff !important;          /* luz principal */
  --shiny-cta-highlight-subtle: #84FFBC !important;   /* luz suave */
}

@property --gradient-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@property --gradient-angle-offset {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@property --gradient-percent {
  syntax: "<percentage>";
  initial-value: 5%;
  inherits: false;
}

@property --gradient-shine {
  syntax: "<color>";
  initial-value: white;
  inherits: false;
}

/* ---------- BTN CLASS (adicione "btn-style" ao widget/botão) ---------- */

@media only screen and (max-width: 600px) {
  .btn-style.elementor-button,
  .btn-style .elementor-button {
    --animation: gradient-angle linear infinite !important;
    --duration: 3s !important; /* tempo do giro do brilho */
    --shadow-size: 2px !important;
    isolation: isolate !important;
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    outline-offset: 4px !important;
    padding: 1.25rem 1.5rem !important;
    line-height: 1.2 !important;
    border: 1px solid transparent !important;
    border-radius: 360px !important;
    color: var(--shiny-cta-fg) !important;
    background: linear-gradient(var(--shiny-cta-bg), var(--shiny-cta-bg)) padding-box,
      conic-gradient(
        from calc(var(--gradient-angle) - var(--gradient-angle-offset)),
        transparent,
        var(--shiny-cta-highlight) var(--gradient-percent),
        var(--gradient-shine) calc(var(--gradient-percent) * 2),
        var(--shiny-cta-highlight) calc(var(--gradient-percent) * 3),
        transparent calc(var(--gradient-percent) * 4)
      ) border-box !important;
    box-shadow: inset 0 0 0 1px var(--shiny-cta-bg-subtle) !important;
    transition: 800ms cubic-bezier(0.25, 1, 0.5, 1) !important;
    transition-property: --gradient-angle-offset, --gradient-percent, --gradient-shine !important;
  }
}

@media only screen and (min-width: 600px) {
  .btn-style.elementor-button,
  .btn-style .elementor-button {
    --animation: gradient-angle linear infinite !important;
    --duration: 3s !important;
    --shadow-size: 2px !important;
    isolation: isolate !important;
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    outline-offset: 4px !important;
    padding: 1.5rem 2.5rem !important;
    line-height: 1.2 !important;
    border: 1px solid transparent !important;
    border-radius: 360px !important;
    color: var(--shiny-cta-fg) !important;
    background: linear-gradient(var(--shiny-cta-bg), var(--shiny-cta-bg)) padding-box,
      conic-gradient(
        from calc(var(--gradient-angle) - var(--gradient-angle-offset)),
        transparent,
        var(--shiny-cta-highlight) var(--gradient-percent),
        var(--gradient-shine) calc(var(--gradient-percent) * 2),
        var(--shiny-cta-highlight) calc(var(--gradient-percent) * 3),
        transparent calc(var(--gradient-percent) * 4)
      ) border-box !important;
    box-shadow: inset 0 0 0 1px var(--shiny-cta-bg-subtle) !important;
    transition: 800ms cubic-bezier(0.25, 1, 0.5, 1) !important;
    transition-property: --gradient-angle-offset, --gradient-percent, --gradient-shine !important;
  }
}

.btn-style.elementor-button::before,
.btn-style.elementor-button::after,
.btn-style.elementor-button span::before,
.btn-style .elementor-button::before,
.btn-style .elementor-button::after,
.btn-style .elementor-button span::before {
  content: "" !important;
  pointer-events: none !important;
  position: absolute !important;
  inset-inline-start: 50% !important;
  inset-block-start: 50% !important;
  translate: -50% -50% !important;
  z-index: -1 !important;
}

.btn-style.elementor-button::before,
.btn-style .elementor-button::before {
  --size: calc(100% - var(--shadow-size) * 3) !important;
  --position: 2px !important;
  --space: calc(var(--position) * 2) !important;
  width: var(--size) !important;
  height: var(--size) !important;
  background: radial-gradient(
      circle at var(--position) var(--position),
      white calc(var(--position) / 4),
      transparent 0
    ) padding-box !important;
  background-size: var(--space) var(--space) !important;
  background-repeat: space !important;
  mask-image: conic-gradient(
    from calc(var(--gradient-angle) + 45deg),
    black,
    transparent 10% 90%,
    black
  ) !important;
  border-radius: inherit !important;
  opacity: 0.4 !important;
}

.btn-style.elementor-button::after,
.btn-style .elementor-button::after {
  --animation: shimmer linear infinite !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  background: linear-gradient(
    -50deg,
    transparent,
    var(--shiny-cta-highlight),
    transparent
  ) !important;
  mask-image: radial-gradient(circle at bottom, transparent 40%, black) !important;
  opacity: 0.6 !important;
}

.btn-style.elementor-button span,
.btn-style .elementor-button span {
  z-index: 1 !important;
  position: relative !important;
}

.btn-style.elementor-button span::before,
.btn-style .elementor-button span::before {
  size: calc(100% + 1rem) !important;
  width: 1200px !important;    /* área do brilho interno */
  height: 100px !important;
  box-shadow: inset 0 -1ex 2rem 4px var(--shiny-cta-highlight) !important;
  opacity: 0 !important;
  transition: opacity 1500ms cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.btn-style.elementor-button:hover,
.btn-style.elementor-button:focus-visible,
.btn-style .elementor-button:hover,
.btn-style .elementor-button:focus-visible {
  --gradient-percent: 20% !important;
  --gradient-angle-offset: 95deg !important;
  --gradient-shine: var(--shiny-cta-highlight-subtle) !important;
}

.btn-style.elementor-button:hover span::before,
.btn-style .elementor-button:hover span::before {
  opacity: 1 !important;
}

@keyframes gradient-angle {
  to { --gradient-angle: 360deg; }
}

@keyframes shimmer {
  to { transform: rotate(360deg) !important; }
}

@keyframes breathe {
  50% { transform: scale(1.2) !important; }
}

.btn-style.elementor-button,
.btn-style.elementor-button::before,
.btn-style.elementor-button::after,
.btn-style .elementor-button,
.btn-style .elementor-button::before,
.btn-style .elementor-button::after {
  animation: var(--animation) var(--duration),
             var(--animation) calc(var(--duration) / 0.4) reverse paused !important;
  animation-composition: add !important;
}

.btn-style.elementor-button:hover,
.btn-style.elementor-button:hover::before,
.btn-style.elementor-button:hover::after,
.btn-style .elementor-button:hover,
.btn-style .elementor-button:hover::before,
.btn-style .elementor-button:hover::after {
  animation-play-state: running !important;
}

/* Ícone e texto dentro do botão (compatível com Elementor) */
.btn-style .elementor-button-icon,
.btn-style.elementor-button .elementor-button-icon {
  font-size: 10px !important;
  color: inherit !important;
}

.btn-style .elementor-button-text,
.btn-style.elementor-button .elementor-button-text {
  margin: auto !important;
}

/* HOVER: ícone gira dentro do botão com a classe .btn-style */
.btn-style.elementor-button .elementor-button-icon,
.btn-style .elementor-button .elementor-button-icon {
  transition: transform .5s ease !important;
  transform-origin: 50% 50% !important;
  display: inline-flex !important;
  align-items: center !important;
}/* End custom CSS */