.elementor-kit-6{--e-global-color-primary:#0B5FCB;--e-global-color-secondary:#00A79A;--e-global-color-text:#11141C;--e-global-color-accent:#FF5433;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:900;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Nunito Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.3em;color:#11141C;font-family:"Nunito Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.65em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#0B5FCB;}.elementor-kit-6 a:hover{color:#0950AC;}.elementor-kit-6 h1{color:#11141C;font-family:"Montserrat", Sans-serif;font-size:60px;font-weight:900;line-height:1.1em;}.elementor-kit-6 h2{color:#11141C;font-family:"Montserrat", Sans-serif;font-size:36px;font-weight:900;line-height:1.1em;}.elementor-kit-6 h3{color:#11141C;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:800;line-height:1.3em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   Tokens Medilocal - repris du design system de la maquette
   (mdlcl-mqt/_ds/.../tokens/*.css). Cote maquette tout etait
   en style inline : aucune classe CSS n'existait.
   ============================================================ */
:root{
  --blue-50:#EAF2FD;  --blue-100:#CFE3FB; --blue-200:#9FC7F7; --blue-300:#6EA9F1; --blue-400:#3D8BEA;
  --blue-500:#0B5FCB; --blue-600:#0950AC; --blue-700:#073E89; --blue-800:#052C61; --blue-900:#031A3A;
  --teal-50:#E6FAF7;  --teal-100:#BFF0E7; --teal-200:#8AE0D2; --teal-300:#54D0BC; --teal-400:#22BDA8;
  --teal-500:#00A79A; --teal-600:#008C82; --teal-700:#036F69; --teal-800:#065450; --teal-900:#073A38;
  --sun-50:#FFEEE9;   --sun-500:#FF5433;  --sun-600:#E8391A;  --sun-700:#B92C12;
  --red-50:#FDEBE8;   --red-500:#E8341C;  --red-700:#9E1E0C;
  --amber-50:#FFF6E5; --amber-500:#F5A623;--amber-700:#A66A08;
  --slate-0:#FFFFFF;  --slate-50:#F6F8FB; --slate-100:#EAEEF4;--slate-200:#D7DEE8;--slate-300:#B7C1D1;
  --slate-400:#8C9AB0;--slate-500:#657189;--slate-600:#4A5468;--slate-700:#333B4D;
  --slate-800:#1F2534;--slate-900:#11141C;
  --ease-standard:cubic-bezier(.2,.8,.2,1);
}

a{text-decoration:none}
html,body{overflow-x:clip}

/* Titres fluides : clamp() n'est pas exprimable dans les controles Elementor */
.ml-h1 .elementor-heading-title{font-size:clamp(2rem,8vw,3.75rem);line-height:1.1;overflow-wrap:anywhere;min-width:0}
.ml-banner-line .elementor-heading-title{font-size:clamp(1.75rem,7vw,3rem);overflow-wrap:anywhere;min-width:0}

/* Reveal : la maquette anime en 480ms / cubic-bezier(.2,.8,.2,1).
   Elementor ne propose que slow (2s), normal (1.25s) ou fast (800ms). */
.elementor-element.animated{animation-duration:480ms;animation-timing-function:var(--ease-standard)}
@media (prefers-reduced-motion:reduce){
  .elementor-element.animated{animation-duration:1ms!important;animation-delay:0ms!important}
}

/* ---- Formulaires : hauteurs exactes de la maquette ----
   input_size d'Elementor ne propose que des paliers, pas une hauteur. */
.ml-form-hero .elementor-field-textual{height:52px;padding:0 20px;line-height:normal}
.ml-form-hero .elementor-field-group{align-items:center}
.ml-form-hero .elementor-button{height:56px;padding:0 28px;white-space:nowrap}
.ml-form-pharma .elementor-field-textual{height:48px;padding:0 14px;line-height:normal}
.ml-form-pharma .elementor-button{height:48px}
.ml-form-pharma .elementor-field-group > label{margin-bottom:6px}

/* ---- FAQ : la maquette n'a que des filets bas, pas des blocs encadres ---- */
.ml-faq .e-n-accordion-item{
  border:0!important;border-bottom:1px solid var(--slate-200)!important;
  border-radius:0!important;background:transparent!important;margin:0!important;
}
.ml-faq .e-n-accordion-item-title{padding:24px 0!important;background:transparent!important}
.ml-faq .e-n-accordion-item > .e-con{padding:0 0 24px 0!important}

/* ---- Chassis iPhone / navigateur : l'image doit remplir le cadre ---- */


/* ---- Etapes 01/02/03 ----
   Elementor force les containers enfants a width:100% dans une ligne flex,
   ce qui faisait chevaucher le numero et le texte. */
.ml-step-num{flex:0 0 44px!important;width:44px!important}
.ml-step-body{flex:1 1 auto!important;width:auto!important;min-width:0}

/* ---- FAQ : filets bas uniquement, comme la maquette ---- */
.ml-faq .e-n-accordion,
.ml-faq .e-n-accordion-item,
.ml-faq .e-n-accordion-item-title,
.ml-faq .e-n-accordion-item > .e-con{
  border:0!important;background:transparent!important;
  border-radius:0!important;box-shadow:none!important;
}
.ml-faq .e-n-accordion-item{border-bottom:1px solid var(--slate-200)!important;margin:0!important}
.ml-faq .e-n-accordion-item-title{padding:24px 0!important}
.ml-faq .e-n-accordion-item > .e-con{padding:0 0 24px 0!important}
.ml-faq .e-n-accordion-item-title-text{flex:1 1 auto}

/* ---- Containers extensibles ----
   Elementor traduit _flex_size "grow" en `flex:1 0 auto` avec `width:100%`.
   Dans une ligne flex, ces enfants ne peuvent pas retrecir : ils debordent et
   poussent leurs voisins hors du conteneur. On leur rend un comportement fluide. */
.ml-flex-fluid{flex-shrink:1!important;min-width:0}

/* ---- Status bar iOS : ile dynamique exactement centree ----
   Les deux blocs lateraux doivent partir d'une base identique, sinon l'ile
   se decale de la difference de largeur entre l'heure et les icones. */
.ml-ios-statusbar > .e-con{flex:1 1 0!important;width:auto!important;min-width:0}
.ml-ios-statusbar > .e-con:nth-child(2){flex:0 0 126px!important;width:126px!important}

/* ---- Blocs mockup ----
   Le chassis garde sa largeur nominale ; le bloc defile plutot que d'ecraser
   la mise en page (comportement de la maquette sur petit ecran). */
.ml-mockup{max-width:100%;overflow-x:auto}
.ml-frame-ios,.ml-frame-chrome{flex-shrink:0}

/* ---- Images dans les chassis ---- */
.ml-frame-ios .elementor-widget-image,
.ml-frame-chrome .elementor-widget-image{line-height:0;width:100%!important}
.ml-frame-ios .elementor-widget-image img,
.ml-frame-chrome .elementor-widget-image img{
  width:100%!important;height:auto!important;display:block;max-width:none;
}/* End custom CSS */