.elementor-1297 .elementor-element.elementor-element-79b1004{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1297 .elementor-element.elementor-element-0a49904{text-align:center;}.elementor-1297 .elementor-element.elementor-element-0a49904 .elementor-heading-title{font-family:"qara", Sans-serif;font-size:48px;font-style:normal;text-decoration:none;line-height:120%;color:#7C6363;}.elementor-1297 .elementor-element.elementor-element-2650431{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1297 .elementor-element.elementor-element-2650431.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1297 .elementor-element.elementor-element-78d1fa1{--display:flex;}.elementor-widget-animated-headline .elementor-headline-plain-text{color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-animated-headline{--dynamic-text-color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline-dynamic-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-animated-headline .elementor-headline-dynamic-wrapper path{stroke:var( --e-global-color-accent );}.elementor-1297 .elementor-element.elementor-element-ca65dc5{--animation-duration:1200ms;--dynamic-text-color:#7C6363;}.elementor-1297 .elementor-element.elementor-element-ca65dc5 > .elementor-widget-container{--e-transform-translateX:0px;}.elementor-1297 .elementor-element.elementor-element-ca65dc5.elementor-element{--align-self:flex-start;}.elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline-plain-text{color:#7C6363;}.elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline-dynamic-text{font-family:"Montserrat", Sans-serif;font-weight:600;line-height:1px;letter-spacing:0px;z-index:auto;}.elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline-dynamic-wrapper path{stroke:#7C6363;stroke-width:5px;}.elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline-dynamic-wrapper svg{z-index:2;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1297 .elementor-element.elementor-element-15c714f > .elementor-widget-container{margin:5px 5px 5px 5px;}.elementor-1297 .elementor-element.elementor-element-15c714f{text-align:left;font-family:"Montserrat", Sans-serif;font-weight:400;color:#7C6363;}.elementor-1297 .elementor-element.elementor-element-15c714f p{margin-block-end:0px;}#elementor-popup-modal-1297{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-1297 .dialog-message{width:1000px;height:100vh;align-items:flex-start;}#elementor-popup-modal-1297 .dialog-close-button{display:flex;font-size:45px;}#elementor-popup-modal-1297 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(min-width:768px){.elementor-1297 .elementor-element.elementor-element-2650431{--width:100%;}}@media(max-width:1024px){.elementor-1297 .elementor-element.elementor-element-0a49904 .elementor-heading-title{font-size:40px;}.elementor-1297 .elementor-element.elementor-element-ca65dc5 > .elementor-widget-container{--e-transform-translateX:0px;}.elementor-1297 .elementor-element.elementor-element-ca65dc5.elementor-element{--align-self:center;}.elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline{text-align:center;}}@media(max-width:767px){.elementor-1297 .elementor-element.elementor-element-0a49904{text-align:center;}.elementor-1297 .elementor-element.elementor-element-0a49904 .elementor-heading-title{font-size:23px;line-height:120%;}#elementor-popup-modal-1297{align-items:flex-start;}}/* Start custom CSS for animated-headline, class: .elementor-element-ca65dc5 *//* === Titre animé : fix mobile/tablette === */
@media (max-width: 767px){           /* Mobile */
  /* 1) On empile les fragments du titre */
  .elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline .elementor-headline-plain-text-wrapper,
  .elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline .elementor-headline-dynamic-wrapper,
  .elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline .elementor-headline-dynamic-text{
    display: block;
    white-space: normal;
    line-height: 1.1;
  }
  /* Petit espacement entre les deux parties */
  .elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline .elementor-headline-dynamic-text{
    margin-top: .2em;
  }

  /* 2) Taille du texte sur mobile (à ajuster si besoin) */
  .elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline{
    font-size: clamp(24px, 7vw, 36px);
  }

  /* 3) Option : si l’underline provoque encore un chevauchement, on le masque sur mobile */
  .elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline .e-headline-svg{
    display: none;
  }
}

/* (facultatif) même chose pour tablette */
@media (min-width:768px) and (max-width:1024px){
  .elementor-1297 .elementor-element.elementor-element-ca65dc5 .elementor-headline{
    font-size: clamp(30px, 5.2vw, 46px);
    line-height: 1.1;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-15a82db *//* ---- Habillage de la modale elle-même ---- */
.elementor-popup-modal.booking-modal .dialog-message{
  padding: 0;
}
.elementor-popup-modal.booking-modal .dialog-widget-content{
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
}
.elementor-popup-modal.booking-modal .dialog-close-button{
  transform: translate(6px,-6px);
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(0,0,0,.1);
}
.elementor-popup-modal.booking-modal .dialog-close-button:hover{
  filter: brightness(.96);
}

/* ---- Variables & Typo locales à la modale ---- */
.elementor-popup-modal.booking-modal .planity-wrap{
  --p-primary: #D8A8A1;
  --p-primary-800: #c99790;
  --p-bg: #ffffff;
  --p-surface: #ffffff;
  --p-border: #ead6d2;
  --p-text: #3b2f2e;
  --p-muted: #7e6b69;

  padding: 18px 18px 22px;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--p-text);
}
.elementor-popup-modal.booking-modal .planity-title{
  margin: 0 0 .25rem 0;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: clamp(22px, 2.2vw, 34px);
}
.elementor-popup-modal.booking-modal .planity-note{
  margin: 0 0 1.25rem 0;
  color: var(--p-muted);
}

/* Carte conteneur du widget */
.elementor-popup-modal.booking-modal .planity-card{
  background: var(--p-surface);
  border: 1px solid var(--p-border);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 6px 22px rgba(0,0,0,.06);
}

/* ---- Styliser le widget Planity uniquement dans la modale ---- */
.elementor-popup-modal.booking-modal #planityWidget :where(h1,h2,h3,h4){
  color: var(--p-text) !important;
}

/* Boutons primaires (Choisir, Prendre un RDV…) */
.elementor-popup-modal.booking-modal #planityWidget :where(button,[role="button"]).btn,
.elementor-popup-modal.booking-modal #planityWidget :where(button,[class*="primary"]),
.elementor-popup-modal.booking-modal #planityWidget :where(button):not(.btn--ghost):not(.btn--link){
  background: var(--p-primary) !important;
  border: 1px solid var(--p-primary) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 10px 18px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 6px 18px rgba(216,168,161,.35) !important;
  transition: transform .15s ease, filter .2s ease !important;
}
.elementor-popup-modal.booking-modal #planityWidget :where(button,[role="button"]).btn:hover,
.elementor-popup-modal.booking-modal #planityWidget :where(button,[class*="primary"]):hover,
.elementor-popup-modal.booking-modal #planityWidget :where(button):not(.btn--ghost):not(.btn--link):hover{
  filter: brightness(.96) !important;
  transform: translateY(-1px) !important;
}

