.elementor-293 .elementor-element.elementor-element-0617d88{--display:flex;--min-height:70vh;--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;--overlay-opacity:0.7;--overlay-mix-blend-mode:darken;--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-293 .elementor-element.elementor-element-0617d88:not(.elementor-motion-effects-element-type-background), .elementor-293 .elementor-element.elementor-element-0617d88 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://protegostudio.pl/wp-content/uploads/2026/01/masaze-mobilne-protego.webp");background-repeat:no-repeat;background-size:cover;}.elementor-293 .elementor-element.elementor-element-0617d88::before, .elementor-293 .elementor-element.elementor-element-0617d88 > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-0617d88 > .e-con-inner > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-0617d88 > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-0617d88 > .e-con-inner > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-0617d88 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#00000045;--background-overlay:'';}.elementor-293 .elementor-element.elementor-element-6c234f0{--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;--justify-content:center;}.elementor-293 .elementor-element.elementor-element-444f877{font-family:"Oswald", Sans-serif;font-size:14px;}.elementor-293 .elementor-element.elementor-element-5a2a046{text-align:start;}.elementor-293 .elementor-element.elementor-element-5a2a046 .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:45px;}.elementor-293 .elementor-element.elementor-element-68c616b{font-family:"Raleway", Sans-serif;font-size:18px;font-weight:500;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-c5c3196{--display:flex;--min-height:40vh;--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:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-293 .elementor-element.elementor-element-62fc153 > .elementor-widget-container{margin:0px 0px 10px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-62fc153{text-align:center;}.elementor-293 .elementor-element.elementor-element-62fc153 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:32px;font-weight:500;}.elementor-293 .elementor-element.elementor-element-62fc153 .elementor-heading-title a:hover, .elementor-293 .elementor-element.elementor-element-62fc153 .elementor-heading-title a:focus{color:#E7B472;}.elementor-293 .elementor-element.elementor-element-963655c{text-align:center;font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-963655c a:hover, .elementor-293 .elementor-element.elementor-element-963655c a:focus{color:#74FFE8;}.elementor-293 .elementor-element.elementor-element-135f5f0{font-family:"Oswald", Sans-serif;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-135f5f0 a:hover, .elementor-293 .elementor-element.elementor-element-135f5f0 a:focus{color:#74FFE8;}.elementor-293 .elementor-element.elementor-element-2ab1c83{--display:flex;--min-height:100vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.4;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-293 .elementor-element.elementor-element-2ab1c83::before, .elementor-293 .elementor-element.elementor-element-2ab1c83 > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-2ab1c83 > .e-con-inner > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-2ab1c83 > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-2ab1c83 > .e-con-inner > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-2ab1c83 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(150deg, #000000 0%, #FFFFFF00 100%);}.elementor-293 .elementor-element.elementor-element-f92c9f6{--display:flex;--min-height:0vh;--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;}.elementor-293 .elementor-element.elementor-element-f92c9f6.e-con{--align-self:center;}.elementor-293 .elementor-element.elementor-element-1ce3239{--display:flex;--min-height:600px;--justify-content:space-between;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:1;--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-293 .elementor-element.elementor-element-1ce3239::before, .elementor-293 .elementor-element.elementor-element-1ce3239 > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-1ce3239 > .e-con-inner > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-1ce3239 > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-1ce3239 > .e-con-inner > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-1ce3239 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#13DAD2;--background-overlay:'';}.elementor-293 .elementor-element.elementor-element-1d5f3ff{--display:flex;--min-height:100vh;--justify-content:center;--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-293 .elementor-element.elementor-element-19883a3{--display:flex;--justify-content:center;}.elementor-293 .elementor-element.elementor-element-52c0fca > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-52c0fca .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:25px;font-weight:600;}.elementor-293 .elementor-element.elementor-element-443eaa1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-443eaa1 .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:25px;font-weight:600;}.elementor-293 .elementor-element.elementor-element-dc530d9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-dc530d9 .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:25px;font-weight:600;}.elementor-293 .elementor-element.elementor-element-731c71d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-731c71d .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:25px;font-weight:600;}.elementor-293 .elementor-element.elementor-element-59bc51e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-59bc51e .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:25px;font-weight:600;}.elementor-293 .elementor-element.elementor-element-0017c05{--display:flex;}.elementor-293 .elementor-element.elementor-element-de96510{column-gap:0px;font-family:"Raleway", Sans-serif;font-weight:400;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-f40c265{font-family:"Raleway", Sans-serif;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-3d12182{font-family:"Raleway", Sans-serif;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-4402051{font-family:"Raleway", Sans-serif;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-8ba06fe{font-family:"Raleway", Sans-serif;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-f5f9d27{--display:flex;}.elementor-293 .elementor-element.elementor-element-8c88c9e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-8c88c9e .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-293 .elementor-element.elementor-element-8c88c9e .elementor-button{font-family:"Poppins", Sans-serif;}.elementor-293 .elementor-element.elementor-element-380f688 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-380f688 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-293 .elementor-element.elementor-element-380f688 .elementor-button{font-family:"Poppins", Sans-serif;}.elementor-293 .elementor-element.elementor-element-8b39987 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-8b39987 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-293 .elementor-element.elementor-element-8b39987 .elementor-button{font-family:"Poppins", Sans-serif;}.elementor-293 .elementor-element.elementor-element-7b5de79 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-7b5de79 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-293 .elementor-element.elementor-element-7b5de79 .elementor-button{font-family:"Poppins", Sans-serif;}.elementor-293 .elementor-element.elementor-element-c786266 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-c786266 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-293 .elementor-element.elementor-element-c786266 .elementor-button{font-family:"Poppins", Sans-serif;}.elementor-293 .elementor-element.elementor-element-d0121cd{--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;}.elementor-293 .elementor-element.elementor-element-1c4ec21 > .elementor-widget-container{margin:0px 0px -30px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-1c4ec21.elementor-arrows-yes .elementor-main-swiper{width:calc( 1400px - 40px );}.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-main-swiper{width:1400px;}.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-main-swiper .swiper-slide{padding:20px 20px 25px 20px;}.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-swiper-button{font-size:20px;}.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial__text{color:#FFFFFF;font-family:"Raleway", Sans-serif;font-size:20px;line-height:1.3em;}.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial__name{color:#FFFFFF;font-family:"Raleway", Sans-serif;font-weight:600;}.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial__title{color:#E7B472;font-family:"Poppins", Sans-serif;font-size:12px;}.elementor-293 .elementor-element.elementor-element-611fa95{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-293 .elementor-element.elementor-element-eecf94a .elementor-button{fill:#676767;color:#676767;}.elementor-293 .elementor-element.elementor-element-eecf94a .elementor-button:hover, .elementor-293 .elementor-element.elementor-element-eecf94a .elementor-button:focus{color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-eecf94a .elementor-button:hover svg, .elementor-293 .elementor-element.elementor-element-eecf94a .elementor-button:focus svg{fill:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-1d33425 .elementor-button{fill:#676767;color:#676767;}.elementor-293 .elementor-element.elementor-element-1d33425 .elementor-button:hover, .elementor-293 .elementor-element.elementor-element-1d33425 .elementor-button:focus{color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-1d33425 .elementor-button:hover svg, .elementor-293 .elementor-element.elementor-element-1d33425 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-fdaad86{--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;}.elementor-293 .elementor-element.elementor-element-31818fa{--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;}.elementor-293 .elementor-element.elementor-element-7397828{text-align:center;}.elementor-293 .elementor-element.elementor-element-7397828 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:32px;font-weight:400;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-9b04a3a{--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-293 .elementor-element.elementor-element-7658ab3{--display:flex;--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-293 .elementor-element.elementor-element-d129632{text-align:center;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:300;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-223eb61{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap: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-293 .elementor-element.elementor-element-664d932{--display:flex;}.elementor-293 .elementor-element.elementor-element-c0a6b2e{--display:flex;}.elementor-293 .elementor-element.elementor-element-12f5d54{--display:flex;}.elementor-293 .elementor-element.elementor-element-83f5b15{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-d8df7e7{--display:flex;}.elementor-293 .elementor-element.elementor-element-9dd24fa{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-350d143{--display:flex;}.elementor-293 .elementor-element.elementor-element-51b5dfb.elementor-element{--align-self:center;}.elementor-293 .elementor-element.elementor-element-51b5dfb{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-48b97c5{--display:flex;}.elementor-293 .elementor-element.elementor-element-0fa526b{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-c33f145{--n-accordion-title-font-size:18px;--n-accordion-title-justify-content:initial;--n-accordion-title-flex-grow:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:#EAEFF7;--n-accordion-title-hover-color:#F6F9FF;--n-accordion-title-active-color:#FFFFFF;--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:#E9B971;--n-accordion-icon-hover-color:#E9B971;--n-accordion-icon-active-color:#E9B971;}:where( .elementor-293 .elementor-element.elementor-element-c33f145 > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Patrick Hand", Sans-serif;}.elementor-293 .elementor-element.elementor-element-85ad3bc{--n-accordion-title-font-size:18px;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:#F6C98B;--n-accordion-title-hover-color:#FFD6A0;--n-accordion-title-active-color:#FFD6A0;--n-accordion-icon-size:15px;}:where( .elementor-293 .elementor-element.elementor-element-85ad3bc > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Patrick Hand", Sans-serif;}:where( .elementor-293 .elementor-element.elementor-element-85ad3bc > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:solid;}.elementor-293 .elementor-element.elementor-element-b258d29{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-293 .elementor-element.elementor-element-49cc8c6{--display:flex;}.elementor-293 .elementor-element.elementor-element-4068d93{--display:flex;}.elementor-293 .elementor-element.elementor-element-3296beb{font-family:"Patrick Hand", Sans-serif;font-size:17px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-35d0f88{--display:flex;}.elementor-293 .elementor-element.elementor-element-15f61eb{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-fe39781{--display:flex;}.elementor-293 .elementor-element.elementor-element-f413553{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-1d5c129{--display:flex;}.elementor-293 .elementor-element.elementor-element-683d5a0{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-3bbddd4{--display:flex;}.elementor-293 .elementor-element.elementor-element-d77611b{font-family:"Patrick Hand", Sans-serif;font-size:17px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-490a446{--n-accordion-title-font-size:18px;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:#EAEFF7;--n-accordion-title-hover-color:#F6F9FF;--n-accordion-title-active-color:#FFFFFF;--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:#19CDBB;--n-accordion-icon-hover-color:#26E6D0;--n-accordion-icon-active-color:#5FF2E3;}:where( .elementor-293 .elementor-element.elementor-element-490a446 > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Patrick Hand", Sans-serif;}.elementor-293 .elementor-element.elementor-element-45793ae{--n-accordion-title-font-size:18px;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:#19CDBB;--n-accordion-title-hover-color:#26E6D0;--n-accordion-title-active-color:#5FF2E3;--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:#19CDBB;--n-accordion-icon-hover-color:#26E6D0;--n-accordion-icon-active-color:#5FF2E3;}:where( .elementor-293 .elementor-element.elementor-element-45793ae > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Patrick Hand", Sans-serif;font-weight:500;}.elementor-293 .elementor-element.elementor-element-e122822{--display:flex;--min-height:10vh;--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:center;border-style:none;--border-style:none;}.elementor-293 .elementor-element.elementor-element-99409b5{text-align:center;font-family:"Oswald", Sans-serif;font-size:17px;font-weight:400;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-99409b5 a:hover, .elementor-293 .elementor-element.elementor-element-99409b5 a:focus{color:#74FFE8;}.elementor-293 .elementor-element.elementor-element-7ae2e3d{--display:flex;--min-height:40vh;--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;--overlay-opacity:0.2;--margin-top:30px;--margin-bottom:-40px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-7ae2e3d:not(.elementor-motion-effects-element-type-background), .elementor-293 .elementor-element.elementor-element-7ae2e3d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://protegostudio.pl/wp-content/uploads/2026/02/Projekt-bez-nazwy-20.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-293 .elementor-element.elementor-element-7ae2e3d::before, .elementor-293 .elementor-element.elementor-element-7ae2e3d > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-7ae2e3d > .e-con-inner > .elementor-background-video-container::before, .elementor-293 .elementor-element.elementor-element-7ae2e3d > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-7ae2e3d > .e-con-inner > .elementor-background-slideshow::before, .elementor-293 .elementor-element.elementor-element-7ae2e3d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-293 .elementor-element.elementor-element-d20539e{--display:flex;--min-height:40vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-293 .elementor-element.elementor-element-b6cde34{--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;--justify-content:center;}.elementor-293 .elementor-element.elementor-element-9581bb9{text-align:start;}.elementor-293 .elementor-element.elementor-element-9581bb9 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:17px;font-weight:700;color:#74FFE8;}.elementor-293 .elementor-element.elementor-element-4dad8c9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-4dad8c9{text-align:start;font-family:"Poppins", Sans-serif;font-size:28px;font-weight:500;line-height:50px;color:#FFFFFF;}.elementor-293 .elementor-element.elementor-element-a3ef1be{--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;--justify-content:center;}.elementor-293 .elementor-element.elementor-element-6d01a53 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button{font-family:"Poppins", Sans-serif;}@media(min-width:768px){.elementor-293 .elementor-element.elementor-element-0617d88{--width:100%;}.elementor-293 .elementor-element.elementor-element-2ab1c83{--width:100%;}.elementor-293 .elementor-element.elementor-element-f92c9f6{--width:60%;}.elementor-293 .elementor-element.elementor-element-1ce3239{--width:30px;}.elementor-293 .elementor-element.elementor-element-0017c05{--width:100%;}.elementor-293 .elementor-element.elementor-element-d0121cd{--width:50%;}.elementor-293 .elementor-element.elementor-element-7658ab3{--content-width:100%;}.elementor-293 .elementor-element.elementor-element-664d932{--content-width:60%;}.elementor-293 .elementor-element.elementor-element-b258d29{--content-width:60%;}.elementor-293 .elementor-element.elementor-element-7ae2e3d{--width:100%;}.elementor-293 .elementor-element.elementor-element-b6cde34{--width:75%;}.elementor-293 .elementor-element.elementor-element-a3ef1be{--width:25%;}}@media(max-width:1068px) and (min-width:768px){.elementor-293 .elementor-element.elementor-element-f92c9f6{--width:100%;}.elementor-293 .elementor-element.elementor-element-1d5f3ff{--width:100%;}.elementor-293 .elementor-element.elementor-element-19883a3{--width:100%;}.elementor-293 .elementor-element.elementor-element-0017c05{--width:100%;}.elementor-293 .elementor-element.elementor-element-a3ef1be{--width:35%;}}@media(min-width:1069px){.elementor-293 .elementor-element.elementor-element-0617d88:not(.elementor-motion-effects-element-type-background), .elementor-293 .elementor-element.elementor-element-0617d88 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}.elementor-293 .elementor-element.elementor-element-7ae2e3d:not(.elementor-motion-effects-element-type-background), .elementor-293 .elementor-element.elementor-element-7ae2e3d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}@media(max-width:1068px){.elementor-293 .elementor-element.elementor-element-0617d88{--min-height:35vh;}.elementor-293 .elementor-element.elementor-element-6c234f0{--min-height:35vh;}.elementor-293 .elementor-element.elementor-element-5a2a046 .elementor-heading-title{font-size:30px;}.elementor-293 .elementor-element.elementor-element-68c616b{font-size:17px;}.elementor-293 .elementor-element.elementor-element-c5c3196{--min-height:20rem;--justify-content:center;}.elementor-293 .elementor-element.elementor-element-62fc153 .elementor-heading-title{font-size:22px;}.elementor-293 .elementor-element.elementor-element-963655c{font-size:16px;}.elementor-293 .elementor-element.elementor-element-2ab1c83{--min-height:60vh;}.elementor-293 .elementor-element.elementor-element-f92c9f6{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-293 .elementor-element.elementor-element-1ce3239{--min-height:600px;--justify-content:space-between;}.elementor-293 .elementor-element.elementor-element-1d5f3ff{--min-height:65vh;--justify-content:center;--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-293 .elementor-element.elementor-element-19883a3{--justify-content:center;}.elementor-293 .elementor-element.elementor-element-52c0fca > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-52c0fca .elementor-heading-title{font-size:20px;}.elementor-293 .elementor-element.elementor-element-443eaa1 .elementor-heading-title{font-size:20px;}.elementor-293 .elementor-element.elementor-element-dc530d9 .elementor-heading-title{font-size:20px;}.elementor-293 .elementor-element.elementor-element-731c71d .elementor-heading-title{font-size:20px;}.elementor-293 .elementor-element.elementor-element-59bc51e .elementor-heading-title{font-size:20px;}.elementor-293 .elementor-element.elementor-element-de96510{font-size:14px;}.elementor-293 .elementor-element.elementor-element-f40c265{font-size:14px;}.elementor-293 .elementor-element.elementor-element-3d12182{font-size:14px;}.elementor-293 .elementor-element.elementor-element-4402051{font-size:14px;}.elementor-293 .elementor-element.elementor-element-8ba06fe{font-size:14px;}.elementor-293 .elementor-element.elementor-element-8c88c9e .elementor-button{font-size:13px;}.elementor-293 .elementor-element.elementor-element-1c4ec21 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-eecf94a .elementor-button{padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-1d33425 .elementor-button{padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-7397828 .elementor-heading-title{font-size:26px;}.elementor-293 .elementor-element.elementor-element-7ae2e3d{--min-height:20vh;}.elementor-293 .elementor-element.elementor-element-d20539e{--min-height:20vh;}.elementor-293 .elementor-element.elementor-element-9581bb9 .elementor-heading-title{font-size:15px;}.elementor-293 .elementor-element.elementor-element-4dad8c9{font-size:21px;}.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button{font-size:14px;}}@media(max-width:767px){.elementor-293 .elementor-element.elementor-element-0617d88{--min-height:40vh;}.elementor-293 .elementor-element.elementor-element-0617d88:not(.elementor-motion-effects-element-type-background), .elementor-293 .elementor-element.elementor-element-0617d88 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-293 .elementor-element.elementor-element-5a2a046 .elementor-heading-title{font-size:20px;}.elementor-293 .elementor-element.elementor-element-68c616b > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-68c616b{font-size:12px;}.elementor-293 .elementor-element.elementor-element-c5c3196{--min-height:32vh;--gap:17px 17px;--row-gap:17px;--column-gap:17px;}.elementor-293 .elementor-element.elementor-element-62fc153 .elementor-heading-title{font-size:16px;}.elementor-293 .elementor-element.elementor-element-963655c{font-size:13px;}.elementor-293 .elementor-element.elementor-element-135f5f0{text-align:center;font-size:12px;}.elementor-293 .elementor-element.elementor-element-2ab1c83{--min-height:65vh;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-2ab1c83 .elementor-background-slideshow__slide__image{background-size:contain;background-position:center center;}.elementor-293 .elementor-element.elementor-element-f92c9f6{--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;}.elementor-293 .elementor-element.elementor-element-1ce3239{--width:100%;--min-height:5vh;--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-evenly;--align-items:center;}.elementor-293 .elementor-element.elementor-element-1d5f3ff{--min-height:70vh;--justify-content:center;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-de96510{font-size:14px;}.elementor-293 .elementor-element.elementor-element-f40c265{font-size:14px;}.elementor-293 .elementor-element.elementor-element-3d12182{font-size:14px;}.elementor-293 .elementor-element.elementor-element-4402051{font-size:14px;}.elementor-293 .elementor-element.elementor-element-8ba06fe{font-size:14px;}.elementor-293 .elementor-element.elementor-element-f5f9d27{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-293 .elementor-element.elementor-element-8c88c9e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-8c88c9e .elementor-button{font-size:12px;}.elementor-293 .elementor-element.elementor-element-380f688 .elementor-button{font-size:12px;}.elementor-293 .elementor-element.elementor-element-8b39987 .elementor-button{font-size:11px;}.elementor-293 .elementor-element.elementor-element-7b5de79 .elementor-button{font-size:12px;}.elementor-293 .elementor-element.elementor-element-c786266 .elementor-button{font-size:12px;}.elementor-293 .elementor-element.elementor-element-d0121cd{--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;}.elementor-293 .elementor-element.elementor-element-1c4ec21 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-611fa95{--width:100%;--min-height:0vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-293 .elementor-element.elementor-element-eecf94a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-1d33425 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-7397828 .elementor-heading-title{font-size:17px;}.elementor-293 .elementor-element.elementor-element-d129632{font-size:14px;}.elementor-293 .elementor-element.elementor-element-99409b5{font-size:14px;}.elementor-293 .elementor-element.elementor-element-7ae2e3d{--min-height:35vh;--margin-top:30px;--margin-bottom:-40px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-293 .elementor-element.elementor-element-d20539e{--min-height:35vh;--justify-content:space-evenly;}.elementor-293 .elementor-element.elementor-element-b6cde34{--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:space-evenly;}.elementor-293 .elementor-element.elementor-element-9581bb9 .elementor-heading-title{font-size:13px;}.elementor-293 .elementor-element.elementor-element-4dad8c9 > .elementor-widget-container{margin:0px 0px -15px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-4dad8c9{font-size:16px;line-height:1.5em;}.elementor-293 .elementor-element.elementor-element-a3ef1be{--width:100%;--min-height:0vh;--justify-content:space-evenly;}.elementor-293 .elementor-element.elementor-element-a3ef1be.e-con{--align-self:center;}.elementor-293 .elementor-element.elementor-element-6d01a53 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button{font-size:12px;}}/* Start custom CSS for text-editor, class: .elementor-element-444f877 *//* =========================
   PROTEGO – BREADCRUMB (FINAL 1:1)
   Hover = #00CFA6 (jasny), bez underline
   Typografia dziedziczona z Elementora
========================= */

/* Kontener */
.elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs{
  display:flex;
  align-items:center;
  flex-wrap: wrap;
  gap:10px;
  margin:0 0 10px 0;
  line-height: 1.2;

  /* ważne: nie przygaszamy całego kontenera,
     bo wtedy hover turkus robi się optycznie ciemniejszy */
  opacity: 1 !important;
}

/* Dziedziczenie typografii z Elementora */
.elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs,
.elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs *{
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

/* Linki – bazowo lekko przygaszone (jak w Twoim kodzie) */
.elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs a{
  color: rgba(255,255,255,.78) !important;
  text-decoration: none !important;
  transition: color .15s ease;
}

/* Hover – dokładnie Twój turkus, bez podkreślenia */
.elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs a:hover{
  color: #00CFA6 !important;
  text-decoration: none !important;
}

/* Separator */
.elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs__sep{
  color: rgba(255,255,255,.35) !important;
}

/* Aktualna strona */
.elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs__current{
  color: rgba(255,255,255,.60) !important;
  opacity: 1 !important;
}

/* Mobile */
@media (max-width: 767px){
  .elementor-293 .elementor-element.elementor-element-444f877 .protego-crumbs{
    font-size: 12px;
    gap: 8px;
    margin-bottom: 8px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-68c616b */.protego-script{
  font-family: "Allura", cursive !important;
  font-weight: 400 !important;
}

.protego-meta{
  font-family: inherit; /* zostaje font z Elementora */
  font-weight: inherit;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-62fc153 *//* Płynne przewijanie dla kotwic */
html { scroll-behavior: smooth; }

/* Jeżeli masz sticky header – odsuń punkt zatrzymania kotwicy, żeby nic nie zasłaniało */
#masaze-slider { scroll-margin-top: clamp(70px, 9vh, 120px); }

/* Nagłówek jako link: bez podkreślenia, kolor z dziedziczenia, pełna klikalność */
.bridge-card.bridge-card--diag-heading .elementor-widget-heading a.elementor-heading-title{
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  display: inline-block; /* zachowuje nasze rogi */
}

/* Rogi nie mogą łapać klików */
.bridge-card.bridge-card--diag-heading .elementor-widget-heading .elementor-heading-title::before,
.bridge-card.bridge-card--diag-heading .elementor-widget-heading .elementor-heading-title::after{
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1ce3239 */.elementor-293 .elementor-element.elementor-element-1ce3239{
    --dot-size: 23px;
    --line-color: #E7B472;
    --dot-color: #E7B472;
    --dot-color-active: #E7B472;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
}
.elementor-293 .elementor-element.elementor-element-1ce3239{
    height: 80vh;
    height: var(--min-height);
    max-height: 80vh;
    min-height: 0 !important;
}
.elementor-293 .elementor-element.elementor-element-1ce3239 .dot{
    height: var(--dot-size);
    width: var(--dot-size);
    background: var(--dot-color);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transform: scale(0.3);
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}
.elementor-293 .elementor-element.elementor-element-1ce3239 .dot-number{
    opacity: 0;
    transition: all 0.3s ease-in-out;
}
.elementor-293 .elementor-element.elementor-element-1ce3239 .dot.active{
    transform: scale(1);
    background: var(--dot-color-active);
}
.elementor-293 .elementor-element.elementor-element-1ce3239 .dot.active .dot-number{
    opacity: 1;
}
.elementor-293 .elementor-element.elementor-element-1ce3239:before{
    content: "";
    position: absolute;
    top: 50%;
    height: calc(100% - 20px);
    max-height: 90vh;
    width: 1px;
    background: var(--line-color);
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

@media (max-width: 767px){
.elementor-293 .elementor-element.elementor-element-1ce3239{
    transform: translateX(0%);
    flex-wrap: nowrap !important;
}
.elementor-293 .elementor-element.elementor-element-1ce3239:before {
    width: calc(84% - 20px);
    height: 1px;

}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-19883a3 *//* ===========================
   1) Warstwy tła i elementów
   =========================== */
.reboot-slider .reboot-slider-background { 
  position: absolute; 
  inset: 0;
  z-index: 1;
}
.reboot-slider > .elementor-element,
.reboot-slider .reboot-side-slider,
.reboot-slider .reboot-bar,
.reboot-slider .reboot-slider-left,
.reboot-slider .reboot-slider-right {
  position: relative;
  z-index: 3; /* ponad tłem */
}

/* Prawa karuzela – klikalność i miniatury */
.reboot-side-slider,
.reboot-side-slider .swiper,
.reboot-side-slider .swiper-container,
.reboot-side-slider .swiper-wrapper,
.reboot-side-slider .swiper-slide { pointer-events: auto; }
.reboot-side-slider .swiper-wrapper { overflow: visible; }

/* ===========================
   2) Lewa kolumna – układ bazowy
   =========================== */
.text-content-background .reboot-changing-widget {
  position: relative;
  width: 100%;
}

/* Wszystkie widgety po lewej w normalnym flow */
.text-content-background .reboot-changing-widget .elementor-widget {
  position: static !important;
  transform: none !important;
  margin: 0;
  display: none; /* JS steruje show/hide */
}

/* ===========================
   3) Mikro-timing „oddechu” (H=0ms, T=+40/50/60ms, CTA=+60/70/80ms)
   =========================== */
.reboot-slider {
  --fade-dur: 320ms;
  --fade-h-delay: 0ms;
  --fade-t-delay: 60ms;
  --fade-btn-delay: 80ms;
}

/* HEADINGS + TEXT + CTA: fade bazowy (opacity) — bez naruszania layoutu */
.text-content-background .reboot-changing-widget.group-headings .elementor-widget,
.text-content-background .reboot-changing-widget.group-text     .elementor-widget,
.text-content-background .reboot-changing-widget.group-buttons  .elementor-widget {
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--fade-dur) ease, visibility 0s var(--fade-dur);
}

/* stan „przygotowania” do wejścia — pokazany, ale z opacity:0 (brak animacji) */
.text-content-background .reboot-changing-widget .elementor-widget.will-fade-in {
  opacity: 0;
  visibility: visible;
  transition: none;
}

/* AKTYWNY: pojawia się z opóźnieniem zależnym od grupy */
.text-content-background .reboot-changing-widget.group-headings .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-h-delay);
}
.text-content-background .reboot-changing-widget.group-text .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-t-delay);
}
.text-content-background .reboot-changing-widget.group-buttons .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-btn-delay);
}

