.elementor-11524 .elementor-element.elementor-element-79ca3ae{--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-11524 .elementor-element.elementor-element-6342aa7{--display:flex;}.elementor-11524 .elementor-element.elementor-element-9c95bd8{--spacer-size:50px;}.elementor-11524 .elementor-element.elementor-element-e465136{--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-11524 .elementor-element.elementor-element-e465136::before, .elementor-11524 .elementor-element.elementor-element-e465136 > .elementor-background-video-container::before, .elementor-11524 .elementor-element.elementor-element-e465136 > .e-con-inner > .elementor-background-video-container::before, .elementor-11524 .elementor-element.elementor-element-e465136 > .elementor-background-slideshow::before, .elementor-11524 .elementor-element.elementor-element-e465136 > .e-con-inner > .elementor-background-slideshow::before, .elementor-11524 .elementor-element.elementor-element-e465136 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-11524 .elementor-element.elementor-element-71a4640{--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-11524 .elementor-element.elementor-element-f936c2d{text-align:center;}.elementor-11524 .elementor-element.elementor-element-f936c2d .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:4.7px;color:var( --e-global-color-4dcccda );}.elementor-11524 .elementor-element.elementor-element-77c81df{--spacer-size:11px;}.elementor-11524 .elementor-element.elementor-element-c46c0a9 > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0px 0px 22px 0px;}.elementor-11524 .elementor-element.elementor-element-c46c0a9{text-align:center;}.elementor-11524 .elementor-element.elementor-element-c46c0a9 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:64px;font-weight:bold;text-transform:uppercase;line-height:1.07em;color:var( --e-global-color-4dcccda );}.elementor-11524 .elementor-element.elementor-element-72d5887{--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-11524 .elementor-element.elementor-element-c3e45c7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-5c5c625{--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-11524 .elementor-element.elementor-element-0c07e6f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-967535c{--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-11524 .elementor-element.elementor-element-6f4f3d5{width:var( --container-widget-width, 99.038% );max-width:99.038%;--container-widget-width:99.038%;--container-widget-flex-grow:0;text-align:left;}.elementor-11524 .elementor-element.elementor-element-6f4f3d5 > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0px 0px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-6f4f3d5.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-11524 .elementor-element.elementor-element-6f4f3d5 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:3.2vw;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.1em;letter-spacing:-2px;word-spacing:0em;color:var( --e-global-color-4dcccda );}.elementor-11524 .elementor-element.elementor-element-71ecf08{--spacer-size:50px;}.elementor-11524 .elementor-element.elementor-element-bb1993a{--display:flex;--min-height:70vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-11524 .elementor-element.elementor-element-bb1993a:not(.elementor-motion-effects-element-type-background), .elementor-11524 .elementor-element.elementor-element-bb1993a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-11524 .elementor-element.elementor-element-408d093{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:35px 35px;--row-gap:35px;--column-gap:35px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-11524 .elementor-element.elementor-element-408d093.e-con{--align-self:flex-start;}.elementor-11524 .elementor-element.elementor-element-9f4022c > .elementor-widget-container{margin:2% 6% 0% 2%;padding:0% 0% 0% 0%;}.elementor-11524 .elementor-element.elementor-element-9f4022c{text-align:justify;font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;word-spacing:0em;color:var( --e-global-color-4dcccda );}.elementor-11524 .elementor-element.elementor-element-82a495f .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-11524 .elementor-element.elementor-element-82a495f .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:#00000038;}.elementor-11524 .elementor-element.elementor-element-82a495f{width:var( --container-widget-width, 55% );max-width:55%;--container-widget-width:55%;--container-widget-flex-grow:0;--image-transition-duration:1000ms;--overlay-transition-duration:1500ms;--content-text-align:center;--content-padding:24px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-11524 .elementor-element.elementor-element-2a17ec7 .elementor-repeater-item-0b0a661.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11524 .elementor-element.elementor-element-e2ff06b > .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-11524 .elementor-element.elementor-element-e2ff06b > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-281b5ac .elementor-repeater-item-5f830f3.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-11524 .elementor-element.elementor-element-912be5f{text-align:left;}.elementor-11524 .elementor-element.elementor-element-912be5f .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:60px;font-weight:500;text-transform:uppercase;color:#730020;}.elementor-11524 .elementor-element.elementor-element-912be5f .elementor-heading-title a:hover, .elementor-11524 .elementor-element.elementor-element-912be5f .elementor-heading-title a:focus{color:#730020;}.elementor-11524 .elementor-element.elementor-element-e884d87{--spacer-size:51px;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .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-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control{background-color:#ffffff;justify-content:flex-start;padding:11px 20px 12px 22px;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control:hover{background-color:#730020;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle.active-toggle > .jet-toggle__control{background-color:#730020;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__content{background-color:rgba(0,0,0,0);margin:0px 0px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 > .elementor-widget-container{margin:0% 0% 0% 0%;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion{border-radius:0px 0px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control .jet-toggle__label-icon{margin:0px 20px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .jet-toggle__label-text{text-align:left;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .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-11524 .elementor-element.elementor-element-d2c41f5 .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-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__control:hover .jet-toggle__label-text{color:#ffffff;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .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-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle.active-toggle > .jet-toggle__control .jet-toggle__label-text{color:#FFFFFF;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 .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-11524 .elementor-element.elementor-element-d2c41f5 .jet-accordion > .jet-accordion__inner > .jet-toggle > .jet-toggle__content > .jet-toggle__content-inner{padding:22px 15px 13px 26px;}.elementor-11524 .elementor-element.elementor-element-281b5ac{padding:96px 0px 104px 0px;}.elementor-11524 .elementor-element.elementor-element-744e7cc{--display:flex;}.elementor-11524 .elementor-element.elementor-element-149e3bd{--divider-border-style:solid;--divider-color:var( --e-global-color-4dcccda );--divider-border-width:4.7px;}.elementor-11524 .elementor-element.elementor-element-149e3bd .elementor-divider-separator{width:100%;}.elementor-11524 .elementor-element.elementor-element-149e3bd .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(min-width:768px){.elementor-11524 .elementor-element.elementor-element-e465136{--content-width:1200px;}.elementor-11524 .elementor-element.elementor-element-967535c{--content-width:1263px;}.elementor-11524 .elementor-element.elementor-element-408d093{--width:53%;}}@media(max-width:1024px) and (min-width:768px){.elementor-11524 .elementor-element.elementor-element-408d093{--width:100%;}}@media(max-width:1024px){.elementor-11524 .elementor-element.elementor-element-71a4640{--padding-top:68px;--padding-bottom:0px;--padding-left:54px;--padding-right:0px;}.elementor-11524 .elementor-element.elementor-element-c46c0a9 .elementor-heading-title{font-size:43px;}.elementor-11524 .elementor-element.elementor-element-6f4f3d5{text-align:center;}.elementor-11524 .elementor-element.elementor-element-6f4f3d5 .elementor-heading-title{font-size:50px;}.elementor-11524 .elementor-element.elementor-element-bb1993a{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:10%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-11524 .elementor-element.elementor-element-408d093{--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}.elementor-11524 .elementor-element.elementor-element-9f4022c{text-align:center;font-size:18px;line-height:1.5em;}.elementor-11524 .elementor-element.elementor-element-82a495f{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-11524 .elementor-element.elementor-element-e884d87{--spacer-size:25px;}.elementor-11524 .elementor-element.elementor-element-d2c41f5 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11524 .elementor-element.elementor-element-281b5ac{padding:40px 0px 40px 0px;}}@media(max-width:767px){.elementor-11524 .elementor-element.elementor-element-71a4640{--width:100%;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:0px;}.elementor-11524 .elementor-element.elementor-element-f936c2d .elementor-heading-title{font-size:16px;}.elementor-11524 .elementor-element.elementor-element-72d5887{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:5px;--padding-right:5px;}.elementor-11524 .elementor-element.elementor-element-5c5c625{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:5px;--padding-right:5px;}.elementor-11524 .elementor-element.elementor-element-6f4f3d5 .elementor-heading-title{font-size:30px;line-height:1.2em;}.elementor-11524 .elementor-element.elementor-element-71ecf08{--spacer-size:1px;}.elementor-11524 .elementor-element.elementor-element-bb1993a{--padding-top:15%;--padding-bottom:15%;--padding-left:5%;--padding-right:5%;}.elementor-11524 .elementor-element.elementor-element-408d093{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11524 .elementor-element.elementor-element-9f4022c{text-align:left;font-size:16px;}.elementor-11524 .elementor-element.elementor-element-912be5f .elementor-heading-title{font-size:36px;}.elementor-11524 .elementor-element.elementor-element-e884d87{--spacer-size:20px;}.elementor-11524 .elementor-element.elementor-element-281b5ac{padding:30px 0px 30px 0px;}}/* Start custom CSS for html, class: .elementor-element-3f485a8 *//* =========================================================
   HERO — FULL BACKGROUND + OVERLAY NOIR + THEME #730020
   (Aligné GAUCHE sur toutes tailles) — PT + Yoga
   ========================================================= */

/* Police + utilitaire */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.nowrap{ white-space: nowrap; }

/* Header au-dessus du hero (WordPress/Elementor) */
header, .site-header, .elementor-location-header{ position:relative; z-index:1000; }
body.admin-bar .elementor-location-header.elementor-sticky--active{ top:32px; }

/* === VARIABLES SCOPÉES AU HERO === */
.spt-hero{
  --spt-bg: #730020;
  --spt-overlay: rgba(0,0,0,.45); /* desktop par défaut (PT) */
  --spt-primary: #730020;
  --spt-text: #ffffff;
  --spt-muted: rgba(255,255,255,.88);
  --spt-card: rgba(255,255,255,.06);
  --spt-ring: rgba(255,255,255,.38);
  --spt-radius: 18px;
  --spt-shadow: 0 10px 30px rgba(0,0,0,.35);
  --spt-container: 1400px;

  /* Support Yoga (fond direct via variable inline) */
  --spt-hero-img: none;           /* ex: set inline: --spt-hero-img: url('...') */
  --overlay-alpha: .55;           /* fallback Yoga si --spt-overlay est absent */
}

/* === WRAPPER === */
.spt-hero{
  position: relative;
  isolation: isolate;
  color: var(--spt-text);
  min-height: 100vh;
  display: flex; align-items: center;
  padding: clamp(48px, 6vw, 92px) 24px;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Yoga : si l’image est fournie en variable, on l’applique ici */
  background: var(--spt-hero-img) center center / cover no-repeat;
}

/* === BACKGROUND (PT) — via un div séparé === */
.spt-hero__bg{
  position: absolute; inset: 0;
  z-index: -2; pointer-events: none;
  background:
    url('https://swiss-personal-training.ch/wp-content/uploads/2024/09/swiss-personal-training-mobile-1.webp')
    center center / cover no-repeat;
}

/* === OVERLAY — compatible PT (var --spt-overlay) ET Yoga (var --overlay-alpha) === */
.spt-hero::before{
  content:""; position:absolute; inset:0;
  background: var(--spt-overlay, rgba(0,0,0,var(--overlay-alpha)));
  z-index:-1; pointer-events:none;
}

/* === LAYOUT === */
.spt-hero__container{
  position: relative; z-index: 1;
  width: 100%; max-width: var(--spt-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  min-height: 80vh;
  padding-top: 6vh;
  text-align: left;                  /* ← alignement GAUCHE par défaut */
}

/* Sur mobile: 1 colonne mais on RESTE à gauche */
@media (max-width: 1024px){
  .spt-hero__container{
    grid-template-columns: 1fr;
    gap: 56px;
    text-align: left !important;
    min-height: auto;
    padding-top: 0;
  }
}

/* === COLONNE TEXTE (gauche) === */
.spt-hero__content{ animation: spt-slide-left .9s ease-out both; }

.spt-hero__eyebrow{
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:600; letter-spacing:.02em;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  color:#fff; padding:8px 16px; border-radius:999px;
  margin-bottom:20px;
}

.spt-hero__title{
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.1; font-weight: 900;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  color:#fff;
}

.spt-hero__subtitle{
  color: var(--spt-muted);
  font-size: 20px; line-height: 1.5;
  max-width: 560px; margin: 0 0 24px 0;
}
.spt-hero__subtitle strong{ font-weight:800; }

/* === BULLETS — PT (liste simple avec puce circulaire ✓) === */
.spt-hero__bullets{
  list-style: none; padding:0; margin: 0 0 32px 0;
  display:flex; flex-direction:column; gap:12px;
  align-items: flex-start;
}
.spt-hero__bullets li{
  position: relative; padding-left: 30px;
  font-size: 18px; font-weight: 500; color:#fff;
  text-align: left; align-items: flex-start;
}
.spt-hero__bullets li::before{
  content:'✓';
  position:absolute; left:0; top:.14em;
  width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  background: var(--spt-primary); color:#fff;
  font-size:13px; font-weight:700;
  box-shadow: 0 0 0 2px rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.18);
}

/* === BULLETS — Yoga (avec <span class="dot">) — look identique ✓ cercle bordeaux === */
.spt-hero__features{
  list-style:none; padding:0; margin: clamp(10px, 2vh, 20px) 0 0;
  display:grid; gap:12px;
}
.spt-hero__features li{
  position:relative; padding-left:32px; font-size:17px; font-weight:500; color:#fff;
  text-align: left;
}
.dot{
  position:absolute; left:0; top:.35em; width:18px; height:18px; border-radius:50%;
  background: var(--spt-primary);
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.dot::after{
  content:'✓'; position:absolute; inset:0; display:grid; place-items:center;
  font-size:12px; font-weight:800; color:#fff;
}

/* === CTA (les deux variantes) === */
.spt-hero__cta,
.spt-hero__ctaRow{
  display:flex; flex-wrap:wrap; gap:12px;
  justify-content: flex-start;
}
.spt-hero__cta{ margin: 6px 0 28px; }
.spt-hero__ctaRow{ margin-top: clamp(26px, 5.5vh, 60px); }

.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 14px 26px;
  border-radius: 12px;
  font-weight: 700; font-size: 16px;
  text-decoration: none; cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, color .25s, background .25s, border-color .25s ease;
  border: 2px solid transparent;
}
.spt-btn::before{ content:none; }

/* Bouton principal — #730020 plein */
.spt-btn--primary{
  background: var(--spt-primary);
  color:#fff;
  border-color: var(--spt-primary);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 38px rgba(0,0,0,.5);
}

/* Bouton secondaire (ghost) — fond blanc + texte #730020 */
.spt-btn--ghost{
  background:#fff;
  color: var(--spt-primary);
  border-color:#fff;
}
.spt-btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}

/* === BADGES — à gauche === */
.spt-hero__badges{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content: flex-start;
}
.spt-badge{
  color: var(--spt-primary);
  background:#fff;
  border:1px solid rgba(115,0,32,.25);
  padding: 8px 12px; border-radius: 999px;
  font-size:.88rem; line-height:1;
  backdrop-filter: blur(6px);
}

/* === COLONNE VISUEL (PT seulement, masquée par défaut car fond full) === */
.spt-hero__visual{ display:none; }
.spt-hero__card, .spt-hero__img, .spt-hero__tag{ display:none; }

/* === PARTICULES === */
.spt-hero__particles{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.spt-hero__particles span{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background: rgba(255,255,255,.28); filter: blur(1px); opacity:.8;
  animation: float 8s linear infinite;
}
.spt-hero__particles span:nth-child(1){ left:12%; top:18%; animation-duration: 9s; }
.spt-hero__particles span:nth-child(2){ left:26%; top:72%; animation-duration: 11s; }
.spt-hero__particles span:nth-child(3){ right:14%; top:22%; animation-duration: 10s; }
.spt-hero__particles span:nth-child(4){ right:6%; bottom:12%; animation-duration: 12s; }
.spt-hero__particles span:nth-child(5){ left:46%; top:8%; animation-duration: 13s; }

/* === Animations === */
@keyframes spt-slide-left{ from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes float{
  0%{ transform: translateY(0); opacity:.85; }
  50%{ transform: translateY(-8px); opacity:1; }
  100%{ transform: translateY(0); opacity:.85; }
}

/* === Responsive affinement === */
@media (max-width: 1200px){
  .spt-hero__container{ gap:64px; }
  .spt-hero__subtitle{ max-width:520px; }
}
@media (max-width: 1024px){
  .spt-hero__subtitle{ max-width:none; }
  .spt-hero__bullets{ align-items: flex-start !important; }
}

/* === Mobile : min-height 100svh et overlay plus clair === */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}

/* ====== Ajustements mobiles généraux ====== */
@media (max-width: 768px){
  /* PT : baisse l’opacité via --spt-overlay */
  .spt-hero{ --spt-overlay: rgba(0,0,0,.30); }
  /* Yoga : baisse l’opacité via --overlay-alpha si utilisé */
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .30; }

  .spt-hero__title{ font-size: 36px; }
  .spt-hero__subtitle{ font-size: 18px; }
  .spt-btn{ font-size:16px; padding: 13px 22px; }

  /* Particules adoucies */
  .spt-hero__particles{ opacity:.18; }
}

/* Très petits téléphones : overlay encore plus clair */
@media (max-width: 390px){
  .spt-hero{ --spt-overlay: rgba(0,0,0,.26); }
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .42; }
}

/* === Fix marges Elementor (si nécessaire) === */
.elementor .spt-hero{ padding-left: min(24px, 4vw); padding-right: min(24px, 4vw); }

/* === CTA "Commencer une séance" : texte blanc, aucun overlay === */
.spt-btn--primary,
.spt-btn--primary:link,
.spt-btn--primary:visited{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  text-shadow: none !important;
}
.spt-btn--primary::before{ display: none !important; }
.spt-btn--primary:hover,
.spt-btn--primary:focus,
.spt-btn--primary:active{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  transform: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* ===== Spacing ciblé — HERO Yoga Hatha (ta demande) ===== */
/* Plus d’air autour de la 3e puce (“Respiration…”) */
.spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){
  margin-top: 14px;
  margin-bottom: 14px;
}
/* Plus d’air au-dessus et en-dessous du bloc CTA */
.spt-hero.spt-hero--yoga .spt-hero__ctaRow{
  margin-top: clamp(36px, 6.5vh, 72px);
  margin-bottom: clamp(24px, 4vh, 40px);
  gap: 14px;
}
/* Plus d’air autour des badges */
.spt-hero.spt-hero--yoga .spt-hero__badges{
  margin-top: 26px;
  margin-bottom: clamp(10px, 3vh, 28px);
  gap: 12px;
}
/* Ajustements mobiles pour ces espacements */
@media (max-width: 720px){
  .spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){ margin-top:12px; margin-bottom:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:28px; margin-bottom:24px; gap:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:22px; margin-bottom:18px; gap:10px; }
}
@media (max-width: 390px){
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:26px; margin-bottom:20px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:20px; margin-bottom:16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c3e45c7 *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c07e6f *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f485a8 *//* =========================================================
   HERO — FULL BACKGROUND + OVERLAY NOIR + THEME #730020
   (Aligné GAUCHE sur toutes tailles) — PT + Yoga
   ========================================================= */

/* Police + utilitaire */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.nowrap{ white-space: nowrap; }

/* Header au-dessus du hero (WordPress/Elementor) */
header, .site-header, .elementor-location-header{ position:relative; z-index:1000; }
body.admin-bar .elementor-location-header.elementor-sticky--active{ top:32px; }

/* === VARIABLES SCOPÉES AU HERO === */
.spt-hero{
  --spt-bg: #730020;
  --spt-overlay: rgba(0,0,0,.45); /* desktop par défaut (PT) */
  --spt-primary: #730020;
  --spt-text: #ffffff;
  --spt-muted: rgba(255,255,255,.88);
  --spt-card: rgba(255,255,255,.06);
  --spt-ring: rgba(255,255,255,.38);
  --spt-radius: 18px;
  --spt-shadow: 0 10px 30px rgba(0,0,0,.35);
  --spt-container: 1400px;

  /* Support Yoga (fond direct via variable inline) */
  --spt-hero-img: none;           /* ex: set inline: --spt-hero-img: url('...') */
  --overlay-alpha: .55;           /* fallback Yoga si --spt-overlay est absent */
}

/* === WRAPPER === */
.spt-hero{
  position: relative;
  isolation: isolate;
  color: var(--spt-text);
  min-height: 100vh;
  display: flex; align-items: center;
  padding: clamp(48px, 6vw, 92px) 24px;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Yoga : si l’image est fournie en variable, on l’applique ici */
  background: var(--spt-hero-img) center center / cover no-repeat;
}

/* === BACKGROUND (PT) — via un div séparé === */
.spt-hero__bg{
  position: absolute; inset: 0;
  z-index: -2; pointer-events: none;
  background:
    url('https://swiss-personal-training.ch/wp-content/uploads/2024/09/swiss-personal-training-mobile-1.webp')
    center center / cover no-repeat;
}

/* === OVERLAY — compatible PT (var --spt-overlay) ET Yoga (var --overlay-alpha) === */
.spt-hero::before{
  content:""; position:absolute; inset:0;
  background: var(--spt-overlay, rgba(0,0,0,var(--overlay-alpha)));
  z-index:-1; pointer-events:none;
}

/* === LAYOUT === */
.spt-hero__container{
  position: relative; z-index: 1;
  width: 100%; max-width: var(--spt-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  min-height: 80vh;
  padding-top: 6vh;
  text-align: left;                  /* ← alignement GAUCHE par défaut */
}

/* Sur mobile: 1 colonne mais on RESTE à gauche */
@media (max-width: 1024px){
  .spt-hero__container{
    grid-template-columns: 1fr;
    gap: 56px;
    text-align: left !important;
    min-height: auto;
    padding-top: 0;
  }
}

/* === COLONNE TEXTE (gauche) === */
.spt-hero__content{ animation: spt-slide-left .9s ease-out both; }

.spt-hero__eyebrow{
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:600; letter-spacing:.02em;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  color:#fff; padding:8px 16px; border-radius:999px;
  margin-bottom:20px;
}

.spt-hero__title{
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.1; font-weight: 900;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  color:#fff;
}

.spt-hero__subtitle{
  color: var(--spt-muted);
  font-size: 20px; line-height: 1.5;
  max-width: 560px; margin: 0 0 24px 0;
}
.spt-hero__subtitle strong{ font-weight:800; }

/* === BULLETS — PT (liste simple avec puce circulaire ✓) === */
.spt-hero__bullets{
  list-style: none; padding:0; margin: 0 0 32px 0;
  display:flex; flex-direction:column; gap:12px;
  align-items: flex-start;
}
.spt-hero__bullets li{
  position: relative; padding-left: 30px;
  font-size: 18px; font-weight: 500; color:#fff;
  text-align: left; align-items: flex-start;
}
.spt-hero__bullets li::before{
  content:'✓';
  position:absolute; left:0; top:.14em;
  width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  background: var(--spt-primary); color:#fff;
  font-size:13px; font-weight:700;
  box-shadow: 0 0 0 2px rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.18);
}

/* === BULLETS — Yoga (avec <span class="dot">) — look identique ✓ cercle bordeaux === */
.spt-hero__features{
  list-style:none; padding:0; margin: clamp(10px, 2vh, 20px) 0 0;
  display:grid; gap:12px;
}
.spt-hero__features li{
  position:relative; padding-left:32px; font-size:17px; font-weight:500; color:#fff;
  text-align: left;
}
.dot{
  position:absolute; left:0; top:.35em; width:18px; height:18px; border-radius:50%;
  background: var(--spt-primary);
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.dot::after{
  content:'✓'; position:absolute; inset:0; display:grid; place-items:center;
  font-size:12px; font-weight:800; color:#fff;
}

/* === CTA (les deux variantes) === */
.spt-hero__cta,
.spt-hero__ctaRow{
  display:flex; flex-wrap:wrap; gap:12px;
  justify-content: flex-start;
}
.spt-hero__cta{ margin: 6px 0 28px; }
.spt-hero__ctaRow{ margin-top: clamp(26px, 5.5vh, 60px); }

.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 14px 26px;
  border-radius: 12px;
  font-weight: 700; font-size: 16px;
  text-decoration: none; cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, color .25s, background .25s, border-color .25s ease;
  border: 2px solid transparent;
}
.spt-btn::before{ content:none; }

/* Bouton principal — #730020 plein */
.spt-btn--primary{
  background: var(--spt-primary);
  color:#fff;
  border-color: var(--spt-primary);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 38px rgba(0,0,0,.5);
}

/* Bouton secondaire (ghost) — fond blanc + texte #730020 */
.spt-btn--ghost{
  background:#fff;
  color: var(--spt-primary);
  border-color:#fff;
}
.spt-btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}

/* === BADGES — à gauche === */
.spt-hero__badges{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content: flex-start;
}
.spt-badge{
  color: var(--spt-primary);
  background:#fff;
  border:1px solid rgba(115,0,32,.25);
  padding: 8px 12px; border-radius: 999px;
  font-size:.88rem; line-height:1;
  backdrop-filter: blur(6px);
}

/* === COLONNE VISUEL (PT seulement, masquée par défaut car fond full) === */
.spt-hero__visual{ display:none; }
.spt-hero__card, .spt-hero__img, .spt-hero__tag{ display:none; }

/* === PARTICULES === */
.spt-hero__particles{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.spt-hero__particles span{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background: rgba(255,255,255,.28); filter: blur(1px); opacity:.8;
  animation: float 8s linear infinite;
}
.spt-hero__particles span:nth-child(1){ left:12%; top:18%; animation-duration: 9s; }
.spt-hero__particles span:nth-child(2){ left:26%; top:72%; animation-duration: 11s; }
.spt-hero__particles span:nth-child(3){ right:14%; top:22%; animation-duration: 10s; }
.spt-hero__particles span:nth-child(4){ right:6%; bottom:12%; animation-duration: 12s; }
.spt-hero__particles span:nth-child(5){ left:46%; top:8%; animation-duration: 13s; }

/* === Animations === */
@keyframes spt-slide-left{ from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes float{
  0%{ transform: translateY(0); opacity:.85; }
  50%{ transform: translateY(-8px); opacity:1; }
  100%{ transform: translateY(0); opacity:.85; }
}

/* === Responsive affinement === */
@media (max-width: 1200px){
  .spt-hero__container{ gap:64px; }
  .spt-hero__subtitle{ max-width:520px; }
}
@media (max-width: 1024px){
  .spt-hero__subtitle{ max-width:none; }
  .spt-hero__bullets{ align-items: flex-start !important; }
}

/* === Mobile : min-height 100svh et overlay plus clair === */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}

/* ====== Ajustements mobiles généraux ====== */
@media (max-width: 768px){
  /* PT : baisse l’opacité via --spt-overlay */
  .spt-hero{ --spt-overlay: rgba(0,0,0,.30); }
  /* Yoga : baisse l’opacité via --overlay-alpha si utilisé */
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .30; }

  .spt-hero__title{ font-size: 36px; }
  .spt-hero__subtitle{ font-size: 18px; }
  .spt-btn{ font-size:16px; padding: 13px 22px; }

  /* Particules adoucies */
  .spt-hero__particles{ opacity:.18; }
}

/* Très petits téléphones : overlay encore plus clair */
@media (max-width: 390px){
  .spt-hero{ --spt-overlay: rgba(0,0,0,.26); }
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .42; }
}

