.elementor-kit-6{--e-global-color-primary:#70998E;--e-global-color-secondary:#111715;--e-global-color-text:#111715;--e-global-color-accent:#70998E;--e-global-color-c416eea:#F7FFF9;--e-global-typography-primary-font-family:"Merriweather";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-line-height:1.2px;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:1.3px;--e-global-typography-secondary-letter-spacing:0.5px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6px;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-line-height:1.3px;--e-global-typography-accent-letter-spacing:1px;background-color:var( --e-global-color-c416eea );font-family:"Inter", Sans-serif;font-size:16px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-secondary );box-shadow:0px 10px 25px 0px rgba(0,0,0,0.5);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#111715;font-family:"Inter", Sans-serif;}.elementor-kit-6 a:hover{color:var( --e-global-color-accent );}.elementor-kit-6 h1{color:#111715;font-family:"Merriweather", Sans-serif;font-size:52px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Inter", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08px;border-radius:999px 999px 999px 999px;padding:14px 12px 14px 22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:120011120050px;}.e-con{--container-max-width:120011120050px;--container-default-padding-top:20px;--container-default-padding-right:20px;--container-default-padding-bottom:20px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6 h1{font-size:40px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6 h1{font-size:32px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.hero-text {
  max-width: 650px;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .hero-text {
    max-width: 100%;
  }
}
/* Sticky CTA RDV - osteopathe-tours.com */
.tnj-sticky-cta{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 50px;
  z-index: 9999;
  display: flex;
  justify-content: center;
  padding: 0 14px;
  pointer-events: none; /* n'intercepte pas les clics derrière */
}

.tnj-sticky-cta__btn{
  pointer-events: auto; /* le bouton reste cliquable */
  background: #70998E;
  color: #fff;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 14px; /* légèrement arrondi */
  padding: 14px 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  text-transform: uppercase;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .04em;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  max-width: 720px;
  width: 100%;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}

.tnj-sticky-cta__btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow: 0 16px 34px rgba(0,0,0,.32);
}

.tnj-sticky-cta__btn:active{
  transform: translateY(0px) scale(.99);
}

.tnj-sticky-cta__icon{
  display: inline-flex;
  color: #fff; /* svg en blanc via currentColor */
}

@media (min-width: 768px){
  .tnj-sticky-cta{
    justify-content: flex-end;
    bottom: 20px;
    padding-right: 22px;
  }
  .tnj-sticky-cta__btn{
    width: auto;
    justify-content: center;
  }
}

/* Evite que le bouton cache le bas des pages */
body{
  padding-bottom: 92px;
}

@media (min-width: 768px){
  body{
    padding-bottom: 0; /* sur desktop, optionnel */
  }
}
/* ✅ Fix "visited" + états de lien : garde texte/icône blancs */
.tnj-sticky-cta__btn,
.tnj-sticky-cta__btn:link,
.tnj-sticky-cta__btn:visited,
.tnj-sticky-cta__btn:hover,
.tnj-sticky-cta__btn:active,
.tnj-sticky-cta__btn:focus,
.tnj-sticky-cta__btn:focus-visible{
  background: #70998E !important;
  color: #fff !important;
  text-decoration: none !important;
}

.tnj-sticky-cta__btn:visited .tnj-sticky-cta__text,
.tnj-sticky-cta__btn:visited .tnj-sticky-cta__icon{
  color: #fff !important;
}

/* Icône SVG en blanc via currentColor */
.tnj-sticky-cta__icon,
.tnj-sticky-cta__icon svg{
  color: #fff !important;
  stroke: currentColor !important;
}

/* ✅ Pulse léger */
.tnj-sticky-cta__btn{
  animation: tnjPulse 2.8s ease-in-out infinite;
  will-change: transform;
}

@keyframes tnjPulse{
  0%, 100%{
    transform: translateY(0) scale(1);
    box-shadow: 0 14px 30px rgba(0,0,0,.28);
  }
  50%{
    transform: translateY(-1px) scale(1.01);
    box-shadow: 0 18px 38px rgba(0,0,0,.34);
  }
}

/* Accessibilité : coupe l'animation si demandé */
@media (prefers-reduced-motion: reduce){
  .tnj-sticky-cta__btn{
    animation: none !important;
    transition: none !important;
  }
}
/* === Pulse visible (halo) === */
.tnj-sticky-cta__btn{
  position: relative;
  overflow: visible;
}

.tnj-sticky-cta__btn::after{
  content: "";
  position: absolute;
  inset: -8px;               /* halo autour du bouton */
  border-radius: inherit;
  background: rgba(112,153,142,.35);
  opacity: 0;
  transform: scale(.96);
  z-index: -1;
  animation: tnjHalo 2.4s ease-in-out infinite;
}

@keyframes tnjHalo{
  0%   { opacity: 0;   transform: scale(.96); }
  35%  { opacity: .35; transform: scale(1.03); }
  70%  { opacity: 0;   transform: scale(1.08); }
  100% { opacity: 0;   transform: scale(.96); }
}

/* micro pulse du bouton (très léger) */
.tnj-sticky-cta__btn{
  animation: tnjMicro 2.4s ease-in-out infinite;
  will-change: transform;
}

@keyframes tnjMicro{
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-1px) scale(1.01); }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce){
  .tnj-sticky-cta__btn,
  .tnj-sticky-cta__btn::after{
    animation: none !important;
  }
}
/* === Ajustement MOBILE plus discret === */
@media (max-width: 767px){

  .tnj-sticky-cta{
    justify-content: flex-end;   /* aligne à droite */
    padding-right: 18px;         /* marge droite */
    padding-left: 18px;
  }

  .tnj-sticky-cta__btn{
    width: auto;                 /* plus pleine largeur */
    padding: 14px 20px;          /* un peu moins large */
    font-size: 14px;             /* légèrement plus petit */
  }

}
/* Contenu replié */
.tnj-readmore-content{
  max-height: 180px;            /* 👈 règle ici la hauteur repliée */
  overflow: hidden;
  position: relative;
  transition: max-height .35s ease;
}

/* Option premium : fondu en bas quand c'est replié */
.tnj-readmore-content::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:42px;
  pointer-events:none;
  background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(240,247,245,1));
  /* 👆 adapte la dernière couleur au fond exact de ta carte si besoin */
}

/* État déplié */
.tnj-readmore-content.is-expanded{
  max-height: 1200px;
}

/* En déplié : on enlève le fondu */
.tnj-readmore-content.is-expanded::after{
  display:none;
}.tnj-readmore-content::after{
  display: none !important;
}
.cadre-decale {
    position: relative;
    display: inline-block;
}

.cadre-decale::after {
    content: "";
    position: absolute;
    top: 20px;      /* décalage vers le bas */
    left: 20px;     /* décalage vers la droite */
    width: 100%;
    height: 100%;
    border: 1.5px solid #5f7f73;  /* vert doux */
    border-radius: 7px;        /* même arrondi que ton image */
    z-index: -1;
}
.cadre-decale img {
    border-radius: 7px;
    display: block;
}/* End custom CSS */