/* ===========================
   4) CTA – wyrównanie i „twarde” style przycisku
   =========================== */
.text-content-background .reboot-changing-widget.button-animation-container .elementor-widget-button { text-align: left; }
.text-content-background .reboot-changing-widget.button-animation-container .elementor-button-wrapper { display: inline-block; }
.text-content-background .reboot-changing-widget.button-animation-container .elementor-button {
  margin: 0; transform: none !important; display: inline-flex;
}

/* ===========================
   5) Reduced motion
   =========================== */
@media (prefers-reduced-motion: reduce) {
  .reboot-slider {
    --fade-dur: 1ms;
    --fade-h-delay: 0ms;
    --fade-t-delay: 0ms;
    --fade-btn-delay: 0ms;
  }
  .reboot-slider * { transition: none !important; animation: none !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0017c05 *//* ===========================
   1) Warstwy tła i elementów
   =========================== */
.reboot-slider .reboot-slider-background { 
  position: absolute; 
  inset: 0;
  z-index: 1;
}
.reboot-slider > .elementor-element,
.reboot-slider .reboot-side-slider,
.reboot-slider .reboot-bar,
.reboot-slider .reboot-slider-left,
.reboot-slider .reboot-slider-right {
  position: relative;
  z-index: 3; /* ponad tłem */
}

/* Prawa karuzela – klikalność i miniatury */
.reboot-side-slider,
.reboot-side-slider .swiper,
.reboot-side-slider .swiper-container,
.reboot-side-slider .swiper-wrapper,
.reboot-side-slider .swiper-slide { pointer-events: auto; }
.reboot-side-slider .swiper-wrapper { overflow: visible; }

/* ===========================
   2) Lewa kolumna – układ bazowy
   =========================== */
.text-content-background .reboot-changing-widget {
  position: relative;
  width: 100%;
}

/* Wszystkie widgety po lewej w normalnym flow */
.text-content-background .reboot-changing-widget .elementor-widget {
  position: static !important;
  transform: none !important;
  margin: 0;
  display: none; /* JS steruje show/hide */
}

/* ===========================
   3) Mikro-timing „oddechu” (H=0ms, T=+40/50/60ms, CTA=+60/70/80ms)
   =========================== */
.reboot-slider {
  --fade-dur: 320ms;
  --fade-h-delay: 0ms;
  --fade-t-delay: 60ms;
  --fade-btn-delay: 80ms;
}

/* HEADINGS + TEXT + CTA: fade bazowy (opacity) — bez naruszania layoutu */
.text-content-background .reboot-changing-widget.group-headings .elementor-widget,
.text-content-background .reboot-changing-widget.group-text     .elementor-widget,
.text-content-background .reboot-changing-widget.group-buttons  .elementor-widget {
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--fade-dur) ease, visibility 0s var(--fade-dur);
}