/* === Fix marges Elementor (si nécessaire) === */
.elementor .spt-hero{ padding-left: min(24px, 4vw); padding-right: min(24px, 4vw); }

/* === CTA "Commencer une séance" : texte blanc, aucun overlay === */
.spt-btn--primary,
.spt-btn--primary:link,
.spt-btn--primary:visited{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  text-shadow: none !important;
}
.spt-btn--primary::before{ display: none !important; }
.spt-btn--primary:hover,
.spt-btn--primary:focus,
.spt-btn--primary:active{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  transform: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* ===== Spacing ciblé — HERO Yoga Hatha (ta demande) ===== */
/* Plus d’air autour de la 3e puce (“Respiration…”) */
.spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){
  margin-top: 14px;
  margin-bottom: 14px;
}
/* Plus d’air au-dessus et en-dessous du bloc CTA */
.spt-hero.spt-hero--yoga .spt-hero__ctaRow{
  margin-top: clamp(36px, 6.5vh, 72px);
  margin-bottom: clamp(24px, 4vh, 40px);
  gap: 14px;
}
/* Plus d’air autour des badges */
.spt-hero.spt-hero--yoga .spt-hero__badges{
  margin-top: 26px;
  margin-bottom: clamp(10px, 3vh, 28px);
  gap: 12px;
}
/* Ajustements mobiles pour ces espacements */
@media (max-width: 720px){
  .spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){ margin-top:12px; margin-bottom:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:28px; margin-bottom:24px; gap:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:22px; margin-bottom:18px; gap:10px; }
}
@media (max-width: 390px){
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:26px; margin-bottom:20px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:20px; margin-bottom:16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c3e45c7 *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c07e6f *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f485a8 *//* =========================================================
   HERO — FULL BACKGROUND + OVERLAY NOIR + THEME #730020
   (Aligné GAUCHE sur toutes tailles) — PT + Yoga
   ========================================================= */

/* Police + utilitaire */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.nowrap{ white-space: nowrap; }

/* Header au-dessus du hero (WordPress/Elementor) */
header, .site-header, .elementor-location-header{ position:relative; z-index:1000; }
body.admin-bar .elementor-location-header.elementor-sticky--active{ top:32px; }

/* === VARIABLES SCOPÉES AU HERO === */
.spt-hero{
  --spt-bg: #730020;
  --spt-overlay: rgba(0,0,0,.45); /* desktop par défaut (PT) */
  --spt-primary: #730020;
  --spt-text: #ffffff;
  --spt-muted: rgba(255,255,255,.88);
  --spt-card: rgba(255,255,255,.06);
  --spt-ring: rgba(255,255,255,.38);
  --spt-radius: 18px;
  --spt-shadow: 0 10px 30px rgba(0,0,0,.35);
  --spt-container: 1400px;

  /* Support Yoga (fond direct via variable inline) */
  --spt-hero-img: none;           /* ex: set inline: --spt-hero-img: url('...') */
  --overlay-alpha: .55;           /* fallback Yoga si --spt-overlay est absent */
}

/* === WRAPPER === */
.spt-hero{
  position: relative;
  isolation: isolate;
  color: var(--spt-text);
  min-height: 100vh;
  display: flex; align-items: center;
  padding: clamp(48px, 6vw, 92px) 24px;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Yoga : si l’image est fournie en variable, on l’applique ici */
  background: var(--spt-hero-img) center center / cover no-repeat;
}

/* === BACKGROUND (PT) — via un div séparé === */
.spt-hero__bg{
  position: absolute; inset: 0;
  z-index: -2; pointer-events: none;
  background:
    url('https://swiss-personal-training.ch/wp-content/uploads/2024/09/swiss-personal-training-mobile-1.webp')
    center center / cover no-repeat;
}

/* === OVERLAY — compatible PT (var --spt-overlay) ET Yoga (var --overlay-alpha) === */
.spt-hero::before{
  content:""; position:absolute; inset:0;
  background: var(--spt-overlay, rgba(0,0,0,var(--overlay-alpha)));
  z-index:-1; pointer-events:none;
}

/* === LAYOUT === */
.spt-hero__container{
  position: relative; z-index: 1;
  width: 100%; max-width: var(--spt-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  min-height: 80vh;
  padding-top: 6vh;
  text-align: left;                  /* ← alignement GAUCHE par défaut */
}

/* Sur mobile: 1 colonne mais on RESTE à gauche */
@media (max-width: 1024px){
  .spt-hero__container{
    grid-template-columns: 1fr;
    gap: 56px;
    text-align: left !important;
    min-height: auto;
    padding-top: 0;
  }
}

/* === COLONNE TEXTE (gauche) === */
.spt-hero__content{ animation: spt-slide-left .9s ease-out both; }

.spt-hero__eyebrow{
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:600; letter-spacing:.02em;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  color:#fff; padding:8px 16px; border-radius:999px;
  margin-bottom:20px;
}

.spt-hero__title{
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.1; font-weight: 900;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  color:#fff;
}

.spt-hero__subtitle{
  color: var(--spt-muted);
  font-size: 20px; line-height: 1.5;
  max-width: 560px; margin: 0 0 24px 0;
}
.spt-hero__subtitle strong{ font-weight:800; }

/* === BULLETS — PT (liste simple avec puce circulaire ✓) === */
.spt-hero__bullets{
  list-style: none; padding:0; margin: 0 0 32px 0;
  display:flex; flex-direction:column; gap:12px;
  align-items: flex-start;
}
.spt-hero__bullets li{
  position: relative; padding-left: 30px;
  font-size: 18px; font-weight: 500; color:#fff;
  text-align: left; align-items: flex-start;
}
.spt-hero__bullets li::before{
  content:'✓';
  position:absolute; left:0; top:.14em;
  width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  background: var(--spt-primary); color:#fff;
  font-size:13px; font-weight:700;
  box-shadow: 0 0 0 2px rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.18);
}

/* === BULLETS — Yoga (avec <span class="dot">) — look identique ✓ cercle bordeaux === */
.spt-hero__features{
  list-style:none; padding:0; margin: clamp(10px, 2vh, 20px) 0 0;
  display:grid; gap:12px;
}
.spt-hero__features li{
  position:relative; padding-left:32px; font-size:17px; font-weight:500; color:#fff;
  text-align: left;
}
.dot{
  position:absolute; left:0; top:.35em; width:18px; height:18px; border-radius:50%;
  background: var(--spt-primary);
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.dot::after{
  content:'✓'; position:absolute; inset:0; display:grid; place-items:center;
  font-size:12px; font-weight:800; color:#fff;
}

/* === CTA (les deux variantes) === */
.spt-hero__cta,
.spt-hero__ctaRow{
  display:flex; flex-wrap:wrap; gap:12px;
  justify-content: flex-start;
}
.spt-hero__cta{ margin: 6px 0 28px; }
.spt-hero__ctaRow{ margin-top: clamp(26px, 5.5vh, 60px); }

.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 14px 26px;
  border-radius: 12px;
  font-weight: 700; font-size: 16px;
  text-decoration: none; cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, color .25s, background .25s, border-color .25s ease;
  border: 2px solid transparent;
}
.spt-btn::before{ content:none; }

/* Bouton principal — #730020 plein */
.spt-btn--primary{
  background: var(--spt-primary);
  color:#fff;
  border-color: var(--spt-primary);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 38px rgba(0,0,0,.5);
}

/* Bouton secondaire (ghost) — fond blanc + texte #730020 */
.spt-btn--ghost{
  background:#fff;
  color: var(--spt-primary);
  border-color:#fff;
}
.spt-btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}

