.elementor-11656 .elementor-element.elementor-element-cfdaf35{--display:flex;--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-11656 .elementor-element.elementor-element-661df90{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-d42219d > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-a98bb52{--spacer-size:50px;}.elementor-11656 .elementor-element.elementor-element-5efb18c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-11656 .elementor-element.elementor-element-5efb18c > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-11656 .elementor-element.elementor-element-9ce13f4 > .elementor-element-populated{padding:15px 15px 15px 15px;}.elementor-11656 .elementor-element.elementor-element-00af619 > .elementor-widget-container{margin:0px 0px 15px 0px;}.elementor-11656 .elementor-element.elementor-element-00af619{text-align:left;}.elementor-11656 .elementor-element.elementor-element-00af619 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:14px;font-weight:400;text-transform:uppercase;line-height:1.5em;letter-spacing:5px;color:#730020;}.elementor-11656 .elementor-element.elementor-element-b56b845 > .elementor-widget-container{margin:0px 0px 16px 0px;}.elementor-11656 .elementor-element.elementor-element-b56b845{text-align:left;}.elementor-11656 .elementor-element.elementor-element-b56b845 .elementor-heading-title{font-size:30px;font-weight:400;text-transform:uppercase;letter-spacing:5px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-b9bd521{font-family:"Montserrat", Sans-serif;font-weight:400;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-e54fec3 > .elementor-element-populated{padding:15px 15px 15px 15px;}.elementor-11656 .elementor-element.elementor-element-c12b4c3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-c12b4c3 img{border-radius:34px 34px 34px 34px;}.elementor-11656 .elementor-element.elementor-element-7b54fff .elementor-repeater-item-f32a1e9.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-8ece901 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-f19b280{text-align:left;}.elementor-11656 .elementor-element.elementor-element-f19b280 .elementor-heading-title{font-family:"Yrsa", Sans-serif;font-size:40px;font-weight:400;line-height:44px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-8adca81{--divider-border-style:solid;--divider-color:#f5da87;--divider-border-width:2px;}.elementor-11656 .elementor-element.elementor-element-8adca81 > .elementor-widget-container{padding:20px 0px 30px 0px;}.elementor-11656 .elementor-element.elementor-element-8adca81 .elementor-divider-separator{width:50px;margin:0 auto;margin-center:0;}.elementor-11656 .elementor-element.elementor-element-8adca81 .elementor-divider{text-align:center;padding-block-start:0px;padding-block-end:0px;}.elementor-11656 .elementor-element.elementor-element-7b54fff > .elementor-container{max-width:1200px;}.elementor-11656 .elementor-element.elementor-element-7b54fff{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:102px 0px 94px 0px;}.elementor-11656 .elementor-element.elementor-element-7b54fff > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-11656 .elementor-element.elementor-element-32c4f452 .elementor-repeater-item-6a505df.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-393ffe16 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-393ffe16 > .elementor-element-populated{padding:5px 15px 0px 15px;}.elementor-11656 .elementor-element.elementor-element-2d114693 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-2d114693 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.231em;letter-spacing:1.5px;color:#730020;}.elementor-11656 .elementor-element.elementor-element-4540ee70 > .elementor-widget-container{margin:10px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-4540ee70 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:400;line-height:1.23em;color:#730020;}.elementor-11656 .elementor-element.elementor-element-5c6e6af5{--spacer-size:19px;}.elementor-11656 .elementor-element.elementor-element-2acc9ab5 .elementor-repeater-item-0b97625.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-35cbc94 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-35cbc94 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-49d804d5{--divider-border-style:solid;--divider-color:#730020;--divider-border-width:2px;}.elementor-11656 .elementor-element.elementor-element-49d804d5 .elementor-divider-separator{width:40px;}.elementor-11656 .elementor-element.elementor-element-49d804d5 .elementor-divider{padding-block-start:11px;padding-block-end:11px;}.elementor-11656 .elementor-element.elementor-element-8868eac > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-8868eac > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-27551fda > .elementor-widget-container{margin:0% 0% 0% -5.4%;padding:0% 14% 0% 0%;}.elementor-11656 .elementor-element.elementor-element-27551fda{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;line-height:1.44em;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-504ea22a{--spacer-size:39px;}.elementor-11656 .elementor-element.elementor-element-6b096ead .elementor-repeater-item-35298a7.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-298c252 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-298c252 > .elementor-element-populated{padding:0px 50px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-7b9c944a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-7b9c944a.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-11656 .elementor-element.elementor-element-7b9c944a.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-11656 .elementor-element.elementor-element-7b9c944a.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-7b9c944a .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-11656 .elementor-element.elementor-element-7b9c944a .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-11656 .elementor-element.elementor-element-7b9c944a .elementor-image-box-img img{transition-duration:0.3s;}.elementor-11656 .elementor-element.elementor-element-7b9c944a .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-3f05c7a0{--spacer-size:61px;}.elementor-11656 .elementor-element.elementor-element-7d16cf13 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-7d16cf13.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-11656 .elementor-element.elementor-element-7d16cf13.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-11656 .elementor-element.elementor-element-7d16cf13.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-7d16cf13 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;color:#730020;}.elementor-11656 .elementor-element.elementor-element-7d16cf13 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-11656 .elementor-element.elementor-element-7d16cf13 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-11656 .elementor-element.elementor-element-7d16cf13 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-2894a950{--spacer-size:66px;}.elementor-11656 .elementor-element.elementor-element-74cb5517 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-74cb5517 > .elementor-element-populated{padding:0px 50px 0px 10px;}.elementor-11656 .elementor-element.elementor-element-6beea444 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-6beea444.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-11656 .elementor-element.elementor-element-6beea444.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-11656 .elementor-element.elementor-element-6beea444.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-6beea444 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-11656 .elementor-element.elementor-element-6beea444 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-11656 .elementor-element.elementor-element-6beea444 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-11656 .elementor-element.elementor-element-6beea444 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-3d032fc1{--spacer-size:61px;}.elementor-11656 .elementor-element.elementor-element-7db9f797 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-7db9f797.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-11656 .elementor-element.elementor-element-7db9f797.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-11656 .elementor-element.elementor-element-7db9f797.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-7db9f797 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-11656 .elementor-element.elementor-element-7db9f797 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-11656 .elementor-element.elementor-element-7db9f797 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-11656 .elementor-element.elementor-element-7db9f797 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-43a1551e{--spacer-size:66px;}.elementor-11656 .elementor-element.elementor-element-b12cedf .elementor-repeater-item-35298a7.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-5a0ed22 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-5a0ed22 > .elementor-element-populated{padding:0px 50px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-293c6b8 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-293c6b8.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-11656 .elementor-element.elementor-element-293c6b8.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-11656 .elementor-element.elementor-element-293c6b8.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-293c6b8 .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-11656 .elementor-element.elementor-element-293c6b8 .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-11656 .elementor-element.elementor-element-293c6b8 .elementor-image-box-img img{transition-duration:0.3s;}.elementor-11656 .elementor-element.elementor-element-293c6b8 .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-07da4df > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-07da4df > .elementor-element-populated{padding:0px 50px 0px 10px;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a.elementor-position-right .elementor-image-box-img{margin-left:16px;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a.elementor-position-left .elementor-image-box-img{margin-right:16px;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a.elementor-position-top .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a .elementor-image-box-title{margin-bottom:12px;font-family:"Yrsa", Sans-serif;font-size:24px;font-weight:600;line-height:1.22em;color:#730020;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a .elementor-image-box-wrapper .elementor-image-box-img{width:28%;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a .elementor-image-box-img img{transition-duration:0.3s;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a .elementor-image-box-description{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:600;line-height:1.43em;letter-spacing:0.6px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-4aea6b4{--spacer-size:61px;}.elementor-11656 .elementor-element.elementor-element-c74fba4{--spacer-size:66px;}.elementor-11656 .elementor-element.elementor-element-32c4f452:not(.elementor-motion-effects-element-type-background), .elementor-11656 .elementor-element.elementor-element-32c4f452 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#fcfdff;}.elementor-11656 .elementor-element.elementor-element-32c4f452 > .elementor-container{max-width:1200px;}.elementor-11656 .elementor-element.elementor-element-32c4f452{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:112px 0px 45px 0px;}.elementor-11656 .elementor-element.elementor-element-32c4f452 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-11656 .elementor-element.elementor-element-0816dbb{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overlay-opacity:1;}.elementor-11656 .elementor-element.elementor-element-0816dbb::before, .elementor-11656 .elementor-element.elementor-element-0816dbb > .elementor-background-video-container::before, .elementor-11656 .elementor-element.elementor-element-0816dbb > .e-con-inner > .elementor-background-video-container::before, .elementor-11656 .elementor-element.elementor-element-0816dbb > .elementor-background-slideshow::before, .elementor-11656 .elementor-element.elementor-element-0816dbb > .e-con-inner > .elementor-background-slideshow::before, .elementor-11656 .elementor-element.elementor-element-0816dbb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-11656 .elementor-element.elementor-element-c5797b1{--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:8px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11656 .elementor-element.elementor-element-2426e9d{text-align:center;}.elementor-11656 .elementor-element.elementor-element-2426e9d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:4.7px;color:#730020;}.elementor-11656 .elementor-element.elementor-element-189555f{--spacer-size:11px;}.elementor-11656 .elementor-element.elementor-element-b4850f1 > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0px 0px 22px 0px;}.elementor-11656 .elementor-element.elementor-element-b4850f1{text-align:center;}.elementor-11656 .elementor-element.elementor-element-b4850f1 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:60px;font-weight:300;text-transform:uppercase;line-height:1.07em;color:#730020;}.elementor-11656 .elementor-element.elementor-element-03de545 .elementor-repeater-item-49544f2.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-4d0041a > .elementor-element-populated{padding:0px 15px 0px 15px;}.elementor-11656 .elementor-element.elementor-element-618a8c5 .elementor-repeater-item-1cf96d0.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-afafc10 > .elementor-element-populated{padding:0px 17px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__inner{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__image{width:202px;height:202px;border-radius:100% 100% 100% 100%;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__figure{border-radius:100% 100% 100% 100%;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__name .jet-team-member__name-first{color:var( --e-global-color-4dcccda );font-family:"Jost", Sans-serif;font-size:21px;font-weight:600;line-height:23px;letter-spacing:0px;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__name .jet-team-member__name-last{color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__name{padding:0px 0px 0px 0px;margin:14px 0px 4px 0px;text-align:center;order:1;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__position{color:var( --e-global-color-4dcccda );font-family:"Jost", Sans-serif;font-size:21px;font-weight:300;align-self:center;text-align:center;order:2;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__desc{color:var( --e-global-color-4dcccda );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;line-height:23px;letter-spacing:0px;padding:0px 0px 0px 0px;margin:0px 0px 7px 0px;align-self:center;text-align:center;order:3;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__socials{align-self:center;order:4;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__socials-icon .jet-elements-icon{color:var( --e-global-color-4dcccda );font-size:15px;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__socials-icon .inner{width:18px;height:18px;border-radius:0px 0px 0px 0px;margin:0px 5px 0px 5px;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__socials-icon:hover .jet-elements-icon{color:#2cd97b;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__button-container{justify-content:center;order:5;}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__button{background-color:var( --e-global-color-4dcccda );color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-e2f16e5 .jet-team-member__cover{justify-content:center;}.elementor-11656 .elementor-element.elementor-element-04a1c89 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-4d9c915 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__inner{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__image{width:202px;height:202px;border-radius:100% 100% 100% 100%;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__figure{border-radius:100% 100% 100% 100%;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__name .jet-team-member__name-first{color:#730020;font-family:"Jost", Sans-serif;font-size:21px;font-weight:600;line-height:23px;letter-spacing:0px;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__name{padding:0px 0px 0px 0px;margin:14px 0px 4px 0px;text-align:center;order:1;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__position{color:#730020;font-family:"Jost", Sans-serif;font-size:21px;font-weight:300;align-self:center;text-align:center;order:2;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__desc{color:#730020;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;line-height:23px;letter-spacing:0px;padding:0px 15px 0px 15px;margin:0px 0px 7px 0px;align-self:center;text-align:center;order:3;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__socials{align-self:center;order:4;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__socials-icon .jet-elements-icon{color:#730020;font-size:15px;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__socials-icon .inner{width:18px;height:18px;border-radius:0px 0px 0px 0px;margin:0px 5px 0px 5px;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__socials-icon:hover .jet-elements-icon{color:#2cd97b;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__button-container{justify-content:center;order:5;}.elementor-11656 .elementor-element.elementor-element-4d9c915 .jet-team-member__cover{justify-content:center;}.elementor-11656 .elementor-element.elementor-element-38de38e > .elementor-element-populated{padding:0px 0px 0px 16px;}.elementor-11656 .elementor-element.elementor-element-9d9453d > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__inner{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__image{width:202px;height:202px;border-radius:100% 100% 100% 100%;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__figure{border-radius:100% 100% 100% 100%;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__name .jet-team-member__name-first{color:var( --e-global-color-4dcccda );font-family:"Jost", Sans-serif;font-size:21px;font-weight:600;line-height:23px;letter-spacing:0px;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__name .jet-team-member__name-last{color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__name{padding:0px 0px 0px 0px;margin:14px 0px 4px 0px;text-align:center;order:1;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__position{color:var( --e-global-color-4dcccda );font-family:"Jost", Sans-serif;font-size:21px;font-weight:300;align-self:center;text-align:center;order:2;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__desc{color:var( --e-global-color-4dcccda );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;line-height:23px;letter-spacing:0px;padding:0px 15px 0px 15px;margin:0px 0px 7px 0px;align-self:center;text-align:center;order:3;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__socials{align-self:center;order:4;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__socials-icon .jet-elements-icon{color:var( --e-global-color-4dcccda );font-size:15px;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__socials-icon .inner{width:18px;height:18px;border-radius:0px 0px 0px 0px;margin:0px 5px 0px 5px;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__socials-icon:hover .jet-elements-icon{color:#2cd97b;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__button-container{justify-content:center;order:5;}.elementor-11656 .elementor-element.elementor-element-9d9453d .jet-team-member__cover{justify-content:center;}.elementor-11656 .elementor-element.elementor-element-f27b1aa > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-e8cb930 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__inner{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__image{width:202px;height:202px;border-radius:100% 100% 100% 100%;padding:0px 0px 0px 0px;margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__figure{border-radius:100% 100% 100% 100%;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__name .jet-team-member__name-first{color:var( --e-global-color-4dcccda );font-family:"Jost", Sans-serif;font-size:21px;font-weight:600;line-height:23px;letter-spacing:0px;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__name .jet-team-member__name-last{color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__name{padding:0px 0px 0px 0px;margin:14px 0px 4px 0px;text-align:center;order:1;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__position{color:var( --e-global-color-4dcccda );font-family:"Jost", Sans-serif;font-size:21px;font-weight:300;align-self:center;text-align:center;order:2;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__desc{color:var( --e-global-color-4dcccda );font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:300;line-height:23px;letter-spacing:0px;padding:0px 15px 0px 15px;margin:0px 0px 7px 0px;align-self:center;text-align:center;order:3;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__socials{align-self:center;order:4;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__socials-icon .jet-elements-icon{color:var( --e-global-color-4dcccda );font-size:15px;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__socials-icon .inner{width:18px;height:18px;border-radius:0px 0px 0px 0px;margin:0px 5px 0px 5px;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__socials-icon:hover .jet-elements-icon{color:#2cd97b;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__button-container{justify-content:center;order:5;}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__button{background-color:var( --e-global-color-primary );}.elementor-11656 .elementor-element.elementor-element-e8cb930 .jet-team-member__cover{justify-content:center;}.elementor-11656 .elementor-element.elementor-element-03de545{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:10px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-03de545 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-11656 .elementor-element.elementor-element-9f96347{--display:flex;}.elementor-11656 .elementor-element.elementor-element-9f336b0{--display:flex;}.elementor-11656 .elementor-element.elementor-element-5271089{--display:flex;}.elementor-11656 .elementor-element.elementor-element-0090894 > .elementor-widget-container{margin:27px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-0090894{text-align:center;}.elementor-11656 .elementor-element.elementor-element-0090894 .elementor-heading-title{font-size:34px;color:var( --e-global-color-4dcccda );}.elementor-11656 .elementor-element.elementor-element-3e3180a{--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;}.elementor-11656 .elementor-element.elementor-element-7636fd0{--display:flex;}.elementor-11656 .elementor-element.elementor-element-34247b32 .elementor-repeater-item-5f830f3.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11656 .elementor-element.elementor-element-6edb95b3{text-align:left;}.elementor-11656 .elementor-element.elementor-element-6edb95b3 .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:60px;font-weight:500;text-transform:uppercase;color:#730020;}.elementor-11656 .elementor-element.elementor-element-6edb95b3 .elementor-heading-title a:hover, .elementor-11656 .elementor-element.elementor-element-6edb95b3 .elementor-heading-title a:focus{color:#730020;}.elementor-11656 .elementor-element.elementor-element-5433ef21{--spacer-size:51px;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle{background-color:rgba(0,0,0,0);padding:0px 0px 0px 0px;margin:0px 0px 22px 0px;border-style:solid;border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control{background-color:#ffffff;justify-content:flex-start;padding:11px 20px 12px 22px;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control:hover{background-color:#730020;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle.active-toggle > .jet-toggle__control{background-color:#730020;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__content{background-color:rgba(0,0,0,0);color:var( --e-global-color-4dcccda );margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-fd46039 > .elementor-widget-container{margin:0% 0% 0% 0%;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion{border-radius:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control .jet-toggle__label-icon{margin:0px 20px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-toggle__label-text{text-align:left;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control .jet-toggle__label-text{color:#730020;font-family:"Oswald", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control .jet-toggle__label-icon .icon-normal{color:#888888;background-color:rgba(0,0,0,0);}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control:hover .jet-toggle__label-text{color:#ffffff;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control:hover .jet-toggle__label-icon .icon-normal{color:#ffffff;background-color:rgba(0,0,0,0);}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle.active-toggle > .jet-toggle__control .jet-toggle__label-text{color:#FFFFFF;}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle.active-toggle .jet-toggle__label-icon .icon-active{color:#ffffff;background-color:rgba(0,0,0,0);}.elementor-11656 .elementor-element.elementor-element-fd46039 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__content > .jet-toggle__content-inner{padding:22px 15px 13px 26px;}.elementor-11656 .elementor-element.elementor-element-34247b32{padding:96px 0px 104px 0px;}.elementor-11656 .elementor-element.elementor-element-4e56954{--display:flex;}.elementor-11656 .elementor-element.elementor-element-5fa4fae{--divider-border-style:solid;--divider-color:var( --e-global-color-4dcccda );--divider-border-width:6.6px;}.elementor-11656 .elementor-element.elementor-element-5fa4fae .elementor-divider-separator{width:100%;}.elementor-11656 .elementor-element.elementor-element-5fa4fae .elementor-divider{padding-block-start:3px;padding-block-end:3px;}body.elementor-page-11656:not(.elementor-motion-effects-element-type-background), body.elementor-page-11656 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02010100;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-11656 .elementor-element.elementor-element-9ce13f4 > .elementor-element-populated{padding:50px 50px 50px 50px;}.elementor-11656 .elementor-element.elementor-element-e54fec3 > .elementor-element-populated{padding:50px 50px 50px 50px;}.elementor-11656 .elementor-element.elementor-element-7b54fff{padding:40px 0px 40px 0px;}.elementor-11656 .elementor-element.elementor-element-27551fda > .elementor-widget-container{padding:0px 0px 0px 15px;}.elementor-11656 .elementor-element.elementor-element-7b9c944a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-7d16cf13 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-6beea444 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-7db9f797 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-293c6b8 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-c5797b1{--padding-top:68px;--padding-bottom:0px;--padding-left:54px;--padding-right:0px;}.elementor-11656 .elementor-element.elementor-element-b4850f1 .elementor-heading-title{font-size:43px;}.elementor-11656 .elementor-element.elementor-element-afafc10 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-38de38e > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-5433ef21{--spacer-size:25px;}.elementor-11656 .elementor-element.elementor-element-fd46039 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-34247b32{padding:40px 0px 40px 0px;}}@media(max-width:767px){.elementor-11656 .elementor-element.elementor-element-cfdaf35{--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-11656 .elementor-element.elementor-element-175db26 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-661df90{margin-top:0px;margin-bottom:0px;}.elementor-11656 .elementor-element.elementor-element-9ce13f4 > .elementor-element-populated{padding:30px 30px 30px 30px;}.elementor-11656 .elementor-element.elementor-element-00af619{text-align:center;}.elementor-11656 .elementor-element.elementor-element-b56b845{text-align:center;}.elementor-11656 .elementor-element.elementor-element-b56b845 .elementor-heading-title{font-size:23px;line-height:1.5em;}.elementor-11656 .elementor-element.elementor-element-b9bd521{text-align:center;}.elementor-11656 .elementor-element.elementor-element-e54fec3 > .elementor-element-populated{padding:30px 30px 30px 30px;}.elementor-11656 .elementor-element.elementor-element-8adca81 > .elementor-widget-container{padding:15px 0px 15px 0px;}.elementor-11656 .elementor-element.elementor-element-7b54fff{padding:30px 0px 30px 0px;}.elementor-11656 .elementor-element.elementor-element-35cbc94{width:15%;}.elementor-11656 .elementor-element.elementor-element-8868eac{width:85%;}.elementor-11656 .elementor-element.elementor-element-8868eac > .elementor-element-populated{padding:0px 0px 0px 15px;}.elementor-11656 .elementor-element.elementor-element-298c252 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-7b9c944a .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-7d16cf13 .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-74cb5517 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-6beea444 .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-7db9f797 .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-5a0ed22 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-293c6b8 .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-07da4df > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-11656 .elementor-element.elementor-element-ecdbb1a .elementor-image-box-img{margin-bottom:16px;}.elementor-11656 .elementor-element.elementor-element-c5797b1{--width:100%;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:0px;}.elementor-11656 .elementor-element.elementor-element-2426e9d .elementor-heading-title{font-size:16px;}.elementor-11656 .elementor-element.elementor-element-6edb95b3 .elementor-heading-title{font-size:36px;}.elementor-11656 .elementor-element.elementor-element-5433ef21{--spacer-size:20px;}.elementor-11656 .elementor-element.elementor-element-34247b32{padding:30px 0px 30px 0px;}}@media(min-width:768px){.elementor-11656 .elementor-element.elementor-element-35cbc94{width:10%;}.elementor-11656 .elementor-element.elementor-element-8868eac{width:90%;}.elementor-11656 .elementor-element.elementor-element-0816dbb{--content-width:1200px;}}@media(max-width:1024px) and (min-width:768px){.elementor-11656 .elementor-element.elementor-element-afafc10{width:50%;}.elementor-11656 .elementor-element.elementor-element-04a1c89{width:50%;}.elementor-11656 .elementor-element.elementor-element-38de38e{width:50%;}.elementor-11656 .elementor-element.elementor-element-f27b1aa{width:50%;}}/* Start custom CSS for html, class: .elementor-element-175db26 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://swiss-personal-training.ch/wp-content/uploads/2025/06/coaching-sportif-%E2%80%93-personal-training_99-1.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;
  }

  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  .spt-hero__left{
    background: rgba(0,0,0,.30);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  .spt-hero__right{
    background: rgba(0,0,0,.20);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  .spt-hero__particles{ opacity:.18; }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
@media (max-width:768px){
  .spt-hero{ --overlay-alpha: .32; }
}
@media (max-width:390px){
  .spt-hero{ --overlay-alpha: .28; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-65e1271 *//* ===== HOW-IT (corrigé) ===== */
.howit {
  --hi-bg: #ffffff;
  --hi-text: #1f2937;
  --hi-card: #ffffff;
  --hi-border: #2a2a2a;
  --hi-accent: #b80d1a;
  --hi-accent-dark: #7a0016;
  --hi-shadow: 0 10px 25px rgba(0,0,0,.08);
  --hi-radius: 16px;

  background: var(--hi-bg);
  color: var(--hi-text);
  padding: 60px 0; /* 👉 plus grand pour respirer */
  position: relative;
}

.howit__heading {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 16px;
  text-align: center;
}

.howit__heading h2 {
  margin: 0;
  font-weight: 800;
  font-size: 28px; /* 👉 un peu plus grand */
  color: var(--hi-accent-dark);
}

.howit__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.howit__card {
  background: var(--hi-card);
  border: 2px solid var(--hi-border);
  border-radius: var(--hi-radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--hi-shadow);
  transition: transform .25s ease, border-color .25s ease;
}

.howit__card:hover {
  transform: translateY(-4px);
  border-color: var(--hi-accent);
}

.howit__badge {
  position: absolute;
  top: -16px;
  left: 20px;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hi-accent), var(--hi-accent-dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.howit__title {
  margin: 12px 0 10px 0;
  font-size: 16px; /* 👉 réduit pour tenir dans la card */
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.howit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hi-text);
}

.howit__text strong {
  color: var(--hi-accent-dark);
  font-weight: 700;
}

/* Responsive */
@media (min-width: 640px) {
  .howit__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .howit__grid { grid-template-columns: repeat(4, 1fr); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d58a27b *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION MASSAGE THAÏ ===== */
.massage-section {
    position: relative;
    min-height: 120vh;
    background: url('https://swiss-personal-training.ch/wp-content/uploads/2024/07/massage-therapeutique-thai-bandeau.webp') center/cover no-repeat;
    color: white;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.massage-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.massage-container {
    position: relative;
    z-index: 12;
    max-width: 1200px;
    margin: 0 auto;
    padding: 300px;
    height: 120vh;
}

.massage-title {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 900;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
}

.massage-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: #730020;
    margin: 16px auto 0;
}

.massage-content {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.massage-description {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 32px;
    color: white;
}

.massage-cta {
    display: inline-block;
    background: #730020;
    color: white;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.massage-cta:hover {
    background: #a0002d;
    transform: translateY(-2px);
    color: white;
}


/* Responsive Design */
@media (max-width: 768px) {
    .massage-container {
        padding: 30px;
    }
    
    .massage-title {
        font-size: 32px;
        margin-top: 20px;
    }
    
    .massage-title::after {
        width: 80px;
    }
    
    .massage-description {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .massage-container {
        padding: 20px;
    }
    
    .massage-title {
        font-size: 28px;
        margin-top: 15px;
    }
    
    .massage-title::after {
        width: 60px;
    }
    
    .massage-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 14px 28px;
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ed7328 *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION COACH CERTIFIÉ ===== */
.coach-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coach-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(115, 0, 32, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.coach-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.coach-content {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: stretch;
}

/* Section Image */
.coach-image {
    position: relative;
    animation: fadeInLeft 1s ease-out;
}

.coach-image__wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    transition: transform 0.4s ease;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.coach-image__wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.coach-image__wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, transparent 50%);
    z-index: 1;
}

.coach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.coach-image__badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    color: #730020;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

/* Section Contenu */
.coach-text {
    animation: fadeInRight 1s ease-out 0.3s both;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach-title {
    font-size: clamp(32px, 3.5vw, 42px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 20px;
    line-height: 1.2;
    position: relative;
}

.coach-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 2px;
}

.coach-description {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    line-height: 1.6;
    max-width: 480px;
}

.coach-features {
    margin-bottom: 36px;
}

.coach-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all 0.3s ease;
}

.coach-feature:hover {
    transform: translateX(8px);
    background: rgba(115, 0, 32, 0.02);
    border-radius: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid transparent;
}

.coach-feature:last-child {
    border-bottom: none;
}

.coach-feature__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(115, 0, 32, 0.25);
}

.coach-feature__icon::after {
    content: '✓';
    color: white;
    font-size: 13px;
    font-weight: bold;
}

.coach-feature__text {
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.coach-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: 0 8px 25px rgba(115, 0, 32, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.coach-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.coach-cta:hover::before {
    left: 100%;
}

.coach-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 50px rgba(115, 0, 32, 0.6);
}

.coach-cta__icon {
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coach-cta__icon::after {
    content: '→';
    font-size: 14px;
    font-weight: bold;
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Éléments décoratifs */
.coach-decoration {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, rgba(160, 0, 45, 0.05) 100%);
    border-radius: 50%;
    top: 20%;
    left: -100px;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .coach-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .coach-image__wrapper {
        transform: none;
        margin: 0 auto;
        max-width: 500px;
        height: 400px;
        min-height: 400px;
    }
    
    .coach-text {
        padding-left: 0;
    }
    
    .coach-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .coach-section {
        padding: 50px 0;
    }
    
    .coach-container {
        padding: 0 20px;
    }
    
    .coach-content {
        gap: 30px;
    }
    
    .coach-image__wrapper {
        max-width: 400px;
        height: 320px;
        min-height: 320px;
    }
    
    .coach-title {
        font-size: 28px;
    }
    
    .coach-description {
        font-size: 15px;
    }
    
    .coach-feature__text {
        font-size: 15px;
    }
    
    .coach-cta {
        padding: 14px 26px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .coach-image__wrapper {
        max-width: 350px;
        height: 280px;
        min-height: 280px;
    }
    
    .coach-feature {
        gap: 12px;
    }
    
    .coach-feature__icon {
        width: 20px;
        height: 20px;
    }
    
    .coach-feature__icon::after {
        font-size: 12px;
    }
    
    .coach-title {
        font-size: 24px;
    }
    
    .coach-description {
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-175db26 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://swiss-personal-training.ch/wp-content/uploads/2025/06/coaching-sportif-%E2%80%93-personal-training_99-1.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;
  }

  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  .spt-hero__left{
    background: rgba(0,0,0,.30);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  .spt-hero__right{
    background: rgba(0,0,0,.20);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  .spt-hero__particles{ opacity:.18; }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
@media (max-width:768px){
  .spt-hero{ --overlay-alpha: .32; }
}
@media (max-width:390px){
  .spt-hero{ --overlay-alpha: .28; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-65e1271 *//* ===== HOW-IT (corrigé) ===== */
.howit {
  --hi-bg: #ffffff;
  --hi-text: #1f2937;
  --hi-card: #ffffff;
  --hi-border: #2a2a2a;
  --hi-accent: #b80d1a;
  --hi-accent-dark: #7a0016;
  --hi-shadow: 0 10px 25px rgba(0,0,0,.08);
  --hi-radius: 16px;

  background: var(--hi-bg);
  color: var(--hi-text);
  padding: 60px 0; /* 👉 plus grand pour respirer */
  position: relative;
}

.howit__heading {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 16px;
  text-align: center;
}

.howit__heading h2 {
  margin: 0;
  font-weight: 800;
  font-size: 28px; /* 👉 un peu plus grand */
  color: var(--hi-accent-dark);
}

.howit__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.howit__card {
  background: var(--hi-card);
  border: 2px solid var(--hi-border);
  border-radius: var(--hi-radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--hi-shadow);
  transition: transform .25s ease, border-color .25s ease;
}

.howit__card:hover {
  transform: translateY(-4px);
  border-color: var(--hi-accent);
}

.howit__badge {
  position: absolute;
  top: -16px;
  left: 20px;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hi-accent), var(--hi-accent-dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.howit__title {
  margin: 12px 0 10px 0;
  font-size: 16px; /* 👉 réduit pour tenir dans la card */
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.howit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hi-text);
}

.howit__text strong {
  color: var(--hi-accent-dark);
  font-weight: 700;
}

/* Responsive */
@media (min-width: 640px) {
  .howit__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .howit__grid { grid-template-columns: repeat(4, 1fr); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d58a27b *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION MASSAGE THAÏ ===== */
.massage-section {
    position: relative;
    min-height: 120vh;
    background: url('https://swiss-personal-training.ch/wp-content/uploads/2024/07/massage-therapeutique-thai-bandeau.webp') center/cover no-repeat;
    color: white;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.massage-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.massage-container {
    position: relative;
    z-index: 12;
    max-width: 1200px;
    margin: 0 auto;
    padding: 300px;
    height: 120vh;
}

.massage-title {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 900;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
}

.massage-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: #730020;
    margin: 16px auto 0;
}

.massage-content {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.massage-description {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 32px;
    color: white;
}

.massage-cta {
    display: inline-block;
    background: #730020;
    color: white;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.massage-cta:hover {
    background: #a0002d;
    transform: translateY(-2px);
    color: white;
}


/* Responsive Design */
@media (max-width: 768px) {
    .massage-container {
        padding: 30px;
    }
    
    .massage-title {
        font-size: 32px;
        margin-top: 20px;
    }
    
    .massage-title::after {
        width: 80px;
    }
    
    .massage-description {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .massage-container {
        padding: 20px;
    }
    
    .massage-title {
        font-size: 28px;
        margin-top: 15px;
    }
    
    .massage-title::after {
        width: 60px;
    }
    
    .massage-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 14px 28px;
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ed7328 *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION COACH CERTIFIÉ ===== */
.coach-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coach-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(115, 0, 32, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.coach-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.coach-content {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: stretch;
}

/* Section Image */
.coach-image {
    position: relative;
    animation: fadeInLeft 1s ease-out;
}

.coach-image__wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    transition: transform 0.4s ease;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.coach-image__wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.coach-image__wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, transparent 50%);
    z-index: 1;
}

.coach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.coach-image__badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    color: #730020;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

/* Section Contenu */
.coach-text {
    animation: fadeInRight 1s ease-out 0.3s both;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach-title {
    font-size: clamp(32px, 3.5vw, 42px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 20px;
    line-height: 1.2;
    position: relative;
}

.coach-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 2px;
}

.coach-description {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    line-height: 1.6;
    max-width: 480px;
}

.coach-features {
    margin-bottom: 36px;
}

.coach-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all 0.3s ease;
}

.coach-feature:hover {
    transform: translateX(8px);
    background: rgba(115, 0, 32, 0.02);
    border-radius: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid transparent;
}

.coach-feature:last-child {
    border-bottom: none;
}

.coach-feature__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(115, 0, 32, 0.25);
}

.coach-feature__icon::after {
    content: '✓';
    color: white;
    font-size: 13px;
    font-weight: bold;
}

.coach-feature__text {
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.coach-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: 0 8px 25px rgba(115, 0, 32, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.coach-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.coach-cta:hover::before {
    left: 100%;
}

.coach-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 50px rgba(115, 0, 32, 0.6);
}

.coach-cta__icon {
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coach-cta__icon::after {
    content: '→';
    font-size: 14px;
    font-weight: bold;
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Éléments décoratifs */
.coach-decoration {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, rgba(160, 0, 45, 0.05) 100%);
    border-radius: 50%;
    top: 20%;
    left: -100px;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .coach-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .coach-image__wrapper {
        transform: none;
        margin: 0 auto;
        max-width: 500px;
        height: 400px;
        min-height: 400px;
    }
    
    .coach-text {
        padding-left: 0;
    }
    
    .coach-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .coach-section {
        padding: 50px 0;
    }
    
    .coach-container {
        padding: 0 20px;
    }
    
    .coach-content {
        gap: 30px;
    }
    
    .coach-image__wrapper {
        max-width: 400px;
        height: 320px;
        min-height: 320px;
    }
    
    .coach-title {
        font-size: 28px;
    }
    
    .coach-description {
        font-size: 15px;
    }
    
    .coach-feature__text {
        font-size: 15px;
    }
    
    .coach-cta {
        padding: 14px 26px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .coach-image__wrapper {
        max-width: 350px;
        height: 280px;
        min-height: 280px;
    }
    
    .coach-feature {
        gap: 12px;
    }
    
    .coach-feature__icon {
        width: 20px;
        height: 20px;
    }
    
    .coach-feature__icon::after {
        font-size: 12px;
    }
    
    .coach-title {
        font-size: 24px;
    }
    
    .coach-description {
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-175db26 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://swiss-personal-training.ch/wp-content/uploads/2025/06/coaching-sportif-%E2%80%93-personal-training_99-1.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;
  }

  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  .spt-hero__left{
    background: rgba(0,0,0,.30);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  .spt-hero__right{
    background: rgba(0,0,0,.20);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  .spt-hero__particles{ opacity:.18; }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
@media (max-width:768px){
  .spt-hero{ --overlay-alpha: .32; }
}
@media (max-width:390px){
  .spt-hero{ --overlay-alpha: .28; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-65e1271 *//* ===== HOW-IT (corrigé) ===== */
.howit {
  --hi-bg: #ffffff;
  --hi-text: #1f2937;
  --hi-card: #ffffff;
  --hi-border: #2a2a2a;
  --hi-accent: #b80d1a;
  --hi-accent-dark: #7a0016;
  --hi-shadow: 0 10px 25px rgba(0,0,0,.08);
  --hi-radius: 16px;

  background: var(--hi-bg);
  color: var(--hi-text);
  padding: 60px 0; /* 👉 plus grand pour respirer */
  position: relative;
}

.howit__heading {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 16px;
  text-align: center;
}

.howit__heading h2 {
  margin: 0;
  font-weight: 800;
  font-size: 28px; /* 👉 un peu plus grand */
  color: var(--hi-accent-dark);
}

.howit__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.howit__card {
  background: var(--hi-card);
  border: 2px solid var(--hi-border);
  border-radius: var(--hi-radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--hi-shadow);
  transition: transform .25s ease, border-color .25s ease;
}

.howit__card:hover {
  transform: translateY(-4px);
  border-color: var(--hi-accent);
}

.howit__badge {
  position: absolute;
  top: -16px;
  left: 20px;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hi-accent), var(--hi-accent-dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.howit__title {
  margin: 12px 0 10px 0;
  font-size: 16px; /* 👉 réduit pour tenir dans la card */
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.howit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hi-text);
}

.howit__text strong {
  color: var(--hi-accent-dark);
  font-weight: 700;
}

/* Responsive */
@media (min-width: 640px) {
  .howit__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .howit__grid { grid-template-columns: repeat(4, 1fr); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d58a27b *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION MASSAGE THAÏ ===== */
.massage-section {
    position: relative;
    min-height: 120vh;
    background: url('https://swiss-personal-training.ch/wp-content/uploads/2024/07/massage-therapeutique-thai-bandeau.webp') center/cover no-repeat;
    color: white;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.massage-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.massage-container {
    position: relative;
    z-index: 12;
    max-width: 1200px;
    margin: 0 auto;
    padding: 300px;
    height: 120vh;
}

.massage-title {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 900;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
}

.massage-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: #730020;
    margin: 16px auto 0;
}

.massage-content {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.massage-description {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 32px;
    color: white;
}

.massage-cta {
    display: inline-block;
    background: #730020;
    color: white;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.massage-cta:hover {
    background: #a0002d;
    transform: translateY(-2px);
    color: white;
}


/* Responsive Design */
@media (max-width: 768px) {
    .massage-container {
        padding: 30px;
    }
    
    .massage-title {
        font-size: 32px;
        margin-top: 20px;
    }
    
    .massage-title::after {
        width: 80px;
    }
    
    .massage-description {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .massage-container {
        padding: 20px;
    }
    
    .massage-title {
        font-size: 28px;
        margin-top: 15px;
    }
    
    .massage-title::after {
        width: 60px;
    }
    
    .massage-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 14px 28px;
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ed7328 *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION COACH CERTIFIÉ ===== */
.coach-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coach-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(115, 0, 32, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.coach-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.coach-content {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: stretch;
}

/* Section Image */
.coach-image {
    position: relative;
    animation: fadeInLeft 1s ease-out;
}

.coach-image__wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    transition: transform 0.4s ease;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.coach-image__wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.coach-image__wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, transparent 50%);
    z-index: 1;
}

.coach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.coach-image__badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    color: #730020;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

/* Section Contenu */
.coach-text {
    animation: fadeInRight 1s ease-out 0.3s both;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach-title {
    font-size: clamp(32px, 3.5vw, 42px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 20px;
    line-height: 1.2;
    position: relative;
}

.coach-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 2px;
}

.coach-description {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    line-height: 1.6;
    max-width: 480px;
}

.coach-features {
    margin-bottom: 36px;
}

.coach-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all 0.3s ease;
}

.coach-feature:hover {
    transform: translateX(8px);
    background: rgba(115, 0, 32, 0.02);
    border-radius: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid transparent;
}

.coach-feature:last-child {
    border-bottom: none;
}

.coach-feature__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(115, 0, 32, 0.25);
}

.coach-feature__icon::after {
    content: '✓';
    color: white;
    font-size: 13px;
    font-weight: bold;
}

.coach-feature__text {
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.coach-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: 0 8px 25px rgba(115, 0, 32, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.coach-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.coach-cta:hover::before {
    left: 100%;
}

.coach-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 50px rgba(115, 0, 32, 0.6);
}

.coach-cta__icon {
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coach-cta__icon::after {
    content: '→';
    font-size: 14px;
    font-weight: bold;
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Éléments décoratifs */
.coach-decoration {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, rgba(160, 0, 45, 0.05) 100%);
    border-radius: 50%;
    top: 20%;
    left: -100px;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .coach-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .coach-image__wrapper {
        transform: none;
        margin: 0 auto;
        max-width: 500px;
        height: 400px;
        min-height: 400px;
    }
    
    .coach-text {
        padding-left: 0;
    }
    
    .coach-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .coach-section {
        padding: 50px 0;
    }
    
    .coach-container {
        padding: 0 20px;
    }
    
    .coach-content {
        gap: 30px;
    }
    
    .coach-image__wrapper {
        max-width: 400px;
        height: 320px;
        min-height: 320px;
    }
    
    .coach-title {
        font-size: 28px;
    }
    
    .coach-description {
        font-size: 15px;
    }
    
    .coach-feature__text {
        font-size: 15px;
    }
    
    .coach-cta {
        padding: 14px 26px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .coach-image__wrapper {
        max-width: 350px;
        height: 280px;
        min-height: 280px;
    }
    
    .coach-feature {
        gap: 12px;
    }
    
    .coach-feature__icon {
        width: 20px;
        height: 20px;
    }
    
    .coach-feature__icon::after {
        font-size: 12px;
    }
    
    .coach-title {
        font-size: 24px;
    }
    
    .coach-description {
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-175db26 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://swiss-personal-training.ch/wp-content/uploads/2025/06/coaching-sportif-%E2%80%93-personal-training_99-1.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;
  }

  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  .spt-hero__left{
    background: rgba(0,0,0,.30);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  .spt-hero__right{
    background: rgba(0,0,0,.20);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  .spt-hero__particles{ opacity:.18; }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
@media (max-width:768px){
  .spt-hero{ --overlay-alpha: .32; }
}
@media (max-width:390px){
  .spt-hero{ --overlay-alpha: .28; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-65e1271 *//* ===== HOW-IT (corrigé) ===== */
.howit {
  --hi-bg: #ffffff;
  --hi-text: #1f2937;
  --hi-card: #ffffff;
  --hi-border: #2a2a2a;
  --hi-accent: #b80d1a;
  --hi-accent-dark: #7a0016;
  --hi-shadow: 0 10px 25px rgba(0,0,0,.08);
  --hi-radius: 16px;

  background: var(--hi-bg);
  color: var(--hi-text);
  padding: 60px 0; /* 👉 plus grand pour respirer */
  position: relative;
}

.howit__heading {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 16px;
  text-align: center;
}

.howit__heading h2 {
  margin: 0;
  font-weight: 800;
  font-size: 28px; /* 👉 un peu plus grand */
  color: var(--hi-accent-dark);
}

.howit__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.howit__card {
  background: var(--hi-card);
  border: 2px solid var(--hi-border);
  border-radius: var(--hi-radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--hi-shadow);
  transition: transform .25s ease, border-color .25s ease;
}

.howit__card:hover {
  transform: translateY(-4px);
  border-color: var(--hi-accent);
}

.howit__badge {
  position: absolute;
  top: -16px;
  left: 20px;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hi-accent), var(--hi-accent-dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.howit__title {
  margin: 12px 0 10px 0;
  font-size: 16px; /* 👉 réduit pour tenir dans la card */
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.howit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hi-text);
}

.howit__text strong {
  color: var(--hi-accent-dark);
  font-weight: 700;
}

/* Responsive */
@media (min-width: 640px) {
  .howit__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .howit__grid { grid-template-columns: repeat(4, 1fr); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d58a27b *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION MASSAGE THAÏ ===== */
.massage-section {
    position: relative;
    min-height: 120vh;
    background: url('https://swiss-personal-training.ch/wp-content/uploads/2024/07/massage-therapeutique-thai-bandeau.webp') center/cover no-repeat;
    color: white;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.massage-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.massage-container {
    position: relative;
    z-index: 12;
    max-width: 1200px;
    margin: 0 auto;
    padding: 300px;
    height: 120vh;
}

.massage-title {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 900;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
}

.massage-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: #730020;
    margin: 16px auto 0;
}

.massage-content {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.massage-description {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 32px;
    color: white;
}

.massage-cta {
    display: inline-block;
    background: #730020;
    color: white;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.massage-cta:hover {
    background: #a0002d;
    transform: translateY(-2px);
    color: white;
}


/* Responsive Design */
@media (max-width: 768px) {
    .massage-container {
        padding: 30px;
    }
    
    .massage-title {
        font-size: 32px;
        margin-top: 20px;
    }
    
    .massage-title::after {
        width: 80px;
    }
    
    .massage-description {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .massage-container {
        padding: 20px;
    }
    
    .massage-title {
        font-size: 28px;
        margin-top: 15px;
    }
    
    .massage-title::after {
        width: 60px;
    }
    
    .massage-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 14px 28px;
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ed7328 *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION COACH CERTIFIÉ ===== */
.coach-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coach-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(115, 0, 32, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.coach-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.coach-content {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: stretch;
}

/* Section Image */
.coach-image {
    position: relative;
    animation: fadeInLeft 1s ease-out;
}

.coach-image__wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    transition: transform 0.4s ease;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.coach-image__wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.coach-image__wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, transparent 50%);
    z-index: 1;
}

.coach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.coach-image__badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    color: #730020;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

/* Section Contenu */
.coach-text {
    animation: fadeInRight 1s ease-out 0.3s both;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach-title {
    font-size: clamp(32px, 3.5vw, 42px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 20px;
    line-height: 1.2;
    position: relative;
}

.coach-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 2px;
}

.coach-description {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    line-height: 1.6;
    max-width: 480px;
}

.coach-features {
    margin-bottom: 36px;
}

.coach-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all 0.3s ease;
}

.coach-feature:hover {
    transform: translateX(8px);
    background: rgba(115, 0, 32, 0.02);
    border-radius: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid transparent;
}

.coach-feature:last-child {
    border-bottom: none;
}

.coach-feature__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(115, 0, 32, 0.25);
}

.coach-feature__icon::after {
    content: '✓';
    color: white;
    font-size: 13px;
    font-weight: bold;
}

.coach-feature__text {
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.coach-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: 0 8px 25px rgba(115, 0, 32, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.coach-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.coach-cta:hover::before {
    left: 100%;
}

.coach-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 50px rgba(115, 0, 32, 0.6);
}

.coach-cta__icon {
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coach-cta__icon::after {
    content: '→';
    font-size: 14px;
    font-weight: bold;
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Éléments décoratifs */
.coach-decoration {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, rgba(160, 0, 45, 0.05) 100%);
    border-radius: 50%;
    top: 20%;
    left: -100px;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .coach-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .coach-image__wrapper {
        transform: none;
        margin: 0 auto;
        max-width: 500px;
        height: 400px;
        min-height: 400px;
    }
    
    .coach-text {
        padding-left: 0;
    }
    
    .coach-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .coach-section {
        padding: 50px 0;
    }
    
    .coach-container {
        padding: 0 20px;
    }
    
    .coach-content {
        gap: 30px;
    }
    
    .coach-image__wrapper {
        max-width: 400px;
        height: 320px;
        min-height: 320px;
    }
    
    .coach-title {
        font-size: 28px;
    }
    
    .coach-description {
        font-size: 15px;
    }
    
    .coach-feature__text {
        font-size: 15px;
    }
    
    .coach-cta {
        padding: 14px 26px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .coach-image__wrapper {
        max-width: 350px;
        height: 280px;
        min-height: 280px;
    }
    
    .coach-feature {
        gap: 12px;
    }
    
    .coach-feature__icon {
        width: 20px;
        height: 20px;
    }
    
    .coach-feature__icon::after {
        font-size: 12px;
    }
    
    .coach-title {
        font-size: 24px;
    }
    
    .coach-description {
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-175db26 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://swiss-personal-training.ch/wp-content/uploads/2025/06/coaching-sportif-%E2%80%93-personal-training_99-1.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;
  }

  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  .spt-hero__left{
    background: rgba(0,0,0,.30);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  .spt-hero__right{
    background: rgba(0,0,0,.20);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  .spt-hero__particles{ opacity:.18; }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
@media (max-width:768px){
  .spt-hero{ --overlay-alpha: .32; }
}
@media (max-width:390px){
  .spt-hero{ --overlay-alpha: .28; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-65e1271 *//* ===== HOW-IT (corrigé) ===== */
.howit {
  --hi-bg: #ffffff;
  --hi-text: #1f2937;
  --hi-card: #ffffff;
  --hi-border: #2a2a2a;
  --hi-accent: #b80d1a;
  --hi-accent-dark: #7a0016;
  --hi-shadow: 0 10px 25px rgba(0,0,0,.08);
  --hi-radius: 16px;

  background: var(--hi-bg);
  color: var(--hi-text);
  padding: 60px 0; /* 👉 plus grand pour respirer */
  position: relative;
}

.howit__heading {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 16px;
  text-align: center;
}

.howit__heading h2 {
  margin: 0;
  font-weight: 800;
  font-size: 28px; /* 👉 un peu plus grand */
  color: var(--hi-accent-dark);
}

.howit__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.howit__card {
  background: var(--hi-card);
  border: 2px solid var(--hi-border);
  border-radius: var(--hi-radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--hi-shadow);
  transition: transform .25s ease, border-color .25s ease;
}

.howit__card:hover {
  transform: translateY(-4px);
  border-color: var(--hi-accent);
}

.howit__badge {
  position: absolute;
  top: -16px;
  left: 20px;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hi-accent), var(--hi-accent-dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.howit__title {
  margin: 12px 0 10px 0;
  font-size: 16px; /* 👉 réduit pour tenir dans la card */
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.howit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hi-text);
}

.howit__text strong {
  color: var(--hi-accent-dark);
  font-weight: 700;
}

/* Responsive */
@media (min-width: 640px) {
  .howit__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .howit__grid { grid-template-columns: repeat(4, 1fr); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d58a27b *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION MASSAGE THAÏ ===== */
.massage-section {
    position: relative;
    min-height: 120vh;
    background: url('https://swiss-personal-training.ch/wp-content/uploads/2024/07/massage-therapeutique-thai-bandeau.webp') center/cover no-repeat;
    color: white;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.massage-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.massage-container {
    position: relative;
    z-index: 12;
    max-width: 1200px;
    margin: 0 auto;
    padding: 300px;
    height: 120vh;
}

.massage-title {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 900;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
}

.massage-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: #730020;
    margin: 16px auto 0;
}

.massage-content {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.massage-description {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 32px;
    color: white;
}

.massage-cta {
    display: inline-block;
    background: #730020;
    color: white;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.massage-cta:hover {
    background: #a0002d;
    transform: translateY(-2px);
    color: white;
}


/* Responsive Design */
@media (max-width: 768px) {
    .massage-container {
        padding: 30px;
    }
    
    .massage-title {
        font-size: 32px;
        margin-top: 20px;
    }
    
    .massage-title::after {
        width: 80px;
    }
    
    .massage-description {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .massage-container {
        padding: 20px;
    }
    
    .massage-title {
        font-size: 28px;
        margin-top: 15px;
    }
    
    .massage-title::after {
        width: 60px;
    }
    
    .massage-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 14px 28px;
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ed7328 *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION COACH CERTIFIÉ ===== */
.coach-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coach-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(115, 0, 32, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.coach-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.coach-content {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: stretch;
}

/* Section Image */
.coach-image {
    position: relative;
    animation: fadeInLeft 1s ease-out;
}

.coach-image__wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    transition: transform 0.4s ease;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.coach-image__wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.coach-image__wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, transparent 50%);
    z-index: 1;
}

.coach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.coach-image__badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    color: #730020;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

/* Section Contenu */
.coach-text {
    animation: fadeInRight 1s ease-out 0.3s both;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach-title {
    font-size: clamp(32px, 3.5vw, 42px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 20px;
    line-height: 1.2;
    position: relative;
}

.coach-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 2px;
}

.coach-description {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    line-height: 1.6;
    max-width: 480px;
}

.coach-features {
    margin-bottom: 36px;
}

.coach-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all 0.3s ease;
}

.coach-feature:hover {
    transform: translateX(8px);
    background: rgba(115, 0, 32, 0.02);
    border-radius: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid transparent;
}

.coach-feature:last-child {
    border-bottom: none;
}

.coach-feature__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(115, 0, 32, 0.25);
}

.coach-feature__icon::after {
    content: '✓';
    color: white;
    font-size: 13px;
    font-weight: bold;
}

.coach-feature__text {
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.coach-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: 0 8px 25px rgba(115, 0, 32, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.coach-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.coach-cta:hover::before {
    left: 100%;
}

.coach-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 50px rgba(115, 0, 32, 0.6);
}

.coach-cta__icon {
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coach-cta__icon::after {
    content: '→';
    font-size: 14px;
    font-weight: bold;
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Éléments décoratifs */
.coach-decoration {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, rgba(160, 0, 45, 0.05) 100%);
    border-radius: 50%;
    top: 20%;
    left: -100px;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .coach-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .coach-image__wrapper {
        transform: none;
        margin: 0 auto;
        max-width: 500px;
        height: 400px;
        min-height: 400px;
    }
    
    .coach-text {
        padding-left: 0;
    }
    
    .coach-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .coach-section {
        padding: 50px 0;
    }
    
    .coach-container {
        padding: 0 20px;
    }
    
    .coach-content {
        gap: 30px;
    }
    
    .coach-image__wrapper {
        max-width: 400px;
        height: 320px;
        min-height: 320px;
    }
    
    .coach-title {
        font-size: 28px;
    }
    
    .coach-description {
        font-size: 15px;
    }
    
    .coach-feature__text {
        font-size: 15px;
    }
    
    .coach-cta {
        padding: 14px 26px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .coach-image__wrapper {
        max-width: 350px;
        height: 280px;
        min-height: 280px;
    }
    
    .coach-feature {
        gap: 12px;
    }
    
    .coach-feature__icon {
        width: 20px;
        height: 20px;
    }
    
    .coach-feature__icon::after {
        font-size: 12px;
    }
    
    .coach-title {
        font-size: 24px;
    }
    
    .coach-description {
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-175db26 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://swiss-personal-training.ch/wp-content/uploads/2025/06/coaching-sportif-%E2%80%93-personal-training_99-1.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;
  }

  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  .spt-hero__left{
    background: rgba(0,0,0,.30);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  .spt-hero__right{
    background: rgba(0,0,0,.20);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  .spt-hero__particles{ opacity:.18; }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
@media (max-width:768px){
  .spt-hero{ --overlay-alpha: .32; }
}
@media (max-width:390px){
  .spt-hero{ --overlay-alpha: .28; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-65e1271 *//* ===== HOW-IT (corrigé) ===== */
.howit {
  --hi-bg: #ffffff;
  --hi-text: #1f2937;
  --hi-card: #ffffff;
  --hi-border: #2a2a2a;
  --hi-accent: #b80d1a;
  --hi-accent-dark: #7a0016;
  --hi-shadow: 0 10px 25px rgba(0,0,0,.08);
  --hi-radius: 16px;

  background: var(--hi-bg);
  color: var(--hi-text);
  padding: 60px 0; /* 👉 plus grand pour respirer */
  position: relative;
}

.howit__heading {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 16px;
  text-align: center;
}

.howit__heading h2 {
  margin: 0;
  font-weight: 800;
  font-size: 28px; /* 👉 un peu plus grand */
  color: var(--hi-accent-dark);
}

.howit__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.howit__card {
  background: var(--hi-card);
  border: 2px solid var(--hi-border);
  border-radius: var(--hi-radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--hi-shadow);
  transition: transform .25s ease, border-color .25s ease;
}

.howit__card:hover {
  transform: translateY(-4px);
  border-color: var(--hi-accent);
}

.howit__badge {
  position: absolute;
  top: -16px;
  left: 20px;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hi-accent), var(--hi-accent-dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.howit__title {
  margin: 12px 0 10px 0;
  font-size: 16px; /* 👉 réduit pour tenir dans la card */
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.howit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hi-text);
}

.howit__text strong {
  color: var(--hi-accent-dark);
  font-weight: 700;
}

/* Responsive */
@media (min-width: 640px) {
  .howit__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .howit__grid { grid-template-columns: repeat(4, 1fr); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d58a27b *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION MASSAGE THAÏ ===== */
.massage-section {
    position: relative;
    min-height: 120vh;
    background: url('https://swiss-personal-training.ch/wp-content/uploads/2024/07/massage-therapeutique-thai-bandeau.webp') center/cover no-repeat;
    color: white;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.massage-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.massage-container {
    position: relative;
    z-index: 12;
    max-width: 1200px;
    margin: 0 auto;
    padding: 300px;
    height: 120vh;
}

.massage-title {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 900;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
}

.massage-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: #730020;
    margin: 16px auto 0;
}

.massage-content {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.massage-description {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 32px;
    color: white;
}

.massage-cta {
    display: inline-block;
    background: #730020;
    color: white;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.massage-cta:hover {
    background: #a0002d;
    transform: translateY(-2px);
    color: white;
}


/* Responsive Design */
@media (max-width: 768px) {
    .massage-container {
        padding: 30px;
    }
    
    .massage-title {
        font-size: 32px;
        margin-top: 20px;
    }
    
    .massage-title::after {
        width: 80px;
    }
    
    .massage-description {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .massage-container {
        padding: 20px;
    }
    
    .massage-title {
        font-size: 28px;
        margin-top: 15px;
    }
    
    .massage-title::after {
        width: 60px;
    }
    
    .massage-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 14px 28px;
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ed7328 *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION COACH CERTIFIÉ ===== */
.coach-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coach-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(115, 0, 32, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.coach-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.coach-content {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: stretch;
}

/* Section Image */
.coach-image {
    position: relative;
    animation: fadeInLeft 1s ease-out;
}

.coach-image__wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    transition: transform 0.4s ease;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.coach-image__wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.coach-image__wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, transparent 50%);
    z-index: 1;
}

.coach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.coach-image__badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    color: #730020;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

/* Section Contenu */
.coach-text {
    animation: fadeInRight 1s ease-out 0.3s both;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach-title {
    font-size: clamp(32px, 3.5vw, 42px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 20px;
    line-height: 1.2;
    position: relative;
}

.coach-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 2px;
}

.coach-description {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    line-height: 1.6;
    max-width: 480px;
}

.coach-features {
    margin-bottom: 36px;
}

.coach-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all 0.3s ease;
}

.coach-feature:hover {
    transform: translateX(8px);
    background: rgba(115, 0, 32, 0.02);
    border-radius: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid transparent;
}

.coach-feature:last-child {
    border-bottom: none;
}

.coach-feature__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(115, 0, 32, 0.25);
}

.coach-feature__icon::after {
    content: '✓';
    color: white;
    font-size: 13px;
    font-weight: bold;
}

.coach-feature__text {
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.coach-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: 0 8px 25px rgba(115, 0, 32, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.coach-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.coach-cta:hover::before {
    left: 100%;
}

.coach-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 50px rgba(115, 0, 32, 0.6);
}

.coach-cta__icon {
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coach-cta__icon::after {
    content: '→';
    font-size: 14px;
    font-weight: bold;
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Éléments décoratifs */
.coach-decoration {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, rgba(160, 0, 45, 0.05) 100%);
    border-radius: 50%;
    top: 20%;
    left: -100px;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .coach-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .coach-image__wrapper {
        transform: none;
        margin: 0 auto;
        max-width: 500px;
        height: 400px;
        min-height: 400px;
    }
    
    .coach-text {
        padding-left: 0;
    }
    
    .coach-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .coach-section {
        padding: 50px 0;
    }
    
    .coach-container {
        padding: 0 20px;
    }
    
    .coach-content {
        gap: 30px;
    }
    
    .coach-image__wrapper {
        max-width: 400px;
        height: 320px;
        min-height: 320px;
    }
    
    .coach-title {
        font-size: 28px;
    }
    
    .coach-description {
        font-size: 15px;
    }
    
    .coach-feature__text {
        font-size: 15px;
    }
    
    .coach-cta {
        padding: 14px 26px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .coach-image__wrapper {
        max-width: 350px;
        height: 280px;
        min-height: 280px;
    }
    
    .coach-feature {
        gap: 12px;
    }
    
    .coach-feature__icon {
        width: 20px;
        height: 20px;
    }
    
    .coach-feature__icon::after {
        font-size: 12px;
    }
    
    .coach-title {
        font-size: 24px;
    }
    
    .coach-description {
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-175db26 *//* =========================================================
   SWISS PERSONAL TRAINING — HERO (CSS COMPLET + FIX HEADER)
   ========================================================= */

/* Base sizing fiable partout */
.spt-hero, .spt-hero * { box-sizing: border-box; }

/* 0) Police */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 0bis) Variables utilitaires — décalage vertical des services (desktop) */
:root{
  --services-shift-lg: 380px;  /* >=1280px */
  --services-shift-md: 300px;  /* 1025–1279px */
}

/* 1) Assure que le header passe au-dessus du hero */
header, .site-header, .elementor-location-header {
  position: relative;
  z-index: 1000;
}
body.admin-bar .elementor-location-header.elementor-sticky--active { top: 32px; }

/* 2) Bloc HERO */
.spt-hero {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  color: #fff;
  /* Variable si dispo, sinon fallback */
  background: var(--spt-hero-img, url('https://swiss-personal-training.ch/wp-content/uploads/2025/06/coaching-sportif-%E2%80%93-personal-training_99-1.webp')) center/cover no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
/* Overlay sombre */
.spt-hero::before{
  content:''; position:absolute; inset:0;
  background: rgba(0, 0, 0, var(--overlay-alpha, .5));
  z-index:0; pointer-events:none;
}

/* 2.1) Conteneur interne */
.spt-hero__container{
  position: relative; z-index:1;
  max-width: 1400px; margin: 0 auto; padding: 0 24px; width: 100%;
}

/* 2.2) Grille principale */
.spt-hero__content{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
  align-items:start; min-height:80vh; padding-top:6vh;
}

/* 3) Colonne gauche */
.spt-hero__left{ animation: slideInLeft 1s ease-out; margin-top:-24px; }

.spt-hero__badge{
  display:inline-flex; align-items:center;
  background: rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50px; padding:8px 20px;
  font-size:14px; font-weight:500; margin-bottom:24px; color:#fff;
}

.spt-hero__title{
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900; line-height: 1.1; margin-bottom: 32px;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  background:none!important; -webkit-background-clip:initial!important; -webkit-text-fill-color:initial!important;
}

/* “Swiss Personal Training” sur sa propre ligne */
.spt-hero__brand{
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:none!important; opacity:1!important; filter:none!important;
  white-space:nowrap; display:block; margin-bottom:20px;
}

.spt-hero__subtitle{
  font-size:22px; font-weight:500; line-height:1.4;
  margin-bottom:32px; color: rgba(255,255,255,.9); max-width:500px;
}

.spt-hero__features{ display:flex; flex-direction:column; gap:16px; margin-bottom:40px; }
.spt-hero__feature{ display:flex; align-items:center; gap:12px; font-size:18px; font-weight:500; }
.spt-hero__feature-icon{
  width:24px; height:24px; border-radius:50%;
  background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.spt-hero__feature-icon::after{ content:'✓'; color:#fff; font-size:14px; font-weight:700; }

.spt-hero__cta{ margin-bottom:48px; }

/* 4) Colonne droite (services) */
.spt-hero__right{
  animation: slideInRight 1s ease-out .3s both;
  margin-top:0; align-self:start;
}
.spt-hero__services-title{ font-size:24px; font-weight:700; margin-bottom:24px; text-align:center; }
.spt-hero__services{
  display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; margin-bottom:32px;
}
.spt-hero__location{
  text-align:center; font-size:16px; color: rgba(255,255,255,.8); font-weight:500;
}

/* 5) Boutons */
.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 32px; border-radius:12px; font-weight:700; font-size:16px;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition: all .3s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden;
}
.spt-btn::before{
  content:''; position:absolute; inset:0 auto 0 -100%;
  width:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition: left .5s;
}
.spt-btn:hover::before{ left:100%; }

/* 5.1) CTA blanc immuable */
.spt-btn--white,
.spt-btn--white:link,
.spt-btn--white:visited{
  background:#fff!important; color:#730020!important; border:2px solid #fff!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.spt-btn--white:hover,
.spt-btn--white:focus,
.spt-btn--white:active{
  background:#fff!important; color:#730020!important; border-color:#fff!important;
  transform:none; box-shadow:0 8px 28px rgba(0,0,0,.22);
}

/* 5.2) Bouton primaire bordeaux */
.spt-btn--primary{
  background: linear-gradient(135deg, #730020 0%, #730020 100%);
  color:#fff; box-shadow:0 8px 32px rgba(115,0,32,.4);
  font-size:18px; padding:18px 36px;
}
.spt-btn--primary:hover{ transform: translateY(-2px); box-shadow:0 12px 40px rgba(115,0,32,.6); }

/* 5.3) Boutons liste services */
.spt-btn--service{
  background:#fff; color:#730020; border:2px solid #730020;
  font-size:14px; padding:12px 20px; width:100%; font-weight:600; transition: all .3s ease-in-out;
}
.spt-btn--service:hover{ background:#730020; color:#fff; transform: translateY(-1px); box-shadow:0 8px 25px rgba(115,0,32,.3); }

/* 6) Particules (jamais cliquables, jamais au-dessus du header) */
.spt-hero__particles{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.particle{
  position:absolute; background: rgba(255,255,255,.1); border-radius:50%;
  animation: float 6s ease-in-out infinite; pointer-events:none;
}
.particle:nth-child(1){ width:4px; height:4px; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:6px; height:6px; left:20%; animation-delay:1s; }
.particle:nth-child(3){ width:3px; height:3px; left:30%; animation-delay:2s; }
.particle:nth-child(4){ width:5px; height:5px; left:40%; animation-delay:3s; }
.particle:nth-child(5){ width:4px; height:4px; left:50%; animation-delay:4s; }
.particle:nth-child(6){ width:6px; height:6px; left:60%; animation-delay:5s; }
.particle:nth-child(7){ width:3px; height:3px; left:70%; animation-delay:.5s; }
.particle:nth-child(8){ width:5px; height:5px; left:80%; animation-delay:1.5s; }
.particle:nth-child(9){ width:4px; height:4px; left:90%; animation-delay:2.5s; }

/* 7) Animations */
@keyframes slideInLeft { from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes slideInRight{ from{opacity:0; transform:translateX(50px)}  to{opacity:1; transform:translateX(0)} }
@keyframes float{ 0%,100%{ transform: translateY(100vh) rotate(0deg); opacity:0 } 10%,90%{ opacity:1 } }

/* =========================
   Responsive (Desktop → Mobile)
   ========================= */

@media (min-width: 1280px){
  .spt-hero__right{ margin-top: var(--services-shift-lg); }
}
@media (min-width:1025px) and (max-width:1279px){
  .spt-hero__right{ margin-top: var(--services-shift-md); }
}
@media (max-width:1200px){
  .spt-hero__content{ gap:64px; }
}
@media (max-width:1024px){
  .spt-hero__content{
    grid-template-columns:1fr;
    gap: 60px;
    text-align:center;
  }
  .spt-hero__right{ margin-top:0; }
}

/* ---------- PHONE & small tablet (<=768px) ---------- */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}
@media (max-width:768px){

  .spt-hero{
    min-height: auto;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .spt-hero__container{
    width:100%;
    padding-left:0 !important; padding-right:0 !important;
    margin-left:auto; margin-right:auto;
  }

  .spt-hero__content{
    grid-template-columns:1fr !important;
    gap:16px; min-height:auto; padding-top:12px;
    width:100%; justify-items: stretch;
  }

  .spt-hero__left,
  .spt-hero__right{
    width:100%; max-width:none; margin:0; border-radius:14px;
  }

  .spt-hero__left{
    background: rgba(0,0,0,.30);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    padding: 14px 12px 16px;
    text-align: left;
  }

  .spt-hero__badge{
    position:static; display:inline-flex;
    margin:2px 0 10px; padding:6px 10px; font-size:12px;
    background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
  }

  .spt-hero__title{
    font-size: clamp(24px, 7.2vw, 30px);
    line-height:1.18; margin:0 0 8px;
    text-wrap: balance; overflow-wrap:anywhere; hyphens:auto;
  }
  .spt-hero__title br{ display:none; }
  .spt-hero__brand{ margin-bottom:4px; }

  .spt-hero__subtitle{
    font-size:15.5px; line-height:1.5;
    margin:6px 0 12px; color: rgba(255,255,255,.95);
  }

  .spt-hero__features{ display:grid; gap:8px; margin-bottom:14px; }
  .spt-hero__feature{ font-size:15.5px; gap:8px; }
  .spt-hero__feature-icon{ width:18px; height:18px; }

  .spt-hero__cta{ margin:10px 0 8px; }
  .spt-btn--white{
    width:100%; padding:14px 16px; font-size:16px; border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.22); max-width:100%;
  }

  .spt-hero__right{
    background: rgba(0,0,0,.20);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    padding:12px;
  }
  .spt-hero__services-title{
    margin:0 0 10px; font-size:17px; text-align:center;
  }
  .spt-hero__services{
    display:grid; grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap:8px; align-items:stretch; justify-items:stretch; width:100%;
  }
  .spt-btn--service{
    width:100%; padding:12px 10px; font-size:15px; line-height:1.25;
    white-space: normal; border-radius:10px; box-shadow:0 4px 14px rgba(0,0,0,.14);
  }

  .spt-hero__location{
    text-align:center; font-size:13.5px; margin:6px 2px 0; color: rgba(255,255,255,.85);
  }

  .spt-hero__particles{ opacity:.18; }
}

/* ---------- Very small phones (<=390px) ---------- */
@media (max-width:390px){
  .spt-hero{ padding-left:10px; padding-right:10px; }
  .spt-hero__title{ font-size: clamp(22px, 7.8vw, 28px); }
  .spt-btn--service{ font-size:14.5px; padding:11px 10px; }
}
@media (max-width:768px){
  .spt-hero{ --overlay-alpha: .32; }
}
@media (max-width:390px){
  .spt-hero{ --overlay-alpha: .28; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-65e1271 *//* ===== HOW-IT (corrigé) ===== */
.howit {
  --hi-bg: #ffffff;
  --hi-text: #1f2937;
  --hi-card: #ffffff;
  --hi-border: #2a2a2a;
  --hi-accent: #b80d1a;
  --hi-accent-dark: #7a0016;
  --hi-shadow: 0 10px 25px rgba(0,0,0,.08);
  --hi-radius: 16px;

  background: var(--hi-bg);
  color: var(--hi-text);
  padding: 60px 0; /* 👉 plus grand pour respirer */
  position: relative;
}

.howit__heading {
  max-width: 1200px;
  margin: 0 auto 32px;
  padding: 0 16px;
  text-align: center;
}

.howit__heading h2 {
  margin: 0;
  font-weight: 800;
  font-size: 28px; /* 👉 un peu plus grand */
  color: var(--hi-accent-dark);
}

.howit__grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.howit__card {
  background: var(--hi-card);
  border: 2px solid var(--hi-border);
  border-radius: var(--hi-radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--hi-shadow);
  transition: transform .25s ease, border-color .25s ease;
}

.howit__card:hover {
  transform: translateY(-4px);
  border-color: var(--hi-accent);
}

.howit__badge {
  position: absolute;
  top: -16px;
  left: 20px;
  height: 36px;
  width: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--hi-accent), var(--hi-accent-dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 16px;
}

.howit__title {
  margin: 12px 0 10px 0;
  font-size: 16px; /* 👉 réduit pour tenir dans la card */
  font-weight: 700;
  color: #111827;
  text-transform: uppercase;
}

.howit__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--hi-text);
}

.howit__text strong {
  color: var(--hi-accent-dark);
  font-weight: 700;
}

/* Responsive */
@media (min-width: 640px) {
  .howit__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .howit__grid { grid-template-columns: repeat(4, 1fr); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d58a27b *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION MASSAGE THAÏ ===== */
.massage-section {
    position: relative;
    min-height: 120vh;
    background: url('https://swiss-personal-training.ch/wp-content/uploads/2024/07/massage-therapeutique-thai-bandeau.webp') center/cover no-repeat;
    color: white;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

.massage-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.massage-container {
    position: relative;
    z-index: 12;
    max-width: 1200px;
    margin: 0 auto;
    padding: 300px;
    height: 120vh;
}

.massage-title {
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 900;
    margin: 40px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: white;
}

.massage-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: #730020;
    margin: 16px auto 0;
}

.massage-content {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.massage-description {
    font-size: clamp(18px, 2.5vw, 24px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 32px;
    color: white;
}

.massage-cta {
    display: inline-block;
    background: #730020;
    color: white;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.massage-cta:hover {
    background: #a0002d;
    transform: translateY(-2px);
    color: white;
}


/* Responsive Design */
@media (max-width: 768px) {
    .massage-container {
        padding: 30px;
    }
    
    .massage-title {
        font-size: 32px;
        margin-top: 20px;
    }
    
    .massage-title::after {
        width: 80px;
    }
    
    .massage-description {
        font-size: 16px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .massage-container {
        padding: 20px;
    }
    
    .massage-title {
        font-size: 28px;
        margin-top: 15px;
    }
    
    .massage-title::after {
        width: 60px;
    }
    
    .massage-description {
        font-size: 15px;
        margin-bottom: 24px;
    }
    
    .massage-cta {
        padding: 14px 28px;
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0ed7328 *//* Import Google Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ===== SECTION COACH CERTIFIÉ ===== */
.coach-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.coach-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(115, 0, 32, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
}

.coach-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
}

.coach-content {
    display: grid;
    grid-template-columns: 450px 1fr;
    gap: 80px;
    align-items: stretch;
}

/* Section Image */
.coach-image {
    position: relative;
    animation: fadeInLeft 1s ease-out;
}

.coach-image__wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
    transition: transform 0.4s ease;
    width: 100%;
    height: 100%;
    min-height: 450px;
}

.coach-image__wrapper:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.coach-image__wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, transparent 50%);
    z-index: 1;
}

.coach-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.coach-image__badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    color: #730020;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

/* Section Contenu */
.coach-text {
    animation: fadeInRight 1s ease-out 0.3s both;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.coach-title {
    font-size: clamp(32px, 3.5vw, 42px);
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 20px;
    line-height: 1.2;
    position: relative;
}

.coach-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 80px;
    height: 4px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 2px;
}

.coach-description {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 32px;
    line-height: 1.6;
    max-width: 480px;
}

.coach-features {
    margin-bottom: 36px;
}

.coach-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all 0.3s ease;
}

.coach-feature:hover {
    transform: translateX(8px);
    background: rgba(115, 0, 32, 0.02);
    border-radius: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid transparent;
}

.coach-feature:last-child {
    border-bottom: none;
}

.coach-feature__icon {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 8px rgba(115, 0, 32, 0.25);
}

.coach-feature__icon::after {
    content: '✓';
    color: white;
    font-size: 13px;
    font-weight: bold;
}

.coach-feature__text {
    font-size: 16px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.coach-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #730020 0%, #a0002d 100%);
    color: white;
    padding: 16px 32px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    box-shadow: 0 8px 25px rgba(115, 0, 32, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.coach-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.6s;
}

.coach-cta:hover::before {
    left: 100%;
}

.coach-cta:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 20px 50px rgba(115, 0, 32, 0.6);
}

.coach-cta__icon {
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coach-cta__icon::after {
    content: '→';
    font-size: 14px;
    font-weight: bold;
}

/* Animations */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Éléments décoratifs */
.coach-decoration {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(115, 0, 32, 0.1) 0%, rgba(160, 0, 45, 0.05) 100%);
    border-radius: 50%;
    top: 20%;
    left: -100px;
    z-index: 1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .coach-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }
    
    .coach-image__wrapper {
        transform: none;
        margin: 0 auto;
        max-width: 500px;
        height: 400px;
        min-height: 400px;
    }
    
    .coach-text {
        padding-left: 0;
    }
    
    .coach-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .coach-section {
        padding: 50px 0;
    }
    
    .coach-container {
        padding: 0 20px;
    }
    
    .coach-content {
        gap: 30px;
    }
    
    .coach-image__wrapper {
        max-width: 400px;
        height: 320px;
        min-height: 320px;
    }
    
    .coach-title {
        font-size: 28px;
    }
    
    .coach-description {
        font-size: 15px;
    }
    
    .coach-feature__text {
        font-size: 15px;
    }
    
    .coach-cta {
        padding: 14px 26px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .coach-image__wrapper {
        max-width: 350px;
        height: 280px;
        min-height: 280px;
    }
    
    .coach-feature {
        gap: 12px;
    }
    
    .coach-feature__icon {
        width: 20px;
        height: 20px;
    }
    
    .coach-feature__icon::after {
        font-size: 12px;
    }
    
    .coach-title {
        font-size: 24px;
    }
    
    .coach-description {
        font-size: 14px;
    }
}/* End custom CSS */