/* stan „przygotowania” do wejścia — pokazany, ale z opacity:0 (brak animacji) */
.text-content-background .reboot-changing-widget .elementor-widget.will-fade-in {
  opacity: 0;
  visibility: visible;
  transition: none;
}

/* AKTYWNY: pojawia się z opóźnieniem zależnym od grupy */
.text-content-background .reboot-changing-widget.group-headings .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-h-delay);
}
.text-content-background .reboot-changing-widget.group-text .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-t-delay);
}
.text-content-background .reboot-changing-widget.group-buttons .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-btn-delay);
}

/* ===========================
   4) CTA – wyrównanie i „twarde” style przycisku
   =========================== */
.text-content-background .reboot-changing-widget.button-animation-container .elementor-widget-button { text-align: left; }
.text-content-background .reboot-changing-widget.button-animation-container .elementor-button-wrapper { display: inline-block; }
.text-content-background .reboot-changing-widget.button-animation-container .elementor-button {
  margin: 0; transform: none !important; display: inline-flex;
}

/* ===========================
   5) Reduced motion
   =========================== */
@media (prefers-reduced-motion: reduce) {
  .reboot-slider {
    --fade-dur: 1ms;
    --fade-h-delay: 0ms;
    --fade-t-delay: 0ms;
    --fade-btn-delay: 0ms;
  }
  .reboot-slider * { transition: none !important; animation: none !important; }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8c88c9e *//* === PRZYCISK HYBRYDOWY: Wersja finalna z poprawkami pozycji i animacji === */

/* --- NOWA SEKcja: Logika widoczności dla wielu przycisków --- */

/* Domyślnie ukrywamy WSZYSTKIE przyciski płynną animacją, ale BEZ zmiany ich pozycji */
.przycisk-dynamiczny {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

/* Pokazujemy TYLKO ten przycisk, który jest aktywny (ma klasę nadaną przez JS) */
.przycisk-dynamiczny.currentUp,
.przycisk-dynamiczny.currentDown {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease;
}


/* --- SEKCJA STYLU I ANIMACJI (Oryginalny wygląd) --- */

/* --- 1. GŁÓWNY LINK PRZYCISKU (<a>): Agresywny reset wyglądu --- */
.przycisk-dynamiczny .elementor-button-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-shadow: none !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    padding: 14px 30px !important;
    position: relative;
    overflow: hidden;
    z-index: 1;
    /* Usunięto transition, aby nie kolidował z animacją cienia z ::before */
}

/* Upewniamy się, że tekst i ikona są zawsze na wierzchu */
.przycisk-dynamiczny .elementor-button-text,
.przycisk-dynamiczny .elementor-button-icon {
    position: relative;
    z-index: 2;
}

/* --- 2. WIDOCZNY PRZYCISK: Zbudowany za pomocą pseudo-elementu ::before --- */
.przycisk-dynamiczny .elementor-button-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.25);
    border: 2px solid #00D9C0;
    box-shadow: 0 3px 0 0 transparent;
    border-radius: inherit;
    z-index: 0;
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

