.elementor-497 .elementor-element.elementor-element-4451330{--display:flex;--min-height:750px;--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;--justify-content:center;--align-items:center;--flex-wrap:wrap;--padding-top:200px;--padding-bottom:200px;--padding-left:0px;--padding-right:0px;}.elementor-497 .elementor-element.elementor-element-4451330:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-4451330 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://osegredodasjoias.com.br/wp-content/uploads/2026/03/BG1-6.webp");background-repeat:no-repeat;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-497 .elementor-element.elementor-element-8fff409{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -25px) 0px;}.elementor-497 .elementor-element.elementor-element-8fff409 img{width:58%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-497 .elementor-element.elementor-element-820fa17{width:var( --container-widget-width, 84% );max-width:84%;padding:20px 0px 20px 0px;--container-widget-width:84%;--container-widget-flex-grow:0;text-align:center;}.elementor-497 .elementor-element.elementor-element-820fa17.elementor-element{--align-self:center;}.elementor-497 .elementor-element.elementor-element-820fa17 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:71px;font-weight:700;color:#FFFFFF;}.elementor-497 .elementor-element.elementor-element-1720e13{width:var( --container-widget-width, 63% );max-width:63%;--container-widget-width:63%;--container-widget-flex-grow:0;text-align:center;}.elementor-497 .elementor-element.elementor-element-1720e13 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:26px;font-weight:300;color:#FFFFFF;}.elementor-widget-progress .elementor-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:var( --e-global-color-primary );}.elementor-497 .elementor-element.elementor-element-604f1dc{width:100%;max-width:100%;}.elementor-497 .elementor-element.elementor-element-604f1dc .elementor-progress-wrapper .elementor-progress-bar{background-color:#FFBC7D;}.elementor-497 .elementor-element.elementor-element-604f1dc .elementor-progress-bar{height:100px;line-height:100px;}.elementor-497 .elementor-element.elementor-element-604f1dc .elementor-progress-wrapper{border-radius:92px;overflow:hidden;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-497 .elementor-element.elementor-element-1cc7fe2 .elementor-button{background-color:#61CE7000;font-family:"Poppins", Sans-serif;font-size:22px;font-weight:600;letter-spacing:0px;fill:#000000;color:#000000;border-radius:8px 8px 8px 8px;padding:20px 20px 20px 20px;}.elementor-497 .elementor-element.elementor-element-1cc7fe2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -108px) 0px;}.elementor-497 .elementor-element.elementor-element-1cc7fe2.elementor-element{--align-self:center;}.elementor-497 .elementor-element.elementor-element-1e498b2{--display:flex;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--padding-top:160px;--padding-bottom:89px;--padding-left:80px;--padding-right:80px;}.elementor-497 .elementor-element.elementor-element-1e498b2:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-1e498b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-497 .elementor-element.elementor-element-a7dc602{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#ECB075;--border-color:#ECB075;--border-radius:25px 25px 25px 25px;box-shadow:20px 18px 32px 0px rgba(0, 0, 0, 0.42);--margin-top:-220px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}.elementor-497 .elementor-element.elementor-element-a7dc602:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-a7dc602 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-497 .elementor-element.elementor-element-119f0c9{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-497 .elementor-element.elementor-element-5129296.elementor-element{--align-self:center;}.elementor-497 .elementor-element.elementor-element-5129296{text-align:start;font-family:"Playfair Display", Sans-serif;font-size:47px;font-weight:400;line-height:52px;color:#FFFFFF;}.elementor-497 .elementor-element.elementor-element-5129296 a:hover, .elementor-497 .elementor-element.elementor-element-5129296 a:focus{color:#FFFFFF;}.elementor-497 .elementor-element.elementor-element-81ac336{width:var( --container-widget-width, 63% );max-width:63%;--container-widget-width:63%;--container-widget-flex-grow:0;text-align:center;}.elementor-497 .elementor-element.elementor-element-81ac336.elementor-element{--align-self:center;}.elementor-497 .elementor-element.elementor-element-81ac336 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:26px;font-weight:300;color:#535353;}.elementor-497 .elementor-element.elementor-element-7dbbfcc .elementor-button{background-color:#61CE7000;font-family:"Poppins", Sans-serif;font-size:22px;font-weight:600;letter-spacing:0px;fill:#000000;color:#000000;border-radius:8px 8px 8px 8px;padding:20px 20px 20px 20px;}.elementor-497 .elementor-element.elementor-element-7dbbfcc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-497 .elementor-element.elementor-element-7dbbfcc.elementor-element{--align-self:center;}.elementor-497 .elementor-element.elementor-element-4e9922e{--display:flex;--min-height:60px;--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;--justify-content:space-between;--align-items:center;}.elementor-497 .elementor-element.elementor-element-4e9922e:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-4e9922e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#292929;}.elementor-497 .elementor-element.elementor-element-3f677af{width:var( --container-widget-width, 33% );max-width:33%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:33%;--container-widget-flex-grow:0;}.elementor-497 .elementor-element.elementor-element-3f677af .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:13px;font-weight:200;line-height:1.3em;color:#FFFFFF;}.elementor-497 .elementor-element.elementor-element-838a3ed{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -19px) 0px;padding:0px 0px 0px 0px;font-family:"Sora", Sans-serif;font-size:13px;font-weight:200;line-height:1.3em;color:#FFFFFF;}body.elementor-page-497:not(.elementor-motion-effects-element-type-background), body.elementor-page-497 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}@media(min-width:768px){.elementor-497 .elementor-element.elementor-element-4451330{--content-width:1280px;}.elementor-497 .elementor-element.elementor-element-1e498b2{--content-width:1260px;}.elementor-497 .elementor-element.elementor-element-a7dc602{--width:100%;}}@media(max-width:767px){.elementor-497 .elementor-element.elementor-element-4451330:not(.elementor-motion-effects-element-type-background), .elementor-497 .elementor-element.elementor-element-4451330 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://osegredodasjoias.com.br/wp-content/uploads/2026/03/Bg-Mobile-1.webp");background-position:top center;background-size:cover;}.elementor-497 .elementor-element.elementor-element-4451330{--content-width:350px;--min-height:778px;--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;--justify-content:flex-start;--padding-top:227px;--padding-bottom:219px;--padding-left:0px;--padding-right:0px;}.elementor-497 .elementor-element.elementor-element-8fff409{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + -28px) 0px;}.elementor-497 .elementor-element.elementor-element-8fff409 img{width:60%;}.elementor-497 .elementor-element.elementor-element-820fa17{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-497 .elementor-element.elementor-element-820fa17 .elementor-heading-title{font-size:2.1em;}.elementor-497 .elementor-element.elementor-element-1720e13{padding:0px 10px 0px 10px;--container-widget-width:841px;--container-widget-flex-grow:0;width:var( --container-widget-width, 841px );max-width:841px;}.elementor-497 .elementor-element.elementor-element-1720e13 .elementor-heading-title{font-size:20px;}.elementor-497 .elementor-element.elementor-element-604f1dc{padding:0px 10px 0px 10px;}.elementor-497 .elementor-element.elementor-element-1cc7fe2 .elementor-button{font-size:17px;line-height:1.3em;letter-spacing:0px;padding:0px 0px 0px 0px;}.elementor-497 .elementor-element.elementor-element-1e498b2{--padding-top:20px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-497 .elementor-element.elementor-element-a7dc602{--margin-top:-98px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-497 .elementor-element.elementor-element-5129296{font-size:35px;line-height:1em;}.elementor-497 .elementor-element.elementor-element-81ac336{--container-widget-width:1000px;--container-widget-flex-grow:0;width:var( --container-widget-width, 1000px );max-width:1000px;}.elementor-497 .elementor-element.elementor-element-81ac336 .elementor-heading-title{font-size:19px;}.elementor-497 .elementor-element.elementor-element-7dbbfcc{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-497 .elementor-element.elementor-element-7dbbfcc .elementor-button{font-size:17px;line-height:1.3em;letter-spacing:0px;padding:0px 0px 0px 0px;}.elementor-497 .elementor-element.elementor-element-4e9922e{--justify-content:center;--padding-top:30px;--padding-bottom:30px;--padding-left:10px;--padding-right:10px;}.elementor-497 .elementor-element.elementor-element-3f677af{width:100%;max-width:100%;text-align:center;}}/* Start custom CSS for progress, class: .elementor-element-604f1dc *//* ================================
   GOLD PREMIUM PROGRESS BAR - 50px