/* === BADGES — à gauche === */
.spt-hero__badges{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content: flex-start;
}
.spt-badge{
  color: var(--spt-primary);
  background:#fff;
  border:1px solid rgba(115,0,32,.25);
  padding: 8px 12px; border-radius: 999px;
  font-size:.88rem; line-height:1;
  backdrop-filter: blur(6px);
}

/* === COLONNE VISUEL (PT seulement, masquée par défaut car fond full) === */
.spt-hero__visual{ display:none; }
.spt-hero__card, .spt-hero__img, .spt-hero__tag{ display:none; }

/* === PARTICULES === */
.spt-hero__particles{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.spt-hero__particles span{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background: rgba(255,255,255,.28); filter: blur(1px); opacity:.8;
  animation: float 8s linear infinite;
}
.spt-hero__particles span:nth-child(1){ left:12%; top:18%; animation-duration: 9s; }
.spt-hero__particles span:nth-child(2){ left:26%; top:72%; animation-duration: 11s; }
.spt-hero__particles span:nth-child(3){ right:14%; top:22%; animation-duration: 10s; }
.spt-hero__particles span:nth-child(4){ right:6%; bottom:12%; animation-duration: 12s; }
.spt-hero__particles span:nth-child(5){ left:46%; top:8%; animation-duration: 13s; }

/* === Animations === */
@keyframes spt-slide-left{ from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes float{
  0%{ transform: translateY(0); opacity:.85; }
  50%{ transform: translateY(-8px); opacity:1; }
  100%{ transform: translateY(0); opacity:.85; }
}

/* === Responsive affinement === */
@media (max-width: 1200px){
  .spt-hero__container{ gap:64px; }
  .spt-hero__subtitle{ max-width:520px; }
}
@media (max-width: 1024px){
  .spt-hero__subtitle{ max-width:none; }
  .spt-hero__bullets{ align-items: flex-start !important; }
}

/* === Mobile : min-height 100svh et overlay plus clair === */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}

/* ====== Ajustements mobiles généraux ====== */
@media (max-width: 768px){
  /* PT : baisse l’opacité via --spt-overlay */
  .spt-hero{ --spt-overlay: rgba(0,0,0,.30); }
  /* Yoga : baisse l’opacité via --overlay-alpha si utilisé */
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .30; }

  .spt-hero__title{ font-size: 36px; }
  .spt-hero__subtitle{ font-size: 18px; }
  .spt-btn{ font-size:16px; padding: 13px 22px; }

  /* Particules adoucies */
  .spt-hero__particles{ opacity:.18; }
}