/* Boutons secondaires (Plus de détails, Mon compte, etc.) */
.elementor-popup-modal.booking-modal #planityWidget :where(button.btn--ghost,[class*="secondary"], .btn--secondary){
  background: #fff !important;
  color: var(--p-primary) !important;
  border: 1px solid var(--p-border) !important;
  border-radius: 12px !important;
  padding: 9px 16px !important;
  box-shadow: none !important;
}
.elementor-popup-modal.booking-modal #planityWidget :where(button.btn--ghost,[class*="secondary"], .btn--secondary):hover{
  border-color: var(--p-primary-800) !important;
  color: var(--p-primary-800) !important;
}

/* Cartes de prestations */
.elementor-popup-modal.booking-modal #planityWidget :where(li, .service, .offer, .card){
  background: #fff !important;
  border: 1px solid var(--p-border) !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
}

/* Prix / Durées */
.elementor-popup-modal.booking-modal #planityWidget :where(.price, [class*="price"], .duration, [class*="duration"]){
  color: var(--p-text) !important;
  font-weight: 600 !important;
}

/* Liens textuels (Plus de détails…) */
.elementor-popup-modal.booking-modal #planityWidget a{
  color: var(--p-primary) !important;
  text-underline-offset: 3px;
}
.elementor-popup-modal.booking-modal #planityWidget a:hover{
  color: var(--p-primary-800) !important;
}

/* Espacement entre les offres */
.elementor-popup-modal.booking-modal #planityWidget :where(.service, .offer, li) + :where(.service, .offer, li){
  margin-top: 10px !important;
}

/* Barres / Outils en tête */
.elementor-popup-modal.booking-modal #planityWidget :where(.header, .toolbar, .filters){
  gap: 8px !important;
}

/* Responsive – marges internes */
@media (max-width: 768px){
  .elementor-popup-modal.booking-modal .planity-wrap{ padding: 14px; }
  .elementor-popup-modal.booking-modal .planity-card{ padding: 12px; border-radius: 14px; }
  .elementor-popup-modal.booking-modal #planityWidget :where(button,[role="button"]){
    padding: 10px 14px !important;
    border-radius: 10px !important;
  }
}/* End custom CSS */