=================================== */

.elementor-497 .elementor-element.elementor-element-604f1dc .elementor-progress-wrapper {
    background: transparent !important;
    border: 1px solid #cea884;
    border-radius: 100px;
    padding: 6px;
    overflow: hidden;
}

/* Altura definida em 50px */
.elementor-497 .elementor-element.elementor-element-604f1dc .elementor-progress-bar {
    height: 50px !important;
    border-radius: 100px;
    position: relative;

    background: linear-gradient(
        90deg,
        #cea884 0%,
        #ffddab 40%,
        #ffffff 50%,
        #ffddab 60%,
        #cea884 100%
    );

    background-size: 200% 100%;
    animation: goldFlow 4s linear infinite;
}

/* Brilho passando */
.elementor-497 .elementor-element.elementor-element-604f1dc .elementor-progress-bar::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 35%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,0.7) 50%,
        transparent 100%
    );
    transform: skewX(-20deg);
    animation: shinePass 3s infinite;
}

/* Movimento do dourado */
@keyframes goldFlow {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Movimento do brilho */
@keyframes shinePass {
    0% { left: -60%; }
    100% { left: 120%; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1cc7fe2 */:root {
  --shiny-cta-bg: #000000 !important;                 /* fundo do botão */
  --shiny-cta-bg-subtle: #D8B682 !important;          /* borda escura */
  --shiny-cta-fg: #ffffff !important;                 /* texto */
  --shiny-cta-highlight: #D8B682 !important;          /* luz principal */
  --shiny-cta-highlight-subtle: #D8B682 !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 text-editor, class: .elementor-element-5129296 */.elementor-497 .elementor-element.elementor-element-5129296 {
    background: linear-gradient(90deg, #D8B682 30%, #D8B682 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7dbbfcc */:root {
  --shiny-cta-bg: #000000 !important;                 /* fundo do botão */
  --shiny-cta-bg-subtle: #D8B682 !important;          /* borda escura */
  --shiny-cta-fg: #ffffff !important;                 /* texto */
  --shiny-cta-highlight: #D8B682 !important;          /* luz principal */
  --shiny-cta-highlight-subtle: #D8B682 !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 */