/* Très petits téléphones : overlay encore plus clair */
@media (max-width: 390px){
  .spt-hero{ --spt-overlay: rgba(0,0,0,.26); }
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .42; }
}

/* === Fix marges Elementor (si nécessaire) === */
.elementor .spt-hero{ padding-left: min(24px, 4vw); padding-right: min(24px, 4vw); }

/* === CTA "Commencer une séance" : texte blanc, aucun overlay === */
.spt-btn--primary,
.spt-btn--primary:link,
.spt-btn--primary:visited{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  text-shadow: none !important;
}
.spt-btn--primary::before{ display: none !important; }
.spt-btn--primary:hover,
.spt-btn--primary:focus,
.spt-btn--primary:active{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  transform: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* ===== Spacing ciblé — HERO Yoga Hatha (ta demande) ===== */
/* Plus d’air autour de la 3e puce (“Respiration…”) */
.spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){
  margin-top: 14px;
  margin-bottom: 14px;
}
/* Plus d’air au-dessus et en-dessous du bloc CTA */
.spt-hero.spt-hero--yoga .spt-hero__ctaRow{
  margin-top: clamp(36px, 6.5vh, 72px);
  margin-bottom: clamp(24px, 4vh, 40px);
  gap: 14px;
}
/* Plus d’air autour des badges */
.spt-hero.spt-hero--yoga .spt-hero__badges{
  margin-top: 26px;
  margin-bottom: clamp(10px, 3vh, 28px);
  gap: 12px;
}
/* Ajustements mobiles pour ces espacements */
@media (max-width: 720px){
  .spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){ margin-top:12px; margin-bottom:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:28px; margin-bottom:24px; gap:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:22px; margin-bottom:18px; gap:10px; }
}
@media (max-width: 390px){
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:26px; margin-bottom:20px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:20px; margin-bottom:16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c3e45c7 *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c07e6f *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f485a8 *//* =========================================================
   HERO — FULL BACKGROUND + OVERLAY NOIR + THEME #730020
   (Aligné GAUCHE sur toutes tailles) — PT + Yoga
   ========================================================= */

/* Police + utilitaire */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.nowrap{ white-space: nowrap; }

/* Header au-dessus du hero (WordPress/Elementor) */
header, .site-header, .elementor-location-header{ position:relative; z-index:1000; }
body.admin-bar .elementor-location-header.elementor-sticky--active{ top:32px; }

/* === VARIABLES SCOPÉES AU HERO === */
.spt-hero{
  --spt-bg: #730020;
  --spt-overlay: rgba(0,0,0,.45); /* desktop par défaut (PT) */
  --spt-primary: #730020;
  --spt-text: #ffffff;
  --spt-muted: rgba(255,255,255,.88);
  --spt-card: rgba(255,255,255,.06);
  --spt-ring: rgba(255,255,255,.38);
  --spt-radius: 18px;
  --spt-shadow: 0 10px 30px rgba(0,0,0,.35);
  --spt-container: 1400px;

  /* Support Yoga (fond direct via variable inline) */
  --spt-hero-img: none;           /* ex: set inline: --spt-hero-img: url('...') */
  --overlay-alpha: .55;           /* fallback Yoga si --spt-overlay est absent */
}

/* === WRAPPER === */
.spt-hero{
  position: relative;
  isolation: isolate;
  color: var(--spt-text);
  min-height: 100vh;
  display: flex; align-items: center;
  padding: clamp(48px, 6vw, 92px) 24px;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Yoga : si l’image est fournie en variable, on l’applique ici */
  background: var(--spt-hero-img) center center / cover no-repeat;
}

/* === BACKGROUND (PT) — via un div séparé === */
.spt-hero__bg{
  position: absolute; inset: 0;
  z-index: -2; pointer-events: none;
  background:
    url('https://swiss-personal-training.ch/wp-content/uploads/2024/09/swiss-personal-training-mobile-1.webp')
    center center / cover no-repeat;
}

/* === OVERLAY — compatible PT (var --spt-overlay) ET Yoga (var --overlay-alpha) === */
.spt-hero::before{
  content:""; position:absolute; inset:0;
  background: var(--spt-overlay, rgba(0,0,0,var(--overlay-alpha)));
  z-index:-1; pointer-events:none;
}

/* === LAYOUT === */
.spt-hero__container{
  position: relative; z-index: 1;
  width: 100%; max-width: var(--spt-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  min-height: 80vh;
  padding-top: 6vh;
  text-align: left;                  /* ← alignement GAUCHE par défaut */
}

/* Sur mobile: 1 colonne mais on RESTE à gauche */
@media (max-width: 1024px){
  .spt-hero__container{
    grid-template-columns: 1fr;
    gap: 56px;
    text-align: left !important;
    min-height: auto;
    padding-top: 0;
  }
}

/* === COLONNE TEXTE (gauche) === */
.spt-hero__content{ animation: spt-slide-left .9s ease-out both; }

.spt-hero__eyebrow{
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:600; letter-spacing:.02em;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  color:#fff; padding:8px 16px; border-radius:999px;
  margin-bottom:20px;
}

.spt-hero__title{
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.1; font-weight: 900;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  color:#fff;
}

.spt-hero__subtitle{
  color: var(--spt-muted);
  font-size: 20px; line-height: 1.5;
  max-width: 560px; margin: 0 0 24px 0;
}
.spt-hero__subtitle strong{ font-weight:800; }

/* === BULLETS — PT (liste simple avec puce circulaire ✓) === */
.spt-hero__bullets{
  list-style: none; padding:0; margin: 0 0 32px 0;
  display:flex; flex-direction:column; gap:12px;
  align-items: flex-start;
}
.spt-hero__bullets li{
  position: relative; padding-left: 30px;
  font-size: 18px; font-weight: 500; color:#fff;
  text-align: left; align-items: flex-start;
}
.spt-hero__bullets li::before{
  content:'✓';
  position:absolute; left:0; top:.14em;
  width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  background: var(--spt-primary); color:#fff;
  font-size:13px; font-weight:700;
  box-shadow: 0 0 0 2px rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.18);
}

/* === BULLETS — Yoga (avec <span class="dot">) — look identique ✓ cercle bordeaux === */
.spt-hero__features{
  list-style:none; padding:0; margin: clamp(10px, 2vh, 20px) 0 0;
  display:grid; gap:12px;
}
.spt-hero__features li{
  position:relative; padding-left:32px; font-size:17px; font-weight:500; color:#fff;
  text-align: left;
}
.dot{
  position:absolute; left:0; top:.35em; width:18px; height:18px; border-radius:50%;
  background: var(--spt-primary);
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.dot::after{
  content:'✓'; position:absolute; inset:0; display:grid; place-items:center;
  font-size:12px; font-weight:800; color:#fff;
}

/* === CTA (les deux variantes) === */
.spt-hero__cta,
.spt-hero__ctaRow{
  display:flex; flex-wrap:wrap; gap:12px;
  justify-content: flex-start;
}
.spt-hero__cta{ margin: 6px 0 28px; }
.spt-hero__ctaRow{ margin-top: clamp(26px, 5.5vh, 60px); }

.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 14px 26px;
  border-radius: 12px;
  font-weight: 700; font-size: 16px;
  text-decoration: none; cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, color .25s, background .25s, border-color .25s ease;
  border: 2px solid transparent;
}
.spt-btn::before{ content:none; }

/* Bouton principal — #730020 plein */
.spt-btn--primary{
  background: var(--spt-primary);
  color:#fff;
  border-color: var(--spt-primary);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 38px rgba(0,0,0,.5);
}

/* Bouton secondaire (ghost) — fond blanc + texte #730020 */
.spt-btn--ghost{
  background:#fff;
  color: var(--spt-primary);
  border-color:#fff;
}
.spt-btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}

