.elementor-2615 .elementor-element.elementor-element-4e8fd85{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overflow:hidden;--overlay-opacity:0.61;border-style:solid;--border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;--z-index:10;}.elementor-2615 .elementor-element.elementor-element-4e8fd85:not(.elementor-motion-effects-element-type-background), .elementor-2615 .elementor-element.elementor-element-4e8fd85 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-4e8fd85::before, .elementor-2615 .elementor-element.elementor-element-4e8fd85 > .elementor-background-video-container::before, .elementor-2615 .elementor-element.elementor-element-4e8fd85 > .e-con-inner > .elementor-background-video-container::before, .elementor-2615 .elementor-element.elementor-element-4e8fd85 > .elementor-background-slideshow::before, .elementor-2615 .elementor-element.elementor-element-4e8fd85 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2615 .elementor-element.elementor-element-4e8fd85 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#01081B;--background-overlay:'';}.elementor-2615 .elementor-element.elementor-element-b50b008{--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:5px 5px;--row-gap:5px;--column-gap:5px;--border-radius:30px 30px 30px 30px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-2615 .elementor-element.elementor-element-b50b008:not(.elementor-motion-effects-element-type-background), .elementor-2615 .elementor-element.elementor-element-b50b008 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#01081B;}.elementor-2615 .elementor-element.elementor-element-b50b008.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-2615 .elementor-element.elementor-element-002999c{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overlay-opacity:1;--border-radius:30px 30px 30px 30px;}.elementor-2615 .elementor-element.elementor-element-002999c:not(.elementor-motion-effects-element-type-background), .elementor-2615 .elementor-element.elementor-element-002999c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://wp.francoglobal.es/wp-content/uploads/2025/10/Gemini_Generated_Image_hpqdpyh2pqdpyhpqd.webp");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-2615 .elementor-element.elementor-element-002999c::before, .elementor-2615 .elementor-element.elementor-element-002999c > .elementor-background-video-container::before, .elementor-2615 .elementor-element.elementor-element-002999c > .e-con-inner > .elementor-background-video-container::before, .elementor-2615 .elementor-element.elementor-element-002999c > .elementor-background-slideshow::before, .elementor-2615 .elementor-element.elementor-element-002999c > .e-con-inner > .elementor-background-slideshow::before, .elementor-2615 .elementor-element.elementor-element-002999c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(180deg, #02010100 0%, #01081B 100%);}.elementor-2615 .elementor-element.elementor-element-002999c.e-con{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-5c35e91{--spacer-size:306px;}.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-2615 .elementor-element.elementor-element-6fb033e{width:var( --container-widget-width, 58% );max-width:58%;padding:0px 0px 8px 0px;--container-widget-width:58%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-6fb033e.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-2dbb91e{--grid-template-columns:repeat(0, auto);text-align:center;width:var( --container-widget-width, 31% );max-width:31%;--container-widget-width:31%;--container-widget-flex-grow:0;--icon-size:11px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-2615 .elementor-element.elementor-element-2dbb91e.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-2dbb91e .elementor-social-icon{background-color:#79373700;}.elementor-2615 .elementor-element.elementor-element-2dbb91e .elementor-social-icon i{color:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-2dbb91e .elementor-social-icon svg{fill:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-006d228{--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2615 .elementor-element.elementor-element-cfd4d82{--display:flex;--gap:1px 1px;--row-gap:1px;--column-gap:1px;}.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-2615 .elementor-element.elementor-element-db5b4fe{text-align:center;}.elementor-2615 .elementor-element.elementor-element-db5b4fe .elementor-heading-title{font-family:"Kameron", Sans-serif;font-size:23px;font-weight:500;line-height:1.3em;color:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-c0eef65{--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;}.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-2615 .elementor-element.elementor-element-7a80cb6 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:15px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-7a80cb6{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-7a80cb6.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-7e305b6{--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;}.elementor-2615 .elementor-element.elementor-element-1b97745 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:15px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-1b97745{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-1b97745.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-b0e5476{--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;}.elementor-2615 .elementor-element.elementor-element-9b244d4 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:15px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-9b244d4{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-9b244d4.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-6467608 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:15px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-6467608{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-6467608.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-cd0b3dc .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:15px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-cd0b3dc{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-cd0b3dc.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-02db3e4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2615 .elementor-element.elementor-element-02db3e4.e-con{--align-self:stretch;}.elementor-2615 .elementor-element.elementor-element-f5bebc8{text-align:center;}.elementor-2615 .elementor-element.elementor-element-f5bebc8 .elementor-heading-title{font-family:"Kameron", Sans-serif;font-size:23px;font-weight:500;line-height:1.3em;color:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-55ba8f2{--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-2615 .elementor-element.elementor-element-2f8aa84{text-align:center;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:300;line-height:1.5em;color:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-e331130{--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;}.elementor-2615 .elementor-element.elementor-element-e331130.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-2615 .elementor-element.elementor-element-f4de11a .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;line-height:18px;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-f4de11a{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-f4de11a.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-bbe62c1 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;line-height:18px;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-bbe62c1{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-bbe62c1.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-8ea325b{--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;}.elementor-2615 .elementor-element.elementor-element-8ea325b.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-2615 .elementor-element.elementor-element-6082cb4 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-6082cb4{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-6082cb4.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-0dfa0dc .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-0dfa0dc{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-0dfa0dc.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-43dd9ff{--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;}.elementor-2615 .elementor-element.elementor-element-43dd9ff.e-con{--align-self:stretch;--flex-grow:0;--flex-shrink:0;}.elementor-2615 .elementor-element.elementor-element-8dfa09f .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-8dfa09f{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-8dfa09f.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-fb7ec4f .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-fb7ec4f{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-fb7ec4f.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-e8b986e{--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;}.elementor-2615 .elementor-element.elementor-element-472c730 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-472c730{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-472c730.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-ce85023 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-ce85023{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-ce85023.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-2087e47{--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2615 .elementor-element.elementor-element-5af3bed{text-align:center;}.elementor-2615 .elementor-element.elementor-element-5af3bed .elementor-heading-title{font-family:"Kameron", Sans-serif;font-size:23px;font-weight:500;line-height:1.3em;color:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-d4114d5{--display:flex;}.elementor-2615 .elementor-element.elementor-element-7b6271e{text-align:center;font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:300;line-height:1.5em;color:#FFFFFF;}.elementor-2615 .elementor-element.elementor-element-d41ecef{--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;}.elementor-2615 .elementor-element.elementor-element-be3a342 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-be3a342{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-be3a342.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-420e0a5 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:12px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-420e0a5{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-420e0a5.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-ec9a062{--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;}.elementor-2615 .elementor-element.elementor-element-bca6d82 .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-bca6d82{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-bca6d82.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-fb8be55{--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;}.elementor-2615 .elementor-element.elementor-element-308f04e .elementor-button{background-color:#61CE7000;font-family:"Kameron", Sans-serif;font-size:13px;font-weight:400;padding:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-308f04e{width:100%;max-width:100%;}.elementor-2615 .elementor-element.elementor-element-308f04e.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-2615 .elementor-element.elementor-element-4e8fd85{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:21px;}.elementor-2615 .elementor-element.elementor-element-db5b4fe .elementor-heading-title{font-size:22px;}.elementor-2615 .elementor-element.elementor-element-f5bebc8 .elementor-heading-title{font-size:22px;}.elementor-2615 .elementor-element.elementor-element-5af3bed .elementor-heading-title{font-size:22px;}}@media(min-width:768px){.elementor-2615 .elementor-element.elementor-element-4e8fd85{--width:100%;}.elementor-2615 .elementor-element.elementor-element-b50b008{--width:39.546%;}.elementor-2615 .elementor-element.elementor-element-002999c{--width:100%;}.elementor-2615 .elementor-element.elementor-element-e331130{--width:100%;}.elementor-2615 .elementor-element.elementor-element-8ea325b{--width:100%;}.elementor-2615 .elementor-element.elementor-element-43dd9ff{--width:100%;}}@media(max-width:767px){.elementor-2615 .elementor-element.elementor-element-4e8fd85{--min-height:100vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:0.91;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2615 .elementor-element.elementor-element-4e8fd85.e-con{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-b50b008{--border-radius:00px 00px 00px 00px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2615 .elementor-element.elementor-element-002999c{--border-radius:0px 0px 0px 0px;}.elementor-2615 .elementor-element.elementor-element-5c35e91{--spacer-size:240px;}.elementor-2615 .elementor-element.elementor-element-6fb033e{width:var( --container-widget-width, 201px );max-width:201px;--container-widget-width:201px;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-2dbb91e{text-align:right;width:var( --container-widget-width, 126px );max-width:126px;--container-widget-width:126px;--container-widget-flex-grow:0;--icon-size:12px;}.elementor-2615 .elementor-element.elementor-element-2dbb91e.elementor-element{--align-self:center;}.elementor-2615 .elementor-element.elementor-element-cfd4d82{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2615 .elementor-element.elementor-element-db5b4fe{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-2615 .elementor-element.elementor-element-7a80cb6{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-7a80cb6.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-1b97745{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-1b97745.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-9b244d4{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-9b244d4.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-6467608{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-6467608.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-cd0b3dc{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-cd0b3dc.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-f5bebc8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-2615 .elementor-element.elementor-element-f5bebc8 .elementor-heading-title{font-size:29px;line-height:1.1em;}.elementor-2615 .elementor-element.elementor-element-2f8aa84{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:15px;}.elementor-2615 .elementor-element.elementor-element-f4de11a{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-f4de11a.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-bbe62c1{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-bbe62c1.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-8ea325b{--gap:18px 10px;--row-gap:18px;--column-gap:10px;}.elementor-2615 .elementor-element.elementor-element-6082cb4{width:var( --container-widget-width, 48% );max-width:48%;--container-widget-width:48%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-6082cb4.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-0dfa0dc{width:var( --container-widget-width, 48% );max-width:48%;--container-widget-width:48%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-0dfa0dc.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-43dd9ff{--gap:0px 10px;--row-gap:0px;--column-gap:10px;}.elementor-2615 .elementor-element.elementor-element-8dfa09f{width:var( --container-widget-width, 48% );max-width:48%;--container-widget-width:48%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-8dfa09f.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-fb7ec4f{width:var( --container-widget-width, 48% );max-width:48%;--container-widget-width:48%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-fb7ec4f.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-e8b986e{--gap:0px 10px;--row-gap:0px;--column-gap:10px;}.elementor-2615 .elementor-element.elementor-element-472c730{width:var( --container-widget-width, 48% );max-width:48%;--container-widget-width:48%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-472c730.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-ce85023{width:var( --container-widget-width, 48% );max-width:48%;--container-widget-width:48%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-ce85023.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-5af3bed{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-2615 .elementor-element.elementor-element-5af3bed .elementor-heading-title{font-size:27px;}.elementor-2615 .elementor-element.elementor-element-7b6271e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:17px;}.elementor-2615 .elementor-element.elementor-element-be3a342{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-be3a342.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-420e0a5{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-420e0a5.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-bca6d82{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-bca6d82.elementor-element{--align-self:flex-end;}.elementor-2615 .elementor-element.elementor-element-308f04e{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2615 .elementor-element.elementor-element-308f04e.elementor-element{--align-self:flex-end;}}/* Start custom CSS for button, class: .elementor-element-7a80cb6 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1b97745 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-9b244d4 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6467608 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-cd0b3dc */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-f4de11a */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bbe62c1 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6082cb4 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-0dfa0dc */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8dfa09f */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-fb7ec4f */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-472c730 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-ce85023 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-be3a342 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-420e0a5 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bca6d82 */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-308f04e */.boton-estilo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0071E3 0%, #25409E 50%, #1A2D6D 100%);
    background-size: 200% 200%;
    border: none;
    color: #fff;
    font-weight: 500;
    font-size: 1rem; /* usa rem para escalar con la pantalla */
    border-radius: 0.875rem; /* 14px */
    padding: 0.9em 2em; /* relativo al tamaño de fuente */
    letter-spacing: 0.04em;
    box-shadow: 
        0 0.5rem 1.5rem rgba(0, 113, 227, 0.25),
        0 0.25rem 0.75rem rgba(0, 0, 0, 0.15),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    animation: gradient-breathe 8s ease-in-out infinite;
    z-index: 1;
    cursor: pointer;
    width: 100%; /* ocupa todo el ancho del contenedor */
    max-width: 300px; /* opcional, para no hacerlo gigante */
    display: inline-block;
    text-align: center;
}

