.elementor-kit-110{--e-global-color-primary:#00347F;--e-global-color-secondary:#EF8143;--e-global-color-text:#0D264A;--e-global-color-accent:#0081CC;--e-global-color-1a2f5c7:#002355;--e-global-color-2b4e8d1:#0043A3;--e-global-color-3c6a9e2:#EC671C;--e-global-color-4d7b0f3:#FFA51F;--e-global-color-5e8c1a4:#007A3F;--e-global-color-6f9d2b5:#F6B591;--e-global-color-70ae3c6:#4ABCFF;--e-global-color-81bf4d7:#5A7090;--e-global-color-92c05e8:#F4F9FF;--e-global-color-a3d16f9:#E0E7F0;--e-global-color-b4e2701:#FFFFFF;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-secondary-letter-spacing:-0.3px;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Nunito";--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.5em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-c1d3812-font-family:"Poppins";--e-global-typography-c1d3812-font-size:72px;--e-global-typography-c1d3812-font-weight:800;--e-global-typography-c1d3812-text-transform:none;--e-global-typography-c1d3812-line-height:1.05em;--e-global-typography-c1d3812-letter-spacing:-1.8px;--e-global-typography-c2e4923-font-family:"Poppins";--e-global-typography-c2e4923-font-size:44px;--e-global-typography-c2e4923-font-weight:800;--e-global-typography-c2e4923-text-transform:none;--e-global-typography-c2e4923-line-height:1.12em;--e-global-typography-c2e4923-letter-spacing:-1px;--e-global-typography-c3f5a34-font-family:"Poppins";--e-global-typography-c3f5a34-font-size:12px;--e-global-typography-c3f5a34-font-weight:700;--e-global-typography-c3f5a34-text-transform:uppercase;--e-global-typography-c3f5a34-line-height:1.3em;--e-global-typography-c3f5a34-letter-spacing:0.15em;--e-global-typography-c4a6b45-font-family:"Poppins";--e-global-typography-c4a6b45-font-size:22px;--e-global-typography-c4a6b45-font-weight:700;--e-global-typography-c4a6b45-text-transform:none;--e-global-typography-c4a6b45-line-height:1.25em;--e-global-typography-c4a6b45-letter-spacing:-0.3px;--e-global-typography-c5b7c56-font-family:"Poppins";--e-global-typography-c5b7c56-font-size:34px;--e-global-typography-c5b7c56-font-weight:800;--e-global-typography-c5b7c56-text-transform:none;--e-global-typography-c5b7c56-line-height:1em;--e-global-typography-c5b7c56-letter-spacing:-1px;--e-global-typography-c6c8d67-font-family:"Nunito";--e-global-typography-c6c8d67-font-size:18px;--e-global-typography-c6c8d67-font-weight:500;--e-global-typography-c6c8d67-text-transform:none;--e-global-typography-c6c8d67-line-height:1.75em;--e-global-typography-c6c8d67-letter-spacing:0px;--e-global-typography-c7d9e78-font-family:"Nunito";--e-global-typography-c7d9e78-font-size:16px;--e-global-typography-c7d9e78-font-weight:400;--e-global-typography-c7d9e78-text-transform:none;--e-global-typography-c7d9e78-line-height:1.75em;--e-global-typography-c7d9e78-letter-spacing:0px;--e-global-typography-c8eaf89-font-family:"Nunito";--e-global-typography-c8eaf89-font-size:14px;--e-global-typography-c8eaf89-font-weight:400;--e-global-typography-c8eaf89-text-transform:none;--e-global-typography-c8eaf89-line-height:1.6em;--e-global-typography-c8eaf89-letter-spacing:0px;--e-global-typography-c9fb09a-font-family:"Poppins";--e-global-typography-c9fb09a-font-size:16px;--e-global-typography-c9fb09a-font-weight:700;--e-global-typography-c9fb09a-text-transform:none;--e-global-typography-c9fb09a-line-height:1.2em;--e-global-typography-c9fb09a-letter-spacing:0.03em;--e-global-typography-ca0c1ab-font-family:"Poppins";--e-global-typography-ca0c1ab-font-size:14px;--e-global-typography-ca0c1ab-font-weight:600;--e-global-typography-ca0c1ab-text-transform:none;--e-global-typography-ca0c1ab-line-height:1.3em;--e-global-typography-ca0c1ab-letter-spacing:0.03em;--e-global-typography-cb1d2bc-font-family:"Poppins";--e-global-typography-cb1d2bc-font-size:13px;--e-global-typography-cb1d2bc-font-weight:700;--e-global-typography-cb1d2bc-text-transform:uppercase;--e-global-typography-cb1d2bc-line-height:1.2em;--e-global-typography-cb1d2bc-letter-spacing:0.05em;background-color:var( --e-global-color-b4e2701 );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-110 button,.elementor-kit-110 input[type="button"],.elementor-kit-110 input[type="submit"],.elementor-kit-110 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-c9fb09a-font-family ), Sans-serif;font-size:var( --e-global-typography-c9fb09a-font-size );font-weight:var( --e-global-typography-c9fb09a-font-weight );text-transform:var( --e-global-typography-c9fb09a-text-transform );line-height:var( --e-global-typography-c9fb09a-line-height );letter-spacing:var( --e-global-typography-c9fb09a-letter-spacing );color:var( --e-global-color-b4e2701 );box-shadow:0px 8px 24px -2px rgba(239, 129, 67, 0.35);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:10em 10em 10em 10em;padding:15px 20px 15px 20px;}.elementor-kit-110 button:hover,.elementor-kit-110 button:focus,.elementor-kit-110 input[type="button"]:hover,.elementor-kit-110 input[type="button"]:focus,.elementor-kit-110 input[type="submit"]:hover,.elementor-kit-110 input[type="submit"]:focus,.elementor-kit-110 .elementor-button:hover,.elementor-kit-110 .elementor-button:focus{background-color:var( --e-global-color-3c6a9e2 );color:#FFFFFFE6;border-style:solid;border-color:var( --e-global-color-3c6a9e2 );}.elementor-kit-110 e-page-transition{background-color:#FFBC7D;}.elementor-kit-110 a{color:var( --e-global-color-accent );}.elementor-kit-110 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-110 h1{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:40px;font-weight:700;line-height:1.2em;letter-spacing:-0.5px;}.elementor-kit-110 h2{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:32px;font-weight:700;line-height:1.25em;letter-spacing:-0.3px;}.elementor-kit-110 h3{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:26px;font-weight:700;line-height:1.3em;letter-spacing:-0.2px;}.elementor-kit-110 h4{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:21px;font-weight:600;line-height:1.35em;letter-spacing:0px;}.elementor-kit-110 h5{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:19px;font-weight:600;line-height:1.4em;letter-spacing:0px;}.elementor-kit-110 h6{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:17px;font-weight:600;line-height:1.45em;letter-spacing:0px;}.elementor-kit-110 label{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.2em;letter-spacing:0.05em;}.elementor-kit-110 input:not([type="button"]):not([type="submit"]),.elementor-kit-110 textarea,.elementor-kit-110 .elementor-field-textual{font-family:"Nunito", Sans-serif;font-size:16px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:var( --e-global-color-text );accent-color:var( --e-global-color-secondary );background-color:var( --e-global-color-b4e2701 );border-style:solid;border-width:1.5px 1.5px 1.5px 1.5px;border-color:var( --e-global-color-a3d16f9 );border-radius:10px 10px 10px 10px;padding:13px 16px 13px 16px;}.elementor-kit-110 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-110 textarea:focus,.elementor-kit-110 .elementor-field-textual:focus{color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1199px){.elementor-kit-110{--e-global-typography-c1d3812-font-size:62px;--e-global-typography-c2e4923-font-size:40px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-110 h1{font-size:38px;}.elementor-kit-110 h2{font-size:31px;}.elementor-kit-110 button,.elementor-kit-110 input[type="button"],.elementor-kit-110 input[type="submit"],.elementor-kit-110 .elementor-button{font-size:var( --e-global-typography-c9fb09a-font-size );line-height:var( --e-global-typography-c9fb09a-line-height );letter-spacing:var( --e-global-typography-c9fb09a-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:960px;}.e-con{--container-max-width:960px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:991px){.elementor-kit-110{--e-global-typography-c1d3812-font-size:54px;--e-global-typography-c2e4923-font-size:36px;}.elementor-kit-110 h1{font-size:36px;}.elementor-kit-110 h2{font-size:30px;}.elementor-kit-110 h3{font-size:25px;}.elementor-kit-110 h4{font-size:20px;}.elementor-kit-110 h5{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:720px;}.e-con{--container-max-width:720px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-110{--e-global-typography-c1d3812-font-size:44px;--e-global-typography-c2e4923-font-size:32px;--e-global-typography-c4a6b45-font-size:20px;--e-global-typography-c5b7c56-font-size:30px;--e-global-typography-c6c8d67-font-size:17px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-110 h1{font-size:33px;}.elementor-kit-110 h2{font-size:28px;}.elementor-kit-110 h3{font-size:24px;}.elementor-kit-110 h4{font-size:20px;}.elementor-kit-110 h5{font-size:18px;}.elementor-kit-110 button,.elementor-kit-110 input[type="button"],.elementor-kit-110 input[type="submit"],.elementor-kit-110 .elementor-button{font-size:var( --e-global-typography-c9fb09a-font-size );line-height:var( --e-global-typography-c9fb09a-line-height );letter-spacing:var( --e-global-typography-c9fb09a-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:540px;}.e-con{--container-max-width:540px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:575px){.elementor-kit-110{--e-global-typography-c1d3812-font-size:38px;--e-global-typography-c2e4923-font-size:29px;}.elementor-kit-110 h1{font-size:30px;}.elementor-kit-110 h2{font-size:26px;}.elementor-kit-110 h3{font-size:22px;}.elementor-kit-110 h4{font-size:19px;}.elementor-kit-110 h5{font-size:18px;}.elementor-kit-110 h6{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:479px){.elementor-kit-110{--e-global-typography-c1d3812-font-size:34px;--e-global-typography-c2e4923-font-size:27px;--e-global-typography-c4a6b45-font-size:18px;--e-global-typography-c5b7c56-font-size:26px;--e-global-typography-c6c8d67-font-size:16px;--e-global-typography-c8eaf89-font-size:13px;--e-global-typography-c9fb09a-font-size:15px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-110 h1{font-size:28px;}.elementor-kit-110 h2{font-size:24px;}.elementor-kit-110 h3{font-size:21px;}.elementor-kit-110 h4{font-size:19px;}.elementor-kit-110 h5{font-size:17px;}.elementor-kit-110 h6{font-size:16px;}.elementor-kit-110 button,.elementor-kit-110 input[type="button"],.elementor-kit-110 input[type="submit"],.elementor-kit-110 .elementor-button{font-size:var( --e-global-typography-c9fb09a-font-size );line-height:var( --e-global-typography-c9fb09a-line-height );letter-spacing:var( --e-global-typography-c9fb09a-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(min-width:1430px){.elementor-kit-110{--e-global-typography-c1d3812-font-size:80px;--e-global-typography-c2e4923-font-size:50px;--e-global-typography-c5b7c56-font-size:38px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-110 button,.elementor-kit-110 input[type="button"],.elementor-kit-110 input[type="submit"],.elementor-kit-110 .elementor-button{font-size:var( --e-global-typography-c9fb09a-font-size );line-height:var( --e-global-typography-c9fb09a-line-height );letter-spacing:var( --e-global-typography-c9fb09a-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS */body {
  /* Alias lisibles vers les couleurs globales du kit.
     Declares sur body et non sur :root : Elementor pose ses
     --e-global-color-* sur .elementor-kit-NNN, qui est une classe
     du <body>. Une custom property ne remonte pas la cascade, donc
     depuis :root les globales seraient invisibles. */
  --ls-navy:        var(--e-global-color-primary, #00347F);
  --ls-navy-dark:   var(--e-global-color-1a2f5c7, #002355);
  --ls-navy-light:  var(--e-global-color-2b4e8d1, #0043A3);
  --ls-orange:      var(--e-global-color-secondary, #EF8143);
  --ls-orange-dark: var(--e-global-color-3c6a9e2, #EC671C);
  --ls-orange-soft: var(--e-global-color-6f9d2b5, #F6B591);
  --ls-amber:       var(--e-global-color-4d7b0f3, #FFA51F);
  --ls-green:       var(--e-global-color-5e8c1a4, #007A3F);
  --ls-sky:         var(--e-global-color-accent, #0081CC);
  --ls-sky-light:   var(--e-global-color-70ae3c6, #4ABCFF);
  --ls-ink:         var(--e-global-color-text, #0D264A);
  --ls-muted:       var(--e-global-color-81bf4d7, #5A7090);
  --ls-surface:     var(--e-global-color-92c05e8, #F4F9FF);
  --ls-border:      var(--e-global-color-a3d16f9, #E0E7F0);

  /* Rythme vertical des sections graphiques Elementor (maquette : 90px) */
  --ls-section-y: 90px;
  /* Padding vertical du contenu natif WordPress (pages non graphiques).
     Volontairement plus sobre : ces pages n'ont pas la respiration
     d'une mise en page a sections. */
  --ls-content-padding-y: 45px;
  --ls-radius-card: 20px;
  --ls-radius-pill: 100px;
  --ls-field-height: 46px;
  /* Gouttiere laterale du plus petit cran, commune aux pages Elementor
     et aux pages rendues par le theme. */
  --ls-edge-x: 15px;
}

@media (max-width: 991px) { body { --ls-section-y: 70px; } }
@media (max-width: 767px) {
  body { --ls-section-y: 56px; --ls-content-padding-y: 32px; }
}

/* ---- Normalisation des marges dans les widgets ---- */
:is(.elementor-widget-heading, .elementor-widget-text-editor) > :last-child,
.elementor-widget-heading p,
.elementor-element-edit-mode p:last-child {
  margin-bottom: 0;
}

.elementor-heading-title {
  position: relative;
  z-index: 1;
}

h1.entry-title { margin-top: 0; margin-bottom: 0.7em; }

/* Padding vertical du contenu rendu par le theme (pages NON Elementor).
   Le :not() exclut les gabarits Elementor, ou l'espacement est deja
   porte par les conteneurs : sans lui on cumulerait les deux. */
body:not(.page-template-elementor_header_footer, .page-template-elementor_canvas) #content {
  padding-top: var(--ls-content-padding-y);
  padding-bottom: var(--ls-content-padding-y);
}

/* ---- Prose : pages de contenu natif WordPress -------------------------
   Mentions legales, politique de confidentialite, cookies, articles.
   Mesure de lecture bornee a ~70 caracteres et rythme vertical des titres.
   Portee limitee au contenu natif : n'affecte aucun widget Elementor.   */
#content .page-content,
#content .entry-content {
  /*max-width: 70ch;*/
}

#content .page-content > :is(h2, h3, h4, h5, h6),
#content .entry-content > :is(h2, h3, h4, h5, h6) {
  margin-top: 1.6em;
  margin-bottom: 0.5em;
}

#content .page-content > :is(h2, h3, h4, h5, h6):first-child,
#content .entry-content > :is(h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

#content .page-content > :is(p, ul, ol, blockquote, table),
#content .entry-content > :is(p, ul, ol, blockquote, table) {
  margin-bottom: 1.15em;
}

#content .page-content :is(ul, ol),
#content .entry-content :is(ul, ol) {
  padding-left: 1.4em;
}

#content .page-content li,
#content .entry-content li {
  margin-bottom: 0.35em;
}

/* ---- Correctif Hello Elementor : double padding sous 575px -------------
   Le theme parent applique padding-inline: 10px a la fois sur .site-main
   ET sur .page-header .entry-title, qui en est un descendant. Le titre se
   retrouve donc a 20px du bord quand le corps du texte est a 10px.
   On neutralise le padding du titre et on aligne la gouttiere sur les
   15px utilises par les conteneurs Elementor au meme cran.
   Le seuil 575px est celui code en dur dans Hello : il ne suit pas les
   points de rupture du kit. A revoir si viewport_mobile_extra change.  */
@media (max-width: 575px) {
  body:not([class*="elementor-page-"]) .site-main {
    padding-inline-start: var(--ls-edge-x);
    padding-inline-end: var(--ls-edge-x);
  }

  #content .page-header .entry-title {
    padding-inline-start: 0;
    padding-inline-end: 0;
  }
}

/* ---- Utilitaires typographiques ---- */
.ls-text-balance { text-wrap: balance !important; }
.ls-text-pretty  { text-wrap: pretty !important; }
.ls-text-nowrap  { white-space: nowrap !important; }
.ls-text-orange  { color: var(--ls-orange); }
.ls-text-sky     { color: var(--ls-sky); }
.d-inline-block  { display: inline-block !important; }

/* Mot accentue dans un titre (equivalent des <em> de la maquette) */
.ls-accent { font-style: normal; color: var(--ls-orange); }
.on-dark .ls-accent { color: var(--ls-orange-soft); }

/* ---- Largeurs de lecture (reprises de la maquette) ---- */
.ls-measure-sm { max-width: 640px; }
.ls-measure-md { max-width: 780px; }
.ls-measure-lg { max-width: 820px; }

/* ---- Inversion de contraste sur fond sombre ---- */
.on-dark, .on-dark p, .on-dark li { color: rgba(255,255,255,0.72); }
.on-dark :is(h1,h2,h3,h4,h5,h6) { color: #FFFFFF; }
.on-dark a { color: var(--ls-sky-light); }
.on-dark a:hover { color: var(--ls-orange-soft); }

/* ---- Sur-titre de section (pastille + filet) ---- */
.ls-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--ls-orange);
}
.ls-eyebrow::before {
  content: ''; display: block; width: 20px; height: 2px;
  background: currentColor; border-radius: 2px;
}

/* ---- Champs natifs non couverts par le Theme Style ---- */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="number"], input[type="password"], input[type="search"],
input[type="date"], input[type="time"], select:not([multiple]) {
  height: var(--ls-field-height);
  box-sizing: border-box;
}

select, input[type="file"] {
  font-family: var(--e-global-typography-text-font-family, 'Nunito'), sans-serif;
  font-size: 16px; font-weight: 400; line-height: 1.5;
  color: var(--ls-ink);
  background-color: #FFFFFF;
  border: 1.5px solid var(--ls-border);
  border-radius: 10px;
  padding: 13px 16px; width: 100%;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}

select:not([multiple]) {
  padding-right: 44px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300347F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}

input[type="checkbox"], input[type="radio"] {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  box-sizing: border-box; width: 20px; height: 20px;
  padding: 0; margin: 0; flex-shrink: 0; vertical-align: middle;
  background-color: #FFFFFF; background-repeat: no-repeat; background-position: center;
  border: 1.5px solid var(--ls-border); cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
input[type="checkbox"] { border-radius: 6px; }
input[type="radio"] { border-radius: 50%; }
input[type="checkbox"]:checked, input[type="radio"]:checked {
  background-color: var(--ls-orange); border-color: var(--ls-orange);
}
input[type="checkbox"]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23002355' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5.5 5.5L20 6.5'/%3E%3C/svg%3E");
}
input[type="radio"]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='4' fill='%23002355'/%3E%3C/svg%3E");
}
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible {
  outline: 0; border-color: var(--ls-orange);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ls-orange) 22%, transparent);
}
input[type="range"] { accent-color: var(--ls-orange); width: 100%; }

/* ---- Focus visible global (accessibilite) ---- */
a:focus-visible, button:focus-visible,
.elementor-button:focus-visible {
  outline: 3px solid var(--ls-sky);
  outline-offset: 3px;
}

/* ---- Respect de prefers-reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}/* End custom CSS */