/* === BADGES — à gauche === */
.spt-hero__badges{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content: flex-start;
}
.spt-badge{
  color: var(--spt-primary);
  background:#fff;
  border:1px solid rgba(115,0,32,.25);
  padding: 8px 12px; border-radius: 999px;
  font-size:.88rem; line-height:1;
  backdrop-filter: blur(6px);
}

/* === COLONNE VISUEL (PT seulement, masquée par défaut car fond full) === */
.spt-hero__visual{ display:none; }
.spt-hero__card, .spt-hero__img, .spt-hero__tag{ display:none; }

/* === PARTICULES === */
.spt-hero__particles{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.spt-hero__particles span{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background: rgba(255,255,255,.28); filter: blur(1px); opacity:.8;
  animation: float 8s linear infinite;
}
.spt-hero__particles span:nth-child(1){ left:12%; top:18%; animation-duration: 9s; }
.spt-hero__particles span:nth-child(2){ left:26%; top:72%; animation-duration: 11s; }
.spt-hero__particles span:nth-child(3){ right:14%; top:22%; animation-duration: 10s; }
.spt-hero__particles span:nth-child(4){ right:6%; bottom:12%; animation-duration: 12s; }
.spt-hero__particles span:nth-child(5){ left:46%; top:8%; animation-duration: 13s; }

/* === Animations === */
@keyframes spt-slide-left{ from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes float{
  0%{ transform: translateY(0); opacity:.85; }
  50%{ transform: translateY(-8px); opacity:1; }
  100%{ transform: translateY(0); opacity:.85; }
}

/* === Responsive affinement === */
@media (max-width: 1200px){
  .spt-hero__container{ gap:64px; }
  .spt-hero__subtitle{ max-width:520px; }
}
@media (max-width: 1024px){
  .spt-hero__subtitle{ max-width:none; }
  .spt-hero__bullets{ align-items: flex-start !important; }
}

/* === Mobile : min-height 100svh et overlay plus clair === */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}

/* ====== Ajustements mobiles généraux ====== */
@media (max-width: 768px){
  /* PT : baisse l’opacité via --spt-overlay */
  .spt-hero{ --spt-overlay: rgba(0,0,0,.30); }
  /* Yoga : baisse l’opacité via --overlay-alpha si utilisé */
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .30; }

  .spt-hero__title{ font-size: 36px; }
  .spt-hero__subtitle{ font-size: 18px; }
  .spt-btn{ font-size:16px; padding: 13px 22px; }

  /* Particules adoucies */
  .spt-hero__particles{ opacity:.18; }
}