.boton-estilo .button-text {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
    color: #fff !important;
}

/* Hover y animaciones siguen igual */
.boton-estilo::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.4) 50%,
        transparent 100%
    );
    filter: blur(3px);
    transform: skewX(-20deg);
    transition: all 0.6s ease;
    z-index: 1;
}

.boton-estilo:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 
        0 1.25rem 2.5rem rgba(0, 113, 227, 0.35),
        0 0.75rem 1.5rem rgba(0, 0, 0, 0.2),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.3);
    background-position: 100% 100%;
}

.boton-estilo:hover::before {
    animation: premium-shine 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.boton-estilo:active {
    transform: scale(0.98) translateY(-1px);
    transition-duration: 0.15s;
}

/* Animaciones */
@keyframes premium-shine {
    0% { left: -100%; opacity: 0.8; }
    20% { opacity: 1; }
    80% { opacity: 0.9; }
    100% { left: 150%; opacity: 0; }
}

@keyframes gradient-breathe {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* MEDIA QUERIES PARA MOVILES */
@media (max-width: 768px) {
    .boton-estilo {
        font-size: 0.9rem;
        padding: 0.75em 1.5em;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .boton-estilo {
        font-size: 0.85rem;
        padding: 0.6em 1em;
    }
}/* End custom CSS */