/* --- 3. ANIMACJA POŁYSKU: Zbudowana za pomocą pseudo-elementu ::after --- */
.przycisk-dynamiczny .elementor-button-link::after {
    content: '';
    position: absolute;
    top: 0;
    width: 75%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transform: skewX(-25deg);
    left: -100%;
    transition: left 0.8s ease;
    z-index: 1;
}

/* --- 4. EFEKTY HOVER: Łączymy wszystko w całość --- */

/* Usunięto unoszenie przycisku, aby uniknąć przycinania */
.przycisk-dynamiczny .elementor-button-link:hover {
    /* transform: translateY(-3px); - USUNIĘTE */
}

.przycisk-dynamiczny .elementor-button-link:hover::before {
    border-color: #8A2BE2;
    box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.przycisk-dynamiczny .elementor-button-link:hover::after {
    left: 150%;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-380f688 *//* === PRZYCISK HYBRYDOWY: Wersja finalna z poprawkami pozycji i animacji === */

/* --- NOWA SEKcja: Logika widoczności dla wielu przycisków --- */

/* Domyślnie ukrywamy WSZYSTKIE przyciski płynną animacją, ale BEZ zmiany ich pozycji */
.przycisk-dynamiczny {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

/* Pokazujemy TYLKO ten przycisk, który jest aktywny (ma klasę nadaną przez JS) */
.przycisk-dynamiczny.currentUp,
.przycisk-dynamiczny.currentDown {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease;
}


/* --- SEKCJA STYLU I ANIMACJI (Oryginalny wygląd) --- */

/* --- 1. GŁÓWNY LINK PRZYCISKU (<a>): Agresywny reset wyglądu --- */
.przycisk-dynamiczny .elementor-button-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-shadow: none !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    padding: 14px 30px !important;
    position: relative;
    overflow: hidden;
    z-index: 1;
    /* Usunięto transition, aby nie kolidował z animacją cienia z ::before */
}

/* Upewniamy się, że tekst i ikona są zawsze na wierzchu */
.przycisk-dynamiczny .elementor-button-text,
.przycisk-dynamiczny .elementor-button-icon {
    position: relative;
    z-index: 2;
}

/* --- 2. WIDOCZNY PRZYCISK: Zbudowany za pomocą pseudo-elementu ::before --- */
.przycisk-dynamiczny .elementor-button-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.25);
    border: 2px solid #00D9C0;
    box-shadow: 0 3px 0 0 transparent;
    border-radius: inherit;
    z-index: 0;
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

/* --- 3. ANIMACJA POŁYSKU: Zbudowana za pomocą pseudo-elementu ::after --- */
.przycisk-dynamiczny .elementor-button-link::after {
    content: '';
    position: absolute;
    top: 0;
    width: 75%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transform: skewX(-25deg);
    left: -100%;
    transition: left 0.8s ease;
    z-index: 1;
}

/* --- 4. EFEKTY HOVER: Łączymy wszystko w całość --- */

/* Usunięto unoszenie przycisku, aby uniknąć przycinania */
.przycisk-dynamiczny .elementor-button-link:hover {
    /* transform: translateY(-3px); - USUNIĘTE */
}

.przycisk-dynamiczny .elementor-button-link:hover::before {
    border-color: #8A2BE2;
    box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.przycisk-dynamiczny .elementor-button-link:hover::after {
    left: 150%;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8b39987 *//* === PRZYCISK HYBRYDOWY: Wersja finalna z poprawkami pozycji i animacji === */

/* --- NOWA SEKcja: Logika widoczności dla wielu przycisków --- */

/* Domyślnie ukrywamy WSZYSTKIE przyciski płynną animacją, ale BEZ zmiany ich pozycji */
.przycisk-dynamiczny {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

/* Pokazujemy TYLKO ten przycisk, który jest aktywny (ma klasę nadaną przez JS) */
.przycisk-dynamiczny.currentUp,
.przycisk-dynamiczny.currentDown {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease;
}


/* --- SEKCJA STYLU I ANIMACJI (Oryginalny wygląd) --- */

/* --- 1. GŁÓWNY LINK PRZYCISKU (<a>): Agresywny reset wyglądu --- */
.przycisk-dynamiczny .elementor-button-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-shadow: none !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    padding: 14px 30px !important;
    position: relative;
    overflow: hidden;
    z-index: 1;
    /* Usunięto transition, aby nie kolidował z animacją cienia z ::before */
}

/* Upewniamy się, że tekst i ikona są zawsze na wierzchu */
.przycisk-dynamiczny .elementor-button-text,
.przycisk-dynamiczny .elementor-button-icon {
    position: relative;
    z-index: 2;
}

/* --- 2. WIDOCZNY PRZYCISK: Zbudowany za pomocą pseudo-elementu ::before --- */
.przycisk-dynamiczny .elementor-button-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.25);
    border: 2px solid #00D9C0;
    box-shadow: 0 3px 0 0 transparent;
    border-radius: inherit;
    z-index: 0;
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

/* --- 3. ANIMACJA POŁYSKU: Zbudowana za pomocą pseudo-elementu ::after --- */
.przycisk-dynamiczny .elementor-button-link::after {
    content: '';
    position: absolute;
    top: 0;
    width: 75%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transform: skewX(-25deg);
    left: -100%;
    transition: left 0.8s ease;
    z-index: 1;
}

/* --- 4. EFEKTY HOVER: Łączymy wszystko w całość --- */

/* Usunięto unoszenie przycisku, aby uniknąć przycinania */
.przycisk-dynamiczny .elementor-button-link:hover {
    /* transform: translateY(-3px); - USUNIĘTE */
}

.przycisk-dynamiczny .elementor-button-link:hover::before {
    border-color: #8A2BE2;
    box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.przycisk-dynamiczny .elementor-button-link:hover::after {
    left: 150%;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7b5de79 *//* === PRZYCISK HYBRYDOWY: Wersja finalna z poprawkami pozycji i animacji === */

/* --- NOWA SEKcja: Logika widoczności dla wielu przycisków --- */

/* Domyślnie ukrywamy WSZYSTKIE przyciski płynną animacją, ale BEZ zmiany ich pozycji */
.przycisk-dynamiczny {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

/* Pokazujemy TYLKO ten przycisk, który jest aktywny (ma klasę nadaną przez JS) */
.przycisk-dynamiczny.currentUp,
.przycisk-dynamiczny.currentDown {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease;
}


/* --- SEKCJA STYLU I ANIMACJI (Oryginalny wygląd) --- */

/* --- 1. GŁÓWNY LINK PRZYCISKU (<a>): Agresywny reset wyglądu --- */
.przycisk-dynamiczny .elementor-button-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-shadow: none !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    padding: 14px 30px !important;
    position: relative;
    overflow: hidden;
    z-index: 1;
    /* Usunięto transition, aby nie kolidował z animacją cienia z ::before */
}

/* Upewniamy się, że tekst i ikona są zawsze na wierzchu */
.przycisk-dynamiczny .elementor-button-text,
.przycisk-dynamiczny .elementor-button-icon {
    position: relative;
    z-index: 2;
}

/* --- 2. WIDOCZNY PRZYCISK: Zbudowany za pomocą pseudo-elementu ::before --- */
.przycisk-dynamiczny .elementor-button-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.25);
    border: 2px solid #00D9C0;
    box-shadow: 0 3px 0 0 transparent;
    border-radius: inherit;
    z-index: 0;
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

/* --- 3. ANIMACJA POŁYSKU: Zbudowana za pomocą pseudo-elementu ::after --- */
.przycisk-dynamiczny .elementor-button-link::after {
    content: '';
    position: absolute;
    top: 0;
    width: 75%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transform: skewX(-25deg);
    left: -100%;
    transition: left 0.8s ease;
    z-index: 1;
}

/* --- 4. EFEKTY HOVER: Łączymy wszystko w całość --- */

/* Usunięto unoszenie przycisku, aby uniknąć przycinania */
.przycisk-dynamiczny .elementor-button-link:hover {
    /* transform: translateY(-3px); - USUNIĘTE */
}

.przycisk-dynamiczny .elementor-button-link:hover::before {
    border-color: #8A2BE2;
    box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.przycisk-dynamiczny .elementor-button-link:hover::after {
    left: 150%;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-c786266 *//* === PRZYCISK HYBRYDOWY: Wersja finalna z poprawkami pozycji i animacji === */

/* --- NOWA SEKcja: Logika widoczności dla wielu przycisków --- */

/* Domyślnie ukrywamy WSZYSTKIE przyciski płynną animacją, ale BEZ zmiany ich pozycji */
.przycisk-dynamiczny {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
}

/* Pokazujemy TYLKO ten przycisk, który jest aktywny (ma klasę nadaną przez JS) */
.przycisk-dynamiczny.currentUp,
.przycisk-dynamiczny.currentDown {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.4s ease;
}


/* --- SEKCJA STYLU I ANIMACJI (Oryginalny wygląd) --- */

/* --- 1. GŁÓWNY LINK PRZYCISKU (<a>): Agresywny reset wyglądu --- */
.przycisk-dynamiczny .elementor-button-link {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-shadow: none !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    padding: 14px 30px !important;
    position: relative;
    overflow: hidden;
    z-index: 1;
    /* Usunięto transition, aby nie kolidował z animacją cienia z ::before */
}

/* Upewniamy się, że tekst i ikona są zawsze na wierzchu */
.przycisk-dynamiczny .elementor-button-text,
.przycisk-dynamiczny .elementor-button-icon {
    position: relative;
    z-index: 2;
}

/* --- 2. WIDOCZNY PRZYCISK: Zbudowany za pomocą pseudo-elementu ::before --- */
.przycisk-dynamiczny .elementor-button-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-color: rgba(0,0,0,0.25);
    border: 2px solid #00D9C0;
    box-shadow: 0 3px 0 0 transparent;
    border-radius: inherit;
    z-index: 0;
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

/* --- 3. ANIMACJA POŁYSKU: Zbudowana za pomocą pseudo-elementu ::after --- */
.przycisk-dynamiczny .elementor-button-link::after {
    content: '';
    position: absolute;
    top: 0;
    width: 75%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transform: skewX(-25deg);
    left: -100%;
    transition: left 0.8s ease;
    z-index: 1;
}

/* --- 4. EFEKTY HOVER: Łączymy wszystko w całość --- */

/* Usunięto unoszenie przycisku, aby uniknąć przycinania */
.przycisk-dynamiczny .elementor-button-link:hover {
    /* transform: translateY(-3px); - USUNIĘTE */
}

.przycisk-dynamiczny .elementor-button-link:hover::before {
    border-color: #8A2BE2;
    box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}

.przycisk-dynamiczny .elementor-button-link:hover::after {
    left: 150%;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f5f9d27 *//* ===========================
   1) Warstwy tła i elementów
   =========================== */
.reboot-slider .reboot-slider-background { 
  position: absolute; 
  inset: 0;
  z-index: 1;
}
.reboot-slider > .elementor-element,
.reboot-slider .reboot-side-slider,
.reboot-slider .reboot-bar,
.reboot-slider .reboot-slider-left,
.reboot-slider .reboot-slider-right {
  position: relative;
  z-index: 3; /* ponad tłem */
}

/* Prawa karuzela – klikalność i miniatury */
.reboot-side-slider,
.reboot-side-slider .swiper,
.reboot-side-slider .swiper-container,
.reboot-side-slider .swiper-wrapper,
.reboot-side-slider .swiper-slide { pointer-events: auto; }
.reboot-side-slider .swiper-wrapper { overflow: visible; }

/* ===========================
   2) Lewa kolumna – układ bazowy
   =========================== */
.text-content-background .reboot-changing-widget {
  position: relative;
  width: 100%;
}

/* Wszystkie widgety po lewej w normalnym flow */
.text-content-background .reboot-changing-widget .elementor-widget {
  position: static !important;
  transform: none !important;
  margin: 0;
  display: none; /* JS steruje show/hide */
}

/* ===========================
   3) Mikro-timing „oddechu” (H=0ms, T=+40/50/60ms, CTA=+60/70/80ms)
   =========================== */
.reboot-slider {
  --fade-dur: 320ms;
  --fade-h-delay: 0ms;
  --fade-t-delay: 60ms;
  --fade-btn-delay: 80ms;
}

/* HEADINGS + TEXT + CTA: fade bazowy (opacity) — bez naruszania layoutu */
.text-content-background .reboot-changing-widget.group-headings .elementor-widget,
.text-content-background .reboot-changing-widget.group-text     .elementor-widget,
.text-content-background .reboot-changing-widget.group-buttons  .elementor-widget {
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--fade-dur) ease, visibility 0s var(--fade-dur);
}

/* stan „przygotowania” do wejścia — pokazany, ale z opacity:0 (brak animacji) */
.text-content-background .reboot-changing-widget .elementor-widget.will-fade-in {
  opacity: 0;
  visibility: visible;
  transition: none;
}

/* AKTYWNY: pojawia się z opóźnieniem zależnym od grupy */
.text-content-background .reboot-changing-widget.group-headings .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-h-delay);
}
.text-content-background .reboot-changing-widget.group-text .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-t-delay);
}
.text-content-background .reboot-changing-widget.group-buttons .elementor-widget.is-active {
  opacity: 1; visibility: visible; transition-delay: var(--fade-btn-delay);
}