/* Très petits téléphones : overlay encore plus clair */
@media (max-width: 390px){
  .spt-hero{ --spt-overlay: rgba(0,0,0,.26); }
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .42; }
}

/* === Fix marges Elementor (si nécessaire) === */
.elementor .spt-hero{ padding-left: min(24px, 4vw); padding-right: min(24px, 4vw); }

/* === CTA "Commencer une séance" : texte blanc, aucun overlay === */
.spt-btn--primary,
.spt-btn--primary:link,
.spt-btn--primary:visited{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  text-shadow: none !important;
}
.spt-btn--primary::before{ display: none !important; }
.spt-btn--primary:hover,
.spt-btn--primary:focus,
.spt-btn--primary:active{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  transform: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* ===== Spacing ciblé — HERO Yoga Hatha (ta demande) ===== */
/* Plus d’air autour de la 3e puce (“Respiration…”) */
.spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){
  margin-top: 14px;
  margin-bottom: 14px;
}
/* Plus d’air au-dessus et en-dessous du bloc CTA */
.spt-hero.spt-hero--yoga .spt-hero__ctaRow{
  margin-top: clamp(36px, 6.5vh, 72px);
  margin-bottom: clamp(24px, 4vh, 40px);
  gap: 14px;
}
/* Plus d’air autour des badges */
.spt-hero.spt-hero--yoga .spt-hero__badges{
  margin-top: 26px;
  margin-bottom: clamp(10px, 3vh, 28px);
  gap: 12px;
}
/* Ajustements mobiles pour ces espacements */
@media (max-width: 720px){
  .spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){ margin-top:12px; margin-bottom:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:28px; margin-bottom:24px; gap:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:22px; margin-bottom:18px; gap:10px; }
}
@media (max-width: 390px){
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:26px; margin-bottom:20px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:20px; margin-bottom:16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c3e45c7 *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c07e6f *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f485a8 *//* =========================================================
   HERO — FULL BACKGROUND + OVERLAY NOIR + THEME #730020
   (Aligné GAUCHE sur toutes tailles) — PT + Yoga
   ========================================================= */

/* Police + utilitaire */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.nowrap{ white-space: nowrap; }

/* Header au-dessus du hero (WordPress/Elementor) */
header, .site-header, .elementor-location-header{ position:relative; z-index:1000; }
body.admin-bar .elementor-location-header.elementor-sticky--active{ top:32px; }

/* === VARIABLES SCOPÉES AU HERO === */
.spt-hero{
  --spt-bg: #730020;
  --spt-overlay: rgba(0,0,0,.45); /* desktop par défaut (PT) */
  --spt-primary: #730020;
  --spt-text: #ffffff;
  --spt-muted: rgba(255,255,255,.88);
  --spt-card: rgba(255,255,255,.06);
  --spt-ring: rgba(255,255,255,.38);
  --spt-radius: 18px;
  --spt-shadow: 0 10px 30px rgba(0,0,0,.35);
  --spt-container: 1400px;

  /* Support Yoga (fond direct via variable inline) */
  --spt-hero-img: none;           /* ex: set inline: --spt-hero-img: url('...') */
  --overlay-alpha: .55;           /* fallback Yoga si --spt-overlay est absent */
}

/* === WRAPPER === */
.spt-hero{
  position: relative;
  isolation: isolate;
  color: var(--spt-text);
  min-height: 100vh;
  display: flex; align-items: center;
  padding: clamp(48px, 6vw, 92px) 24px;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Yoga : si l’image est fournie en variable, on l’applique ici */
  background: var(--spt-hero-img) center center / cover no-repeat;
}

/* === BACKGROUND (PT) — via un div séparé === */
.spt-hero__bg{
  position: absolute; inset: 0;
  z-index: -2; pointer-events: none;
  background:
    url('https://swiss-personal-training.ch/wp-content/uploads/2024/09/swiss-personal-training-mobile-1.webp')
    center center / cover no-repeat;
}

/* === OVERLAY — compatible PT (var --spt-overlay) ET Yoga (var --overlay-alpha) === */
.spt-hero::before{
  content:""; position:absolute; inset:0;
  background: var(--spt-overlay, rgba(0,0,0,var(--overlay-alpha)));
  z-index:-1; pointer-events:none;
}

/* === LAYOUT === */
.spt-hero__container{
  position: relative; z-index: 1;
  width: 100%; max-width: var(--spt-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  min-height: 80vh;
  padding-top: 6vh;
  text-align: left;                  /* ← alignement GAUCHE par défaut */
}

/* Sur mobile: 1 colonne mais on RESTE à gauche */
@media (max-width: 1024px){
  .spt-hero__container{
    grid-template-columns: 1fr;
    gap: 56px;
    text-align: left !important;
    min-height: auto;
    padding-top: 0;
  }
}

/* === COLONNE TEXTE (gauche) === */
.spt-hero__content{ animation: spt-slide-left .9s ease-out both; }

.spt-hero__eyebrow{
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:600; letter-spacing:.02em;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  color:#fff; padding:8px 16px; border-radius:999px;
  margin-bottom:20px;
}

.spt-hero__title{
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.1; font-weight: 900;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  color:#fff;
}

.spt-hero__subtitle{
  color: var(--spt-muted);
  font-size: 20px; line-height: 1.5;
  max-width: 560px; margin: 0 0 24px 0;
}
.spt-hero__subtitle strong{ font-weight:800; }

/* === BULLETS — PT (liste simple avec puce circulaire ✓) === */
.spt-hero__bullets{
  list-style: none; padding:0; margin: 0 0 32px 0;
  display:flex; flex-direction:column; gap:12px;
  align-items: flex-start;
}
.spt-hero__bullets li{
  position: relative; padding-left: 30px;
  font-size: 18px; font-weight: 500; color:#fff;
  text-align: left; align-items: flex-start;
}
.spt-hero__bullets li::before{
  content:'✓';
  position:absolute; left:0; top:.14em;
  width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  background: var(--spt-primary); color:#fff;
  font-size:13px; font-weight:700;
  box-shadow: 0 0 0 2px rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.18);
}

/* === BULLETS — Yoga (avec <span class="dot">) — look identique ✓ cercle bordeaux === */
.spt-hero__features{
  list-style:none; padding:0; margin: clamp(10px, 2vh, 20px) 0 0;
  display:grid; gap:12px;
}
.spt-hero__features li{
  position:relative; padding-left:32px; font-size:17px; font-weight:500; color:#fff;
  text-align: left;
}
.dot{
  position:absolute; left:0; top:.35em; width:18px; height:18px; border-radius:50%;
  background: var(--spt-primary);
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.dot::after{
  content:'✓'; position:absolute; inset:0; display:grid; place-items:center;
  font-size:12px; font-weight:800; color:#fff;
}

/* === CTA (les deux variantes) === */
.spt-hero__cta,
.spt-hero__ctaRow{
  display:flex; flex-wrap:wrap; gap:12px;
  justify-content: flex-start;
}
.spt-hero__cta{ margin: 6px 0 28px; }
.spt-hero__ctaRow{ margin-top: clamp(26px, 5.5vh, 60px); }

.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 14px 26px;
  border-radius: 12px;
  font-weight: 700; font-size: 16px;
  text-decoration: none; cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, color .25s, background .25s, border-color .25s ease;
  border: 2px solid transparent;
}
.spt-btn::before{ content:none; }

/* Bouton principal — #730020 plein */
.spt-btn--primary{
  background: var(--spt-primary);
  color:#fff;
  border-color: var(--spt-primary);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 38px rgba(0,0,0,.5);
}

/* Bouton secondaire (ghost) — fond blanc + texte #730020 */
.spt-btn--ghost{
  background:#fff;
  color: var(--spt-primary);
  border-color:#fff;
}
.spt-btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}

/* === BADGES — à gauche === */
.spt-hero__badges{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content: flex-start;
}
.spt-badge{
  color: var(--spt-primary);
  background:#fff;
  border:1px solid rgba(115,0,32,.25);
  padding: 8px 12px; border-radius: 999px;
  font-size:.88rem; line-height:1;
  backdrop-filter: blur(6px);
}

/* === COLONNE VISUEL (PT seulement, masquée par défaut car fond full) === */
.spt-hero__visual{ display:none; }
.spt-hero__card, .spt-hero__img, .spt-hero__tag{ display:none; }

/* === PARTICULES === */
.spt-hero__particles{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.spt-hero__particles span{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background: rgba(255,255,255,.28); filter: blur(1px); opacity:.8;
  animation: float 8s linear infinite;
}
.spt-hero__particles span:nth-child(1){ left:12%; top:18%; animation-duration: 9s; }
.spt-hero__particles span:nth-child(2){ left:26%; top:72%; animation-duration: 11s; }
.spt-hero__particles span:nth-child(3){ right:14%; top:22%; animation-duration: 10s; }
.spt-hero__particles span:nth-child(4){ right:6%; bottom:12%; animation-duration: 12s; }
.spt-hero__particles span:nth-child(5){ left:46%; top:8%; animation-duration: 13s; }

/* === Animations === */
@keyframes spt-slide-left{ from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes float{
  0%{ transform: translateY(0); opacity:.85; }
  50%{ transform: translateY(-8px); opacity:1; }
  100%{ transform: translateY(0); opacity:.85; }
}

/* === Responsive affinement === */
@media (max-width: 1200px){
  .spt-hero__container{ gap:64px; }
  .spt-hero__subtitle{ max-width:520px; }
}
@media (max-width: 1024px){
  .spt-hero__subtitle{ max-width:none; }
  .spt-hero__bullets{ align-items: flex-start !important; }
}

/* === Mobile : min-height 100svh et overlay plus clair === */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}

/* ====== Ajustements mobiles généraux ====== */
@media (max-width: 768px){
  /* PT : baisse l’opacité via --spt-overlay */
  .spt-hero{ --spt-overlay: rgba(0,0,0,.30); }
  /* Yoga : baisse l’opacité via --overlay-alpha si utilisé */
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .30; }

  .spt-hero__title{ font-size: 36px; }
  .spt-hero__subtitle{ font-size: 18px; }
  .spt-btn{ font-size:16px; padding: 13px 22px; }

  /* Particules adoucies */
  .spt-hero__particles{ opacity:.18; }
}

/* Très petits téléphones : overlay encore plus clair */
@media (max-width: 390px){
  .spt-hero{ --spt-overlay: rgba(0,0,0,.26); }
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .42; }
}

/* === Fix marges Elementor (si nécessaire) === */
.elementor .spt-hero{ padding-left: min(24px, 4vw); padding-right: min(24px, 4vw); }

/* === CTA "Commencer une séance" : texte blanc, aucun overlay === */
.spt-btn--primary,
.spt-btn--primary:link,
.spt-btn--primary:visited{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  text-shadow: none !important;
}
.spt-btn--primary::before{ display: none !important; }
.spt-btn--primary:hover,
.spt-btn--primary:focus,
.spt-btn--primary:active{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  transform: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* ===== Spacing ciblé — HERO Yoga Hatha (ta demande) ===== */
/* Plus d’air autour de la 3e puce (“Respiration…”) */
.spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){
  margin-top: 14px;
  margin-bottom: 14px;
}
/* Plus d’air au-dessus et en-dessous du bloc CTA */
.spt-hero.spt-hero--yoga .spt-hero__ctaRow{
  margin-top: clamp(36px, 6.5vh, 72px);
  margin-bottom: clamp(24px, 4vh, 40px);
  gap: 14px;
}
/* Plus d’air autour des badges */
.spt-hero.spt-hero--yoga .spt-hero__badges{
  margin-top: 26px;
  margin-bottom: clamp(10px, 3vh, 28px);
  gap: 12px;
}
/* Ajustements mobiles pour ces espacements */
@media (max-width: 720px){
  .spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){ margin-top:12px; margin-bottom:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:28px; margin-bottom:24px; gap:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:22px; margin-bottom:18px; gap:10px; }
}
@media (max-width: 390px){
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:26px; margin-bottom:20px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:20px; margin-bottom:16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c3e45c7 *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c07e6f *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3f485a8 *//* =========================================================
   HERO — FULL BACKGROUND + OVERLAY NOIR + THEME #730020
   (Aligné GAUCHE sur toutes tailles) — PT + Yoga
   ========================================================= */

/* Police + utilitaire */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
.nowrap{ white-space: nowrap; }

/* Header au-dessus du hero (WordPress/Elementor) */
header, .site-header, .elementor-location-header{ position:relative; z-index:1000; }
body.admin-bar .elementor-location-header.elementor-sticky--active{ top:32px; }

/* === VARIABLES SCOPÉES AU HERO === */
.spt-hero{
  --spt-bg: #730020;
  --spt-overlay: rgba(0,0,0,.45); /* desktop par défaut (PT) */
  --spt-primary: #730020;
  --spt-text: #ffffff;
  --spt-muted: rgba(255,255,255,.88);
  --spt-card: rgba(255,255,255,.06);
  --spt-ring: rgba(255,255,255,.38);
  --spt-radius: 18px;
  --spt-shadow: 0 10px 30px rgba(0,0,0,.35);
  --spt-container: 1400px;

  /* Support Yoga (fond direct via variable inline) */
  --spt-hero-img: none;           /* ex: set inline: --spt-hero-img: url('...') */
  --overlay-alpha: .55;           /* fallback Yoga si --spt-overlay est absent */
}

/* === WRAPPER === */
.spt-hero{
  position: relative;
  isolation: isolate;
  color: var(--spt-text);
  min-height: 100vh;
  display: flex; align-items: center;
  padding: clamp(48px, 6vw, 92px) 24px;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Yoga : si l’image est fournie en variable, on l’applique ici */
  background: var(--spt-hero-img) center center / cover no-repeat;
}

/* === BACKGROUND (PT) — via un div séparé === */
.spt-hero__bg{
  position: absolute; inset: 0;
  z-index: -2; pointer-events: none;
  background:
    url('https://swiss-personal-training.ch/wp-content/uploads/2024/09/swiss-personal-training-mobile-1.webp')
    center center / cover no-repeat;
}

/* === OVERLAY — compatible PT (var --spt-overlay) ET Yoga (var --overlay-alpha) === */
.spt-hero::before{
  content:""; position:absolute; inset:0;
  background: var(--spt-overlay, rgba(0,0,0,var(--overlay-alpha)));
  z-index:-1; pointer-events:none;
}

/* === LAYOUT === */
.spt-hero__container{
  position: relative; z-index: 1;
  width: 100%; max-width: var(--spt-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  min-height: 80vh;
  padding-top: 6vh;
  text-align: left;                  /* ← alignement GAUCHE par défaut */
}

/* Sur mobile: 1 colonne mais on RESTE à gauche */
@media (max-width: 1024px){
  .spt-hero__container{
    grid-template-columns: 1fr;
    gap: 56px;
    text-align: left !important;
    min-height: auto;
    padding-top: 0;
  }
}

/* === COLONNE TEXTE (gauche) === */
.spt-hero__content{ animation: spt-slide-left .9s ease-out both; }

.spt-hero__eyebrow{
  display:inline-flex; align-items:center;
  font-size:14px; font-weight:600; letter-spacing:.02em;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  color:#fff; padding:8px 16px; border-radius:999px;
  margin-bottom:20px;
}

.spt-hero__title{
  margin: 0 0 18px;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.1; font-weight: 900;
  text-shadow: 0 3px 14px rgba(0,0,0,.35);
  color:#fff;
}

.spt-hero__subtitle{
  color: var(--spt-muted);
  font-size: 20px; line-height: 1.5;
  max-width: 560px; margin: 0 0 24px 0;
}
.spt-hero__subtitle strong{ font-weight:800; }

/* === BULLETS — PT (liste simple avec puce circulaire ✓) === */
.spt-hero__bullets{
  list-style: none; padding:0; margin: 0 0 32px 0;
  display:flex; flex-direction:column; gap:12px;
  align-items: flex-start;
}
.spt-hero__bullets li{
  position: relative; padding-left: 30px;
  font-size: 18px; font-weight: 500; color:#fff;
  text-align: left; align-items: flex-start;
}
.spt-hero__bullets li::before{
  content:'✓';
  position:absolute; left:0; top:.14em;
  width:22px; height:22px; border-radius:50%;
  display:grid; place-items:center;
  background: var(--spt-primary); color:#fff;
  font-size:13px; font-weight:700;
  box-shadow: 0 0 0 2px rgba(255,255,255,.85), 0 2px 6px rgba(0,0,0,.18);
}

/* === BULLETS — Yoga (avec <span class="dot">) — look identique ✓ cercle bordeaux === */
.spt-hero__features{
  list-style:none; padding:0; margin: clamp(10px, 2vh, 20px) 0 0;
  display:grid; gap:12px;
}
.spt-hero__features li{
  position:relative; padding-left:32px; font-size:17px; font-weight:500; color:#fff;
  text-align: left;
}
.dot{
  position:absolute; left:0; top:.35em; width:18px; height:18px; border-radius:50%;
  background: var(--spt-primary);
  box-shadow:0 0 0 3px rgba(255,255,255,.22);
}
.dot::after{
  content:'✓'; position:absolute; inset:0; display:grid; place-items:center;
  font-size:12px; font-weight:800; color:#fff;
}

/* === CTA (les deux variantes) === */
.spt-hero__cta,
.spt-hero__ctaRow{
  display:flex; flex-wrap:wrap; gap:12px;
  justify-content: flex-start;
}
.spt-hero__cta{ margin: 6px 0 28px; }
.spt-hero__ctaRow{ margin-top: clamp(26px, 5.5vh, 60px); }

.spt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 14px 26px;
  border-radius: 12px;
  font-weight: 700; font-size: 16px;
  text-decoration: none; cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease, color .25s, background .25s, border-color .25s ease;
  border: 2px solid transparent;
}
.spt-btn::before{ content:none; }

/* Bouton principal — #730020 plein */
.spt-btn--primary{
  background: var(--spt-primary);
  color:#fff;
  border-color: var(--spt-primary);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 38px rgba(0,0,0,.5);
}

/* Bouton secondaire (ghost) — fond blanc + texte #730020 */
.spt-btn--ghost{
  background:#fff;
  color: var(--spt-primary);
  border-color:#fff;
}
.spt-btn--ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
}