/* ===========================
   4) CTA – wyrównanie i „twarde” style przycisku
   =========================== */
.text-content-background .reboot-changing-widget.button-animation-container .elementor-widget-button { text-align: left; }
.text-content-background .reboot-changing-widget.button-animation-container .elementor-button-wrapper { display: inline-block; }
.text-content-background .reboot-changing-widget.button-animation-container .elementor-button {
  margin: 0; transform: none !important; display: inline-flex;
}

/* ===========================
   5) Reduced motion
   =========================== */
@media (prefers-reduced-motion: reduce) {
  .reboot-slider {
    --fade-dur: 1ms;
    --fade-h-delay: 0ms;
    --fade-t-delay: 0ms;
    --fade-btn-delay: 0ms;
  }
  .reboot-slider * { transition: none !important; animation: none !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1d5f3ff */@media (max-width: 1750px) and (min-width: 1381px){
.elementor-293 .elementor-element.elementor-element-1d5f3ff{
    padding-left: 8%;
    padding-right: 12%;
}
}
@media (max-width: 1380px) and (min-width: 768px){
.elementor-293 .elementor-element.elementor-element-1d5f3ff{
    padding-left: 0.5%;
    padding-right: 5.5%;
}
}

/* ======================================================= */
/* === FINALNE TŁO – dopasowane do wysokości treści ===   */
/* === (z delikatniejszym blurem)                      === */
/* ======================================================= */

/* Krok 1: Styl tła i wymiary (szerokość kontrolujesz max-width) */
.elementor-293 .elementor-element.elementor-element-1d5f3ff {
  /* szerokość bloku tła */
  width: 100%;
  max-width: 680px;

  /* wygląd tła (lekko ciemniejsza „tinta” + subtelny blur) */
  background-color: rgba(0, 0, 0, 0.58); /* było 0.65 */
  border-radius: 12px;
  box-sizing: border-box;

  /* odstępy wewnętrzne */
  padding: 28px 32px 32px; /* top | left/right | bottom */

  /* delikatniejszy blur */
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);

  /* KLUCZ: nie rozciągaj na cały rodzic */
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto;
  align-self: flex-start;

  transition: background-color .3s ease, padding .3s ease;
}

/* Krok 2: Wewnętrzna organizacja – kolumna bez centrowania w pionie */
.elementor-293 .elementor-element.elementor-element-1d5f3ff > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  gap: 12px;
}

/* Krok 3: Drobne responsywne korekty paddingów */
@media (max-width: 767px) {
  .elementor-293 .elementor-element.elementor-element-1d5f3ff {
    padding: 20px 20px 24px;
    max-width: 100%;
    /* na telefonie jeszcze subtelniej */
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }
}

/* (Opcjonalnie) wyłączenie wpływu nadrzędnego flexa */
.elementor-293 .elementor-element.elementor-element-1d5f3ff { align-content: flex-start !important; }

/* === Tablet fix: 768–1366 px (oddech od miniatur) === */
@media (min-width: 768px) and (max-width: 1366px) {
  .elementor-293 .elementor-element.elementor-element-1d5f3ff {
    max-width: clamp(480px, 44vw, 600px);
    margin-right: clamp(16px, 2.5vw, 28px);
    padding: 24px 28px 28px;
    /* na tablecie też subtelnie: */
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
  }
}