/* === BADGES — à gauche === */
.spt-hero__badges{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content: flex-start;
}
.spt-badge{
  color: var(--spt-primary);
  background:#fff;
  border:1px solid rgba(115,0,32,.25);
  padding: 8px 12px; border-radius: 999px;
  font-size:.88rem; line-height:1;
  backdrop-filter: blur(6px);
}

/* === COLONNE VISUEL (PT seulement, masquée par défaut car fond full) === */
.spt-hero__visual{ display:none; }
.spt-hero__card, .spt-hero__img, .spt-hero__tag{ display:none; }

/* === PARTICULES === */
.spt-hero__particles{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.spt-hero__particles span{
  position:absolute; width:6px; height:6px; border-radius:50%;
  background: rgba(255,255,255,.28); filter: blur(1px); opacity:.8;
  animation: float 8s linear infinite;
}
.spt-hero__particles span:nth-child(1){ left:12%; top:18%; animation-duration: 9s; }
.spt-hero__particles span:nth-child(2){ left:26%; top:72%; animation-duration: 11s; }
.spt-hero__particles span:nth-child(3){ right:14%; top:22%; animation-duration: 10s; }
.spt-hero__particles span:nth-child(4){ right:6%; bottom:12%; animation-duration: 12s; }
.spt-hero__particles span:nth-child(5){ left:46%; top:8%; animation-duration: 13s; }

/* === Animations === */
@keyframes spt-slide-left{ from{opacity:0; transform:translateX(-50px)} to{opacity:1; transform:translateX(0)} }
@keyframes float{
  0%{ transform: translateY(0); opacity:.85; }
  50%{ transform: translateY(-8px); opacity:1; }
  100%{ transform: translateY(0); opacity:.85; }
}

/* === Responsive affinement === */
@media (max-width: 1200px){
  .spt-hero__container{ gap:64px; }
  .spt-hero__subtitle{ max-width:520px; }
}
@media (max-width: 1024px){
  .spt-hero__subtitle{ max-width:none; }
  .spt-hero__bullets{ align-items: flex-start !important; }
}

/* === Mobile : min-height 100svh et overlay plus clair === */
@supports (height: 100svh){
  .spt-hero{ min-height: 100svh; }
}

/* ====== Ajustements mobiles généraux ====== */
@media (max-width: 768px){
  /* PT : baisse l’opacité via --spt-overlay */
  .spt-hero{ --spt-overlay: rgba(0,0,0,.30); }
  /* Yoga : baisse l’opacité via --overlay-alpha si utilisé */
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .30; }

  .spt-hero__title{ font-size: 36px; }
  .spt-hero__subtitle{ font-size: 18px; }
  .spt-btn{ font-size:16px; padding: 13px 22px; }

  /* Particules adoucies */
  .spt-hero__particles{ opacity:.18; }
}

/* Très petits téléphones : overlay encore plus clair */
@media (max-width: 390px){
  .spt-hero{ --spt-overlay: rgba(0,0,0,.26); }
  .spt-hero.spt-hero--yoga{ --overlay-alpha: .42; }
}

/* === Fix marges Elementor (si nécessaire) === */
.elementor .spt-hero{ padding-left: min(24px, 4vw); padding-right: min(24px, 4vw); }

/* === CTA "Commencer une séance" : texte blanc, aucun overlay === */
.spt-btn--primary,
.spt-btn--primary:link,
.spt-btn--primary:visited{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  text-shadow: none !important;
}
.spt-btn--primary::before{ display: none !important; }
.spt-btn--primary:hover,
.spt-btn--primary:focus,
.spt-btn--primary:active{
  background: var(--spt-primary, #730020) !important;
  color: #fff !important;
  border-color: var(--spt-primary, #730020) !important;
  transform: none !important;
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.spt-btn--primary:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* ===== Spacing ciblé — HERO Yoga Hatha (ta demande) ===== */
/* Plus d’air autour de la 3e puce (“Respiration…”) */
.spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){
  margin-top: 14px;
  margin-bottom: 14px;
}
/* Plus d’air au-dessus et en-dessous du bloc CTA */
.spt-hero.spt-hero--yoga .spt-hero__ctaRow{
  margin-top: clamp(36px, 6.5vh, 72px);
  margin-bottom: clamp(24px, 4vh, 40px);
  gap: 14px;
}
/* Plus d’air autour des badges */
.spt-hero.spt-hero--yoga .spt-hero__badges{
  margin-top: 26px;
  margin-bottom: clamp(10px, 3vh, 28px);
  gap: 12px;
}
/* Ajustements mobiles pour ces espacements */
@media (max-width: 720px){
  .spt-hero.spt-hero--yoga .spt-hero__features li:nth-child(3){ margin-top:12px; margin-bottom:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:28px; margin-bottom:24px; gap:12px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:22px; margin-bottom:18px; gap:10px; }
}
@media (max-width: 390px){
  .spt-hero.spt-hero--yoga .spt-hero__ctaRow{ margin-top:26px; margin-bottom:20px; }
  .spt-hero.spt-hero--yoga .spt-hero__badges{ margin-top:20px; margin-bottom:16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c3e45c7 *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c07e6f *//* ===== Coach Wide 3-Cols — thème bordeaux #730020 ===== */
.spt-coachwide {
  --brand: #730020;
  --bg-chip: rgba(115, 0, 32, 0.08);
  --bd-chip: rgba(115, 0, 32, 0.18);
  --bg-quote: rgba(115, 0, 32, 0.06);
  margin: 28px 0;
  color: var(--brand);
  font-size: 16px;
  line-height: 1.5;
}

/* Liens standards (pas le bouton) */
.spt-coachwide a:not(.spt-coachwide__btn) {
  color: var(--brand);
  text-decoration: none;
}

/* Grille 3 colonnes (image | contenu | meta) */
.spt-coachwide__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  gap: 24px;
  align-items: start;
}

/* Colonne image : compacte */
.spt-coachwide__media {
  margin: 0;
  padding: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  max-height: 460px;
}
.spt-coachwide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Colonnes de contenu */
.spt-coachwide__content {
  display: grid;
  align-content: start;
  gap: 16px;
}
.spt-coachwide__header { display: grid; gap: 6px; }
.spt-coachwide__eyebrow {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
.spt-coachwide__title {
  margin: 0;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.1;
}
.spt-coachwide__role { margin: 0; opacity: 0.95; }

/* Chips */
.spt-coachwide__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.spt-coachwide .chip {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.9rem;
  background: var(--bg-chip);
  border: 1px solid var(--bd-chip);
}

/* Sous-titres & listes */
.spt-coachwide__h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.95;
}
.spt-coachwide__list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}
.spt-coachwide__list li::marker { color: var(--brand); }
.spt-coachwide__langs { margin: 0; }

/* Citation */
.spt-coachwide__quote {
  margin: 0;
  padding: 12px 14px;
  border-left: 3px solid var(--brand);
  border-radius: 8px;
  background: var(--bg-quote);
  font-style: italic;
  font-size: 0.98rem;
}

/* ===== BOUTON — compact, même taille de texte ===== */
.spt-coachwide__btn,
.spt-coachwide__btn:link,
.spt-coachwide__btn:visited {
  /* compact mais texte inchangé */
  display: inline-flex;                 /* évite toute largeur forcée */
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: fit-content;                   /* shrink-to-fit, pas pleine largeur */
  max-width: 100%;
  white-space: nowrap;                  /* pas de retour à la ligne */
  padding: 8px 16px;                    /* ↓ hauteur du bouton */
  line-height: 1.1;                     /* ne change pas la taille de police */
  font-size: 1rem;                      /* même taille que le texte global */
  font-weight: 700;                     /* conserve le poids initial */
  border-radius: 12px;
  background: var(--brand);
  color: #fff !important;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
  align-self: start;                    /* empêche l’étirement en grid */
}
.spt-coachwide__btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  color: #fff !important;
}
.spt-coachwide__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(115, 0, 32, 0.35);
  color: #fff !important;
}
.spt-coachwide__btn:active { transform: translateY(0); }

/* Métadonnées */
.spt-coachwide__meta { display: grid; gap: 16px; }

/* Responsive */
@media (max-width: 1024px) {
  .spt-coachwide__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .spt-coachwide__grid { grid-template-columns: 1fr; gap: 18px; }
  .spt-coachwide__media { aspect-ratio: 1/1; max-height: 420px; }
}/* End custom CSS */