/* Fallback: gdy przeglądarka nie wspiera backdrop-filter – ciut mocniejsza tinta zamiast blur */
@supports not (backdrop-filter: blur(1px)) {
  .elementor-293 .elementor-element.elementor-element-1d5f3ff {
    background-color: rgba(0, 0, 0, 0.66); /* odrobinę ciemniej, brak rozmycia */
  }
}/* End custom CSS */
/* Start custom CSS for testimonial-carousel, class: .elementor-element-1c4ec21 */.elementor-293 .elementor-element.elementor-element-1c4ec21{
    --radius: 8px;
    --height: 320px;
    --active-height: 410px;
    --overlay: 0.75;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21{
    opacity: 0;
    transform: translateX(100px);
    transition: all 0.8s ease-in-out;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21.loaded{
    opacity: 1;
    transform: translateX(0);
}

.elementor-293 .elementor-element.elementor-element-1c4ec21 .swiper-wrapper{
    height: var(--active-height);
    align-items: center;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21:not(.loaded) .swiper-wrapper{
    transition-duration: 0s !important;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .swiper-slide{
    display: flex;
    align-items: flex-end;
    border-radius: var(--radius);
    height: var(--height);
    box-shadow: 0 0 50px rgba(0,0,0,0.15);
}
.elementor-293 .elementor-element.elementor-element-1c4ec21.loaded .swiper-slide{
    transition: all 0.3s ease-in-out 0.2s;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .swiper-slide.swiper-slide-active{
    height: var(--active-height);
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .swiper-slide:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgb(0,0,0);
    background: linear-gradient(20deg, rgba(0,0,0,var(--overlay)) 0%, rgba(0,0,0,0) 100%);
    height: 100%;
    width: 100%;
    z-index: 1;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial__footer{
    display: block;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--radius);
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial__cite{
    z-index: 2;
    position: relative;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial__name{
    margin-bottom: 5px;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .swiper-pagination,
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-swiper-button{
    display: none;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .swiper-container{
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1024px){
.elementor-293 .elementor-element.elementor-element-1c4ec21{
    --height: 180px;
    --active-height: 250px;
}
}
@media (max-width: 767px){
.elementor-293 .elementor-element.elementor-element-1c4ec21{
    --height: 80px;
    --active-height: 105px;
    width: 100% !important;
    max-width: var(--container-widget-width, 300px) !important;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial__cite{
    opacity: 0;
}
}

/* --- Inteligentne ukrywanie karuzeli na mobile bez psucia JS --- */

@media (max-width: 767px) {

  /* Celujemy w kontener, który zawiera karuzelę opinii */
  .reboot-side-slider {
    /* Czynimy go niewidocznym i przezroczystym */
    visibility: hidden !important;
    opacity: 0 !important;

    /* Sprawiamy, że nie zajmuje absolutnie żadnego miejsca */
    position: absolute !important; /* Wyjmujemy go z normalnego przepływu dokumentu */
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    
    /* Wyłączamy animacje, aby uniknąć mignięcia przy ładowaniu */
    transition: none !important;
  }

}

/* ===================================================
   PROTEGO – klikany kafelek w Testimonial Carousel
   (miniatury masaży jako linki)
=================================================== */

/* wrapper slajdu jako punkt odniesienia */
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial-wrapper{
  position: relative;
  cursor: pointer;
}

/* żeby pole "Content" nie zostawiało pustej przestrzeni */
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial-content{
  margin: 0 !important;
  padding: 0 !important;
}

/* niewidzialny link przykrywający cały kafelek */
.elementor-293 .elementor-element.elementor-element-1c4ec21 .ps-thumb-link{
  position: absolute;
  inset: 0;
  z-index: 10;
  display: block;
}

/* focus dla klawiatury (accessibility) */
.elementor-293 .elementor-element.elementor-element-1c4ec21 .ps-thumb-link:focus-visible{
  outline: 2px solid rgba(231,180,114,.75);
  outline-offset: 3px;
  border-radius: 12px;
}

/* lekki premium hover */
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial-wrapper{
  transition: transform .18s ease, filter .18s ease;
}
.elementor-293 .elementor-element.elementor-element-1c4ec21 .elementor-testimonial-wrapper:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-611fa95 *//* Mobile only: strzałki są w DOM, ale niewidoczne */
@media (max-width: 767px) {
  .reboot-slider .reboot-slider-left,
  .reboot-slider .reboot-slider-right {
    display: none !important;
  }
}
/* ================================
   ARROWS – calm glass on hover (shrink)
   ================================ */
@media (min-width:768px){
  /* stan spoczynku – tak jak masz (biały) */
  .reboot-slider .reboot-slider-left a,
  .reboot-slider .reboot-slider-right a{
    transform: none;                 /* żadnego translate ani skali na bazie */
    transform-origin: center center;
    background:#fff !important;
    color:#161616;
    border:1px solid rgba(0,0,0,.06);
    box-shadow: 0 4px 12px rgba(0,0,0,.20);
    -webkit-tap-highlight-color: transparent;
    transition: transform .16s ease, background-color .16s ease,
                color .16s ease, box-shadow .16s ease, border-color .16s ease,
                backdrop-filter .16s ease;
  }

  /* HOVER – „glass”: przyciemnienie + blur + lekkie ZMNIEJSZENIE */
  .reboot-slider .reboot-slider-left a:hover,
  .reboot-slider .reboot-slider-right a:hover{
    background: rgba(28,28,28,.55) !important;
    color: #fff;
    border-color: transparent;
    box-shadow: 0 6px 16px rgba(0,0,0,.26);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    transform: scale(.94);            /* delikatne zmniejszenie */
  }

  /* ACTIVE – troszkę mocniej przyciemnione + ciut mniejsze */
  .reboot-slider .reboot-slider-left a:active,
  .reboot-slider .reboot-slider-right a:active{
    background: rgba(28,28,28,.68) !important;
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(0,0,0,.24);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    transform: scale(.92);
  }

  /* Focus ring (dla klawiatury) – bez przesunięcia */
  .reboot-slider .reboot-slider-left a:focus-visible,
  .reboot-slider .reboot-slider-right a:focus-visible{
    outline: none;
    box-shadow: 0 6px 16px rgba(0,0,0,.26), 0 0 0 3px rgba(255,255,255,.45);
    transform: none; /* brak skali w focusie – czytelny ring */
  }

  /* normalizacja ikon w środku */
  .reboot-slider .reboot-slider-left a > svg,
  .reboot-slider .reboot-slider-right a > svg,
  .reboot-slider .reboot-slider-left a > i,
  .reboot-slider .reboot-slider-right a > i{
    width:16px; height:16px; pointer-events:none;
    stroke:currentColor; fill:currentColor;
  }

  /* gdy brak ikon – dorysuj chevron */
  .reboot-slider .reboot-slider-left a:empty::after,
  .reboot-slider .reboot-slider-right a:empty::after{
    content:""; display:block; width:16px; height:16px;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform-origin:center; pointer-events:none;
  }
  .reboot-slider .reboot-slider-left a:empty::after{  transform: rotate(135deg); }
  .reboot-slider .reboot-slider-right a:empty::after{ transform: rotate(-45deg); }
}

/* Reduced motion – bez skali, dalej glass na hover/active */
@media (prefers-reduced-motion: reduce){
  .reboot-slider .reboot-slider-left a,
  .reboot-slider .reboot-slider-right a{ transform: none !important; }
}

/* Strzałki – standaryzacja hit-area i paddingu (desktop/tablet) */
@media (min-width: 768px) {
  .reboot-slider .reboot-slider-left a,
  .reboot-slider .reboot-slider-right a {
    display: inline-flex;           /* pewne centrowanie ikony */
    align-items: center;
    justify-content: center;
    width: 48px;                    /* rozmiar klikalnego koła */
    height: 48px;
    padding: 0;                     /* zerujemy niechciany padding z motywu */
    border-radius: 999px;
    text-decoration: none;
    line-height: 1;
    box-sizing: border-box;
  }

  /* (opcjonalnie) delikatne tło pod ikoną – widoczne na zdjęciach */
  .reboot-slider .reboot-slider-left a,
  .reboot-slider .reboot-slider-right a {
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }

  .reboot-slider .reboot-slider-left a:hover,
  .reboot-slider .reboot-slider-right a:hover {
    background: rgba(0,0,0,.48);
  }

  /* Jeżeli ikona to SVG/font, dopracuj jej wielkość: */
  .reboot-slider .reboot-slider-left a > i,
  .reboot-slider .reboot-slider-right a > i,
  .reboot-slider .reboot-slider-left a svg,
  .reboot-slider .reboot-slider-right a svg {
    width: 20px;
    height: 20px;
    pointer-events: none;
  }

  /* Pozycja względem krawędzi (jeśli chcesz „oddech” od boków): */
  .reboot-slider .reboot-slider-left { left: 12px; }
  .reboot-slider .reboot-slider-right { right: 12px; }
}

/* Mobile – strzałki ukryte, ale zostają w DOM (żeby JS działał) */
@media (max-width: 767px) {
  .reboot-slider .reboot-slider-left,
  .reboot-slider .reboot-slider-right {
    display: none !important;
  }
}

/* DOTYK (telefon + tablet): absolutny reset :hover/:focus/:active dla CTA w sliderze */
@media (hover: none) and (pointer: coarse) {
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:hover,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:focus,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:active,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:focus:active {
    background-image: none !important;
    box-shadow: none !important;
    outline: none !important;
    border-color: transparent !important;
    -webkit-tap-highlight-color: transparent !important;
    transform: none !important;
  }

  /* nie pozwól, aby którykolwiek wrapper dodał „hover” na dotyku */
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:hover * {
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* ===== CTA w sliderze – TABLET HARD RESET ===== */
@media (min-width:768px) and (max-width:1024px){
  /* 1) neutralizacja wszystkiego, co może przykleić stan po tapie */
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:hover,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:focus,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:active,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:focus:active{
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
    background-image: none !important;
    filter: none !important;
    transform: none !important;
  }

  /* 2) nasz krótki stan wciśnięcia – klasa dodawana JS-em i zaraz zdejmowana */
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button.is-pressed{
    opacity: .94;
    transition: opacity .12s linear;
  }

  /* 3) jeżeli motyw dorzuca focus ring na wrapperach – wyłącz */
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-widget-button:focus-within{
    outline: none !important;
    box-shadow: none !important;
  }
}
/* Tablet: CTA w sliderze nie utrzymują styli active/focus po tapnięciu */
@media (min-width:768px) and (max-width:1024px){
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:hover,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:focus,
  .reboot-slider .reboot-changing-widget.button-animation-container .elementor-button:active {
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
    transform: none !important;
    background-image: none !important;
  }
}
/* ANDROID / DOTYK – usuń sticky focus/active w CTA (tylko w sliderze) */
:is(html.is-touch, html.android) .reboot-slider .group-buttons,
@media (hover:none) and (pointer:coarse) {
  .reboot-slider .group-buttons :is(.elementor-button, .elementor-button-link),
  .reboot-slider .group-buttons :is(.elementor-button, .elementor-button-link):hover,
  .reboot-slider .group-buttons :is(.elementor-button, .elementor-button-link):focus,
  .reboot-slider .group-buttons :is(.elementor-button, .elementor-button-link):active,
  .reboot-slider .group-buttons :is(.elementor-button, .elementor-button-link):focus-visible,
  .reboot-slider .group-buttons :is(.elementor-button, .elementor-button-link):focus-within {
    outline: none !important;
    box-shadow: none !important;
    background-image: none !important;
    transform: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  /* gdy ring jest na wrapperze przez :focus-within */
  .reboot-slider .group-buttons :is(.elementor-widget-button, .elementor-button-wrapper):focus-within {
    outline: none !important;
    box-shadow: none !important;
  }
}
/* DOTYK (Android/iOS): w sliderze CTA nie zmienia wyglądu w active/focus */
@media (hover: none), (pointer: coarse) {
  .reboot-slider .group-buttons .elementor-button,
  .reboot-slider .group-buttons .elementor-button-link,
  .reboot-slider .group-buttons .elementor-button:hover,
  .reboot-slider .group-buttons .elementor-button-link:hover,
  .reboot-slider .group-buttons .elementor-button:focus,
  .reboot-slider .group-buttons .elementor-button-link:focus,
  .reboot-slider .group-buttons .elementor-button:active,
  .reboot-slider .group-buttons .elementor-button-link:active,
  .reboot-slider .group-buttons .elementor-button:focus-visible,
  .reboot-slider .group-buttons .elementor-button-link:focus-visible,
  .reboot-slider .group-buttons .elementor-widget-button:focus-within,
  .reboot-slider .group-buttons .elementor-button-wrapper:focus-within {
    outline: none !important;
    box-shadow: none !important;           /* usuwa pomarańczowy ring/cień */
    background-image: none !important;     /* gdy motyw podmienia tło w :active */
    filter: none !important;
    transform: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}

/* na desktopie ring zostaje tylko dla klawiatury (opcjonalnie) */
@media (hover: hover) and (pointer: fine) {
  .reboot-slider .group-buttons .elementor-button:focus:not(:focus-visible),
  .reboot-slider .group-buttons .elementor-button-link:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ab1c83 */.elementor-293 .elementor-element.elementor-element-2ab1c83{
    background: #fff;
    --background-speed: 0.5s;
}
.elementor-293 .elementor-element.elementor-element-2ab1c83 .elementor-background-slideshow{
    display: none;
}
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 1s ease-in-out;
}
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background img{
    object-fit: cover;
    opacity: 0;
    transform: scale(1.1);
}
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background img.prev,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background img.currentBackward,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background img.currentForward{
    opacity: 1;
    transform: scale(1.1);
}

.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background img.currentBackward,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-background img.currentForward{
    z-index: 1;
    opacity: 1;
    animation: bgNext var(--background-speed) linear;
    transition: all 1s ease-in-out;
    transform: scale(1);
}

.elementor-293 .elementor-element.elementor-element-2ab1c83:before{
    z-index: 2;
}
.elementor-293 .elementor-element.elementor-element-2ab1c83 > .elementor-element{
    z-index: 3;
}

.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-bar,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-left,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-right{
    opacity: 0;
    transition: all 0.8s ease-in-out;
}
.elementor-293 .elementor-element.elementor-element-2ab1c83.loaded .reboot-bar,
.elementor-293 .elementor-element.elementor-element-2ab1c83.loaded .reboot-slider-left,
.elementor-293 .elementor-element.elementor-element-2ab1c83.loaded .reboot-slider-right{
    opacity: 1;
}
/*.elementor-293 .elementor-element.elementor-element-2ab1c83 .ds-slider-left a:focus,*/
/*.elementor-293 .elementor-element.elementor-element-2ab1c83 .ds-slider-right a:focus{*/
/*    outline: none !important;*/
/*}*/

@keyframes bgNext {
  0%   {opacity: 0; transform: scale(1.1);}
  100%   {opacity: 1; transform: scale(1);}
}

@media (min-width: 768px){
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-bar,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-left,
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-right{
    position: relative;
}
}

@media (max-width: 1380px) and (min-width: 768px){
.elementor-293 .elementor-element.elementor-element-2ab1c83{
    padding-left: 4%;
    padding-right: 4%;
}
}

@media (max-width: 767px){
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-left{
    left: calc(50% - 300px/2) !important;
}
.elementor-293 .elementor-element.elementor-element-2ab1c83 .reboot-slider-right{
    right: calc(50% - 300px/2) !important;
}
}
.text-content-background .reboot-changing-widget .elementor-widget.is-active { will-change: opacity; }

.reboot-bar .dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Mobile: pozwól przewijać pionowo, ale nie blokuj dotyku w poziomie */
@media (max-width: 767px) {
  .reboot-slider {
    touch-action: pan-y; /* scroll pionowy działa, poziomym gestem sterujemy przez JS */
  }
  /* strzałki ukryte (zostają w DOM – Twój wcześniejszy styl) */
  .reboot-slider .reboot-slider-left,
  .reboot-slider .reboot-slider-right { display: none !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-223eb61 *//* =========================================================
   PROTEGO – FINAL
   OUTER:  → (closed)  /  ↓ (open)  – obrót 90°
   INNER:  + (closed)  /   X (open) – obrót 45°
   DOM Elementora: .e-n-accordion-item-title-icon > .e-opened / .e-closed
   Zakres: tylko w obrębie .ps-acc-outer
========================================================= */

/* ---------- 0) Safety / motion ---------- */
@media (prefers-reduced-motion: reduce){
  .ps-acc-outer .e-n-accordion-item-title-icon .e-closed{
    transition: none !important;
  }
}

/* =========================================================
   1) OUTER (pierwszy poziom) – strzałka obracana
   Tylko: .ps-acc-outer .e-n-accordion > details (direct children)
========================================================= */

/* chowamy ikonę "opened" elementora (nie chcemy podmiany) */
.ps-acc-outer .e-n-accordion > details.e-n-accordion-item > summary
.e-n-accordion-item-title-icon .e-opened{
  display: none !important;
}

/* zawsze pokazujemy "closed" (→) i nią kręcimy */
.ps-acc-outer .e-n-accordion > details.e-n-accordion-item > summary
.e-n-accordion-item-title-icon .e-closed{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transform-origin: 50% 50%;
  transition: transform 240ms cubic-bezier(.2,.85,.2,1);
  will-change: transform;
  transform: rotate(0deg) !important; /* CLOSED = RIGHT */
}

/* open -> down */
.ps-acc-outer .e-n-accordion > details.e-n-accordion-item[open] > summary
.e-n-accordion-item-title-icon .e-closed{
  transform: rotate(90deg) !important; /* OPEN = DOWN */
}

/* fallback gdyby aria-expanded sterowało stanem */
.ps-acc-outer .e-n-accordion > details.e-n-accordion-item > summary[aria-expanded="true"]
.e-n-accordion-item-title-icon .e-closed{
  transform: rotate(90deg) !important;
}

/* =========================================================
   2) INNER (zagnieżdżone) – plus -> X
   Inner rozpoznajemy po tym, że siedzi w [role="region"] outer
========================================================= */

/* chowamy minus (opened), żeby nie było podmiany */
.ps-acc-outer [role="region"] .e-n-accordion details.e-n-accordion-item > summary
.e-n-accordion-item-title-icon .e-opened{
  display: none !important;
}

/* pokazujemy zawsze plus (closed) i obracamy go do X */
.ps-acc-outer [role="region"] .e-n-accordion details.e-n-accordion-item > summary
.e-n-accordion-item-title-icon .e-closed{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transform-origin: 50% 50%;
  transition: transform 220ms cubic-bezier(.2,.85,.2,1);
  will-change: transform;
  transform: rotate(0deg) !important; /* CLOSED = + */
}

/* open -> X (45°) */
.ps-acc-outer [role="region"] .e-n-accordion details.e-n-accordion-item[open] > summary
.e-n-accordion-item-title-icon .e-closed{
  transform: rotate(45deg) !important; /* OPEN = X */
}

/* fallback aria-expanded */
.ps-acc-outer [role="region"] .e-n-accordion details.e-n-accordion-item > summary[aria-expanded="true"]
.e-n-accordion-item-title-icon .e-closed{
  transform: rotate(45deg) !important;
}
/* =========================================================
   PROTEGO – Accordion background (NO border/ring, NO padding)
   - tło całego akordeonu
   - mocniej na obrzeżach (edge-glow), ale bez kolorowej krawędzi
   - osobno cosmetics/tools
========================================================= */

.ps-accframe .e-n-accordion{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  isolation: isolate;

  /* bazowy grafit – “żywszy” niż mdły */
  background: #11141A;

  /* subtelna separacja bez “koloru na krawędzi” */
  box-shadow: 0 18px 70px #00000080;
}

/* wszystko nad tłem */
.ps-accframe .e-n-accordion > *{
  position: relative;
  z-index: 2;
}

/* 1) delikatny sheen (premium “panel”) */
.ps-accframe .e-n-accordion::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;

  background:
    linear-gradient(180deg, #FFFFFF10 0%, #00000000 32%),
    radial-gradient(900px 420px at 50% 10%, #FFFFFF08 0%, #00000000 60%),
    radial-gradient(1200px 520px at 50% 90%, #00000055 0%, #00000000 62%);
}

/* 2) EDGE-GLOW (kolor “w tle”, ale WYCIĘTY w środku żeby nie zalewało) */
.ps-accframe .e-n-accordion::after{
  content:"";
  position:absolute;
  inset:-18px;                 /* wychodzi poza, ale jest obcięty overflow:hidden */
  pointer-events:none;
  z-index:1;

  /* kolory zaciągane ze zmiennych wariantu */
  background:
    radial-gradient(720px 360px at 10% 0%,  var(--ps-glow-a, #0000) 0%, #0000 65%),
    radial-gradient(760px 380px at 95% 20%, var(--ps-glow-b, #0000) 0%, #0000 66%),
    radial-gradient(760px 420px at 85% 110%, var(--ps-glow-c, #0000) 0%, #0000 68%);

  filter: blur(18px);
  opacity: 0.55;

  /* najważniejsze: glow tylko przy obrzeżach, środek czysty */
  -webkit-mask-image: radial-gradient(circle at 50% 45%, transparent 52%, #000 82%);
          mask-image: radial-gradient(circle at 50% 45%, transparent 52%, #000 82%);
}

/* =========================================================
   WARIANTY KOLORU (to NIE jest ring/border – tylko tło/glow)
========================================================= */

/* KOSMETYKI – dopracowane (bardziej “żywe”, mniej mdłe) */
.ps-accframe--cosmetics{
  --ps-glow-a: #FFD6A04A;  /* champagne */
  --ps-glow-b: #FFB86B3D;  /* amber */
  --ps-glow-c: #FF7AAA33;  /* soft rose (nowocześnie, nie “stare”) */
}

/* NARZĘDZIA – zostaje w Twoim klimacie, ale też tylko jako tło */
.ps-accframe--tools{
  --ps-glow-a: #26E6D042;  /* turkus */
  --ps-glow-b: #2DE3FF33;  /* cyan */
  --ps-glow-c: #7C5CFF2E;  /* fiolet */
}
/* ==== NO RADIUS – bez żadnych zaokrągleń (cały blok akordeonu) ==== */
.ps-accframe .e-n-accordion,
.ps-accframe .e-n-accordion::before,
.ps-accframe .e-n-accordion::after{
  border-radius: 0 !important;
}

/* jeśli Elementor dodał zaokrąglenia na elementach wewnątrz (czasem tak bywa) */
.ps-accframe .e-n-accordion summary,
.ps-accframe .e-n-accordion details{
  border-radius: 0 !important;
}
/* =========================================================
   PROTEGO – Touch version: statyczne, lekkie tło (bez blur/maski)
   Desktop zostaje bez zmian.
   Tablet/Mobile (touch): wyłączamy kosztowne efekty, zachowując te same kolory.
========================================================= */

@media (hover: none) and (pointer: coarse){

  /* Wyłącz ciężką warstwę (blur + mask) na touch */
  .ps-accframe .e-n-accordion::after{
    filter: none !important;
    -webkit-mask-image: none !important;
            mask-image: none !important;
  }

  /* Zamiast blur: delikatnie podbijamy czytelność przez spokojniejsze, statyczne tło
     (kolory te same, tylko mniej "pracy" GPU/CPU) */
  .ps-accframe .e-n-accordion::after{
    opacity: 0.22 !important;
  }

  /* Jeżeli masz w ::after duży inset i to kosztuje, ograniczamy obszar (bez zmiany kolorów) */
  .ps-accframe .e-n-accordion::after{
    inset: -8px !important;
  }

  /* Dodatkowo: cień panelu lżejszy, żeby animacja wysokości nie chrupała */
  .ps-accframe .e-n-accordion{
    box-shadow: 0 12px 46px #00000070 !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b258d29 *//* =========================================
   PROTEGO – rotate ONLY outer arrow (Nested Accordion)
   Działa tylko na .ps-accblock i tylko na outer (oznaczone JS-em)
========================================= */

.ps-accblock details.ps-outer-item > summary .e-n-accordion-item-title-icon{
  transform-origin: 50% 50%;
  transition: transform 220ms cubic-bezier(.2,.85,.2,1);
  will-change: transform;
}

/* zamknięty = strzałka w prawo (0deg) */
.ps-accblock details.ps-outer-item > summary .e-n-accordion-item-title-icon{
  transform: rotate(0deg);
}

/* otwarty = obrót w dół */
.ps-accblock details.ps-outer-item[open] > summary .e-n-accordion-item-title-icon{
  transform: rotate(90deg);
}

/* Szanuj preferencje */
@media (prefers-reduced-motion: reduce){
  .ps-accblock details.ps-outer-item > summary .e-n-accordion-item-title-icon{
    transition: none !important;
  }
}
/* FINAL OVERRIDE – outer arrow: OPEN = down, CLOSED = right */
.ps-accblock details.ps-outer-item > summary .e-n-accordion-item-title-icon{
  transform-origin: 50% 50%;
  transition: transform 220ms cubic-bezier(.2,.85,.2,1);
  will-change: transform;
}

/* KLUCZ: wyzeruj WSZYSTKIE transformy wewnątrz ikonki (span/i/svg itd.) */
.ps-accblock details.ps-outer-item > summary .e-n-accordion-item-title-icon *{
  transform: none !important;
}

/* OPEN (akordeon otwarty) = strzałka w dół */
.ps-accblock details.ps-outer-item[open] > summary .e-n-accordion-item-title-icon{
  transform: rotate(0deg) !important;
}

/* CLOSED (akordeon zamknięty) = strzałka w prawo */
.ps-accblock details.ps-outer-item:not([open]) > summary .e-n-accordion-item-title-icon{
  transform: rotate(-90deg) !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6d01a53 *//* ===========================
   PROTEGO CTA — NEON SKIN (FULL)
   Wklej w: Zaawansowane -> Własny CSS (przycisk)
   Sterowanie kolorem: klasa ps-ex-btn--{about|masaze|cennik|faq|kontakt}
   =========================== */

/* Zmienne globalne dla tego przycisku */
.elementor-293 .elementor-element.elementor-element-6d01a53{
  --ex-turq:  #00D9C0;              /* hover / focus / active = turkus */
  --ex-gloss: rgba(255,255,255,.20);
  --ex-border:#888;                 /* fallback gdy brak klasy wariantu */
}

/* —— WARIANTY (spoczynek) —— */
/* mocniej rozstrzelone kolory neonowe, żeby każdy wariant był wyraźny */
.elementor-293 .elementor-element.elementor-element-6d01a53.ps-ex-btn--about   { --ex-border:#FFC857; } /* O mnie   — Neon Amber   */
.elementor-293 .elementor-element.elementor-element-6d01a53.ps-ex-btn--masaze  { --ex-border:#FF38C7; } /* Masaże   — Neon Magenta */
.elementor-293 .elementor-element.elementor-element-6d01a53.ps-ex-btn--cennik  { --ex-border:#FF7A00; } /* Cennik   — Neon Orange  */
.elementor-293 .elementor-element.elementor-element-6d01a53.ps-ex-btn--faq     { --ex-border:#4D6BFF; } /* FAQ      — Neon Cobalt  */
.elementor-293 .elementor-element.elementor-element-6d01a53.ps-ex-btn--kontakt { --ex-border:#FF3B3B; } /* Kontakt  — Signal Red   */

/* Celujemy w anchor przycisku */
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button,
.elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link{
  position: relative;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #fff !important;
  overflow: hidden;
  isolation: isolate; /* tekst nad pseudo-elementami */
}

/* Treść nad warstwami */
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button .elementor-button-content-wrapper{
  position: relative;
  z-index: 2;
}

/* Skórka: obrys + ciemne wnętrze */
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-sizing:border-box;
  background: rgba(0,0,0,.25);
  border: 2px solid var(--ex-border);   /* kolor spoczynkowy z klasy wariantu */
  transition: border-color .35s ease, box-shadow .35s ease, filter .25s ease;
  z-index: 0;
}

/* Połysk na hover */
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button::after,
.elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button::after,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link::after{
  content:"";
  position:absolute;
  top:0;
  left:-110%;
  width:75%;
  height:100%;
  background: linear-gradient(90deg, transparent, var(--ex-gloss), transparent);
  transform: skewX(-25deg);
  transition: left .8s ease;
  z-index: 1;
}
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button:hover::after,
.elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button:hover::after,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link:hover::after{
  left:150%;
}

/* Hover + focus-visible = TURKUS (zawsze) */
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button:hover::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button:hover::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link:hover::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button:focus-visible::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button:focus-visible::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link:focus-visible::before{
  border-color: var(--ex-turq) !important;
  box-shadow:
    0 0 8px color-mix(in srgb, var(--ex-turq) 40%, transparent),
    0 0 0 1px color-mix(in srgb, var(--ex-turq) 24%, transparent),
    0 12px 24px rgba(0,0,0,.28) !important;
}

/* Active = TURKUS (zawsze) */
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button:active::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button:active::before,
.elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link:active::before{
  border-color: var(--ex-turq) !important;
  box-shadow:
    0 0 8px color-mix(in srgb, var(--ex-turq) 40%, transparent),
    0 0 0 1px color-mix(in srgb, var(--ex-turq) 24%, transparent),
    0 12px 24px rgba(0,0,0,.28) !important;
}

/* Fallback gdy color-mix nie jest dostępny */
@supports not (color-mix(in srgb, black 50%, white 50%)){
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button:hover::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button:hover::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link:hover::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button:focus-visible::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button:focus-visible::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link:focus-visible::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button:active::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button:active::before,
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link:active::before{
    box-shadow:
      0 0 8px rgba(0,217,192,.35),
      0 0 0 1px rgba(0,217,192,.18),
      0 12px 24px rgba(0,0,0,.28) !important;
  }
}

/* Mobile: nie rozciągamy przycisku na 100% */
@media (max-width:540px){
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button,
  .elementor-293 .elementor-element.elementor-element-6d01a53 a.elementor-button,
  .elementor-293 .elementor-element.elementor-element-6d01a53 .elementor-button-link{
    width: auto !important;
    max-width: max-content;
  }
}/* End custom CSS */