.elementor-125 .elementor-element.elementor-element-323ff4b4:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-323ff4b4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F6;}.elementor-125 .elementor-element.elementor-element-323ff4b4{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:90px 48px 080px 48px;}.elementor-125 .elementor-element.elementor-element-323ff4b4 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-125 .elementor-element.elementor-element-5ec9027f.elementor-column .elementor-widget-wrap{align-items:flex-end;}.elementor-125 .elementor-element.elementor-element-5ec9027f.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-end;align-items:flex-end;}.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-125 .elementor-element.elementor-element-54ec5955{font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#1A4A86;}.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-125 .elementor-element.elementor-element-731a4e20 .elementor-heading-title{color:#141414;}.elementor-bc-flex-widget .elementor-125 .elementor-element.elementor-element-7a273ab.elementor-column .elementor-widget-wrap{align-items:flex-end;}.elementor-125 .elementor-element.elementor-element-7a273ab.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-end;align-items:flex-end;}.elementor-125 .elementor-element.elementor-element-217e4298{font-family:"Public Sans", Sans-serif;font-size:16.5px;font-weight:400;line-height:1.7em;color:#555555;}.elementor-125 .elementor-element.elementor-element-37584496:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-37584496 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #0D1F38 0%, #1A4A86 100%);}.elementor-125 .elementor-element.elementor-element-37584496{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:120px 0px 120px 0px;}.elementor-125 .elementor-element.elementor-element-37584496 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-125 .elementor-element.elementor-element-677ff05f{font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#A1AAB6;}.elementor-125 .elementor-element.elementor-element-512a6e80 .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-7a508890{font-family:"Public Sans", Sans-serif;font-size:16.5px;font-weight:400;line-height:1.75em;color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-8c13d17:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-8c13d17 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F6;}.elementor-125 .elementor-element.elementor-element-8c13d17{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:90px 48px 0px 48px;}.elementor-125 .elementor-element.elementor-element-8c13d17 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-125 .elementor-element.elementor-element-3487345{border-style:solid;border-width:1px 0px 0px 0px;border-color:#E6E3DA;margin-top:96px;margin-bottom:90px;padding:34px 0px 0px 0px;}.elementor-125 .elementor-element.elementor-element-ac5629e{font-family:"Public Sans", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;line-height:1.6em;letter-spacing:0.08em;color:#1A4A86;}.elementor-125 .elementor-element.elementor-element-26b6665{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Public Sans", Sans-serif;font-size:14.5px;font-weight:400;line-height:1.6em;color:#555555;}.elementor-125 .elementor-element.elementor-element-d8104b2{font-family:"Public Sans", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;line-height:1.6em;letter-spacing:0.08em;color:#1A4A86;}.elementor-125 .elementor-element.elementor-element-94fdc38{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Public Sans", Sans-serif;font-size:14.5px;font-weight:400;line-height:1.6em;color:#555555;}.elementor-125 .elementor-element.elementor-element-79ccf75{font-family:"Public Sans", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;line-height:1.6em;letter-spacing:0.08em;color:#1A4A86;}.elementor-125 .elementor-element.elementor-element-3700b95{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Public Sans", Sans-serif;font-size:14.5px;font-weight:400;line-height:1.6em;color:#555555;}.elementor-125 .elementor-element.elementor-element-72a128d{font-family:"Public Sans", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;line-height:1.6em;letter-spacing:0.08em;color:#1A4A86;}.elementor-125 .elementor-element.elementor-element-25c9950{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Public Sans", Sans-serif;font-size:14.5px;font-weight:400;line-height:1.6em;color:#555555;}.elementor-125 .elementor-element.elementor-element-c1127b2{--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:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:90px;--padding-bottom:0px;--padding-left:48px;--padding-right:48px;}.elementor-125 .elementor-element.elementor-element-c1127b2:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-c1127b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F6;}.elementor-125 .elementor-element.elementor-element-05dcc25{--display:flex;}.elementor-125 .elementor-element.elementor-element-a87ff81{--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:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-125 .elementor-element.elementor-element-6b1d25e{--display:flex;--justify-content:flex-end;}.elementor-125 .elementor-element.elementor-element-de8290f{font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#1A4A86;}.elementor-125 .elementor-element.elementor-element-808bfb2 .elementor-heading-title{color:#141414;}.elementor-125 .elementor-element.elementor-element-26c880b{--display:flex;--justify-content:flex-end;}.elementor-125 .elementor-element.elementor-element-3ca0d96{font-family:"Public Sans", Sans-serif;font-size:16.5px;font-weight:400;line-height:1.7em;color:#555555;}.elementor-125 .elementor-element.elementor-element-3799833{--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:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-125 .elementor-element.elementor-element-69290cc{--display:flex;}.elementor-125 .elementor-element.elementor-element-6bcae89:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-6bcae89 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #0D1F38 0%, #1A4A86 100%);}.elementor-125 .elementor-element.elementor-element-6bcae89{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:120px 0px 120px 0px;}.elementor-125 .elementor-element.elementor-element-6bcae89 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-125 .elementor-element.elementor-element-cdface7{font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#A1AAB6;}.elementor-125 .elementor-element.elementor-element-a9e8529 .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-1da1c3f{font-family:"Public Sans", Sans-serif;font-size:16.5px;font-weight:400;line-height:1.75em;color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-2620afc4{--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:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:130px;--padding-bottom:130px;--padding-left:48px;--padding-right:48px;}.elementor-125 .elementor-element.elementor-element-2620afc4:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-2620afc4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(160deg, #0D1F38 0%, #1A4A86 100%);}.elementor-125 .elementor-element.elementor-element-f4f7ce2{--display:flex;}.elementor-125 .elementor-element.elementor-element-4c649275{--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:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-125 .elementor-element.elementor-element-b2bfcef{--display:flex;}.elementor-125 .elementor-element.elementor-element-7f8e719b{font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:#9FC0E8;}.elementor-125 .elementor-element.elementor-element-d356047 .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-6be64d3a{font-family:"Public Sans", Sans-serif;font-size:16.5px;font-weight:400;line-height:1.6em;color:rgba(255,255,255,0.7);}.elementor-125 .elementor-element.elementor-element-efe200{--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:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-125 .elementor-element.elementor-element-735bc93d{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:rgba(255,255,255,0.18);--border-color:rgba(255,255,255,0.18);--border-radius:22px 22px 22px 22px;box-shadow:0px 20px 40px 0px rgba(0,0,0,0.18);--padding-top:42px;--padding-bottom:42px;--padding-left:34px;--padding-right:34px;}.elementor-125 .elementor-element.elementor-element-735bc93d:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-735bc93d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.08);}.elementor-125 .elementor-element.elementor-element-7959642b{width:initial;max-width:initial;background-color:rgba(255,255,255,0.14);margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 26px) 0px;padding:10px 10px 10px 10px;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.2);border-radius:14px 14px 14px 14px;}.elementor-125 .elementor-element.elementor-element-7959642b .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-49da5c6d .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-23423fe7{font-family:"Public Sans", Sans-serif;font-size:14.5px;font-weight:400;line-height:1.7em;color:rgba(255,255,255,0.65);}.elementor-125 .elementor-element.elementor-element-196cc75c{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:18px 0px 0px 0px;border-style:solid;border-width:1px 0px 0px 0px;border-color:rgba(255,255,255,0.15);font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:400;line-height:1.6em;color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-6810f491{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:rgba(255,255,255,0.18);--border-color:rgba(255,255,255,0.18);--border-radius:22px 22px 22px 22px;box-shadow:0px 20px 40px 0px rgba(0,0,0,0.18);--padding-top:42px;--padding-bottom:42px;--padding-left:34px;--padding-right:34px;}.elementor-125 .elementor-element.elementor-element-6810f491:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-6810f491 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.08);}.elementor-125 .elementor-element.elementor-element-100b7e6a{width:initial;max-width:initial;background-color:rgba(255,255,255,0.14);margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 26px) 0px;padding:10px 10px 10px 10px;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.2);border-radius:14px 14px 14px 14px;}.elementor-125 .elementor-element.elementor-element-100b7e6a .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-3e2d053b .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-45aa4398{font-family:"Public Sans", Sans-serif;font-size:14.5px;font-weight:400;line-height:1.7em;color:rgba(255,255,255,0.65);}.elementor-125 .elementor-element.elementor-element-74aad5e1{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:18px 0px 0px 0px;border-style:solid;border-width:1px 0px 0px 0px;border-color:rgba(255,255,255,0.15);font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:400;line-height:1.6em;color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-7eec7561{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:rgba(255,255,255,0.18);--border-color:rgba(255,255,255,0.18);--border-radius:22px 22px 22px 22px;box-shadow:0px 20px 40px 0px rgba(0,0,0,0.18);--padding-top:42px;--padding-bottom:42px;--padding-left:34px;--padding-right:34px;}.elementor-125 .elementor-element.elementor-element-7eec7561:not(.elementor-motion-effects-element-type-background), .elementor-125 .elementor-element.elementor-element-7eec7561 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.08);}.elementor-125 .elementor-element.elementor-element-47db57b5{width:initial;max-width:initial;background-color:rgba(255,255,255,0.14);margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 26px) 0px;padding:10px 10px 10px 10px;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.2);border-radius:14px 14px 14px 14px;}.elementor-125 .elementor-element.elementor-element-47db57b5 .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-40e4fccf .elementor-heading-title{color:#FFFFFF;}.elementor-125 .elementor-element.elementor-element-41b7593c{font-family:"Public Sans", Sans-serif;font-size:14.5px;font-weight:400;line-height:1.7em;color:rgba(255,255,255,0.65);}.elementor-125 .elementor-element.elementor-element-19aab19{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:18px 0px 0px 0px;border-style:solid;border-width:1px 0px 0px 0px;border-color:rgba(255,255,255,0.15);font-family:"Public Sans", Sans-serif;font-size:13px;font-weight:400;line-height:1.6em;color:#FFFFFF;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-125 .elementor-element.elementor-element-c1127b2{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-bf0f142 *//* --- Carte englobante --- */
.gl-contact-card{
  position:relative;
  background:#FAF9F6;
  border:1px solid #ECE9E0;
  border-radius:24px;
  padding:44px;
  box-shadow:0 24px 56px rgba(13,31,56,0.08);
}

/* --- Grille du formulaire --- */
.gl-cf7-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  font-family:'Public Sans', sans-serif;
}
.gl-cf7-wrap .cf-row{ grid-column:1 / -1; }
.gl-cf7-wrap .cf-row--half{ grid-column:span 1; }

@media (max-width:640px){
  .gl-cf7-wrap{ grid-template-columns:1fr; }
  .gl-cf7-wrap .cf-row--half{ grid-column:1 / -1; }
}

/* --- Labels --- */
.gl-cf7-wrap label{
  display:block;
  font-size:12.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:700;
  color:#8A8A8A;
  margin-bottom:9px;
}
.gl-cf7-wrap label .req{ color:#1A4A86; margin-left:2px; }

/* --- Champs texte / email / tel / select / textarea --- */
.gl-cf7-wrap input[type=text],
.gl-cf7-wrap input[type=tel],
.gl-cf7-wrap input[type=email],
.gl-cf7-wrap select,
.gl-cf7-wrap textarea{
  width:100%;
  box-sizing:border-box;
  font-family:'Public Sans', sans-serif;
  font-size:15px;
  color:#141414;
  background:#FFFFFF;
  border:1px solid #E2DED4;
  border-radius:12px;
  padding:14px 16px;
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.gl-cf7-wrap textarea{ min-height:130px; resize:vertical; }
.gl-cf7-wrap ::placeholder{ color:#B3B0A8; }

.gl-cf7-wrap input:focus,
.gl-cf7-wrap select:focus,
.gl-cf7-wrap textarea:focus{
  border-color:#1A4A86;
  box-shadow:0 0 0 4px rgba(26,74,134,0.10);
}

/* Flèche personnalisée sur les select */
.gl-cf7-wrap select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%238A8A8A'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 0 1 1.06.02L10 11.168l3.71-3.938a.75.75 0 1 1 1.08 1.04l-4.25 4.5a.75.75 0 0 1-1.08 0l-4.25-4.5a.75.75 0 0 1 .02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:16px;
  padding-right:40px;
}
.gl-cf7-wrap select option{ background:#fff; color:#141414; }

/* --- Boutons radio en chips --- */
.gl-cf7-wrap .wpcf7-form-control.wpcf7-radio{
  display:flex; flex-wrap:wrap; gap:10px;
}
.gl-cf7-wrap .wpcf7-radio .wpcf7-list-item{ margin:0; }
.gl-cf7-wrap .wpcf7-radio .wpcf7-list-item-label{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px;
  border-radius:100px;
  border:1px solid #D9D5CB;
  background:#FFFFFF;
  color:#3A3A3A;
  font-size:14px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.gl-cf7-wrap .wpcf7-radio input[type=radio]{
  accent-color:#1A4A86;
  width:15px; height:15px; margin:0;
}
.gl-cf7-wrap .wpcf7-radio .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label{
  background:#1A4A86;
  border-color:#1A4A86;
  color:#fff;
}

/* --- Case RGPD --- */
.gl-cf7-wrap .wpcf7-acceptance .wpcf7-list-item{ margin:0; }
.gl-cf7-wrap .wpcf7-acceptance label{
  display:flex; align-items:flex-start; gap:12px;
  font-size:13.5px; color:#666666; line-height:1.55;
  text-transform:none; font-weight:400; letter-spacing:0;
}
.gl-cf7-wrap .wpcf7-acceptance input[type=checkbox]{
  margin-top:3px; width:18px; height:18px; accent-color:#1A4A86; flex-shrink:0;
}

/* --- Bouton d'envoi --- */
.gl-cf7-wrap .cf-row--submit{ margin-top:4px; }
.gl-cf7-wrap input[type=submit]{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  background:#141414 !important;
  color:#fff !important;
  border:none !important;
  border-radius:100px;
  padding:17px 32px;
  font-family:'Public Sans', sans-serif;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.gl-cf7-wrap input[type=submit]:hover{
  background:#1A4A86 !important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(26,74,134,0.28);
}
.gl-cf7-wrap input[type=submit]:disabled{ opacity:.6; cursor:wait; }

/* --- Messages d'erreur / réponse --- */
.gl-cf7-wrap .wpcf7-not-valid-tip{ color:#C0392B; font-size:12.5px; margin-top:6px; }
.gl-contact-card .wpcf7-response-output{
  margin-top:18px;
  border-radius:12px;
  border:1px solid #E2DED4;
  padding:14px 18px;
  font-size:14px;
  color:#141414;
  background:#FFFFFF;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b2327f5 *//* --- Carte englobante --- */
.gl-contact-card{
  position:relative;
  background:#FAF9F6;
  border:1px solid #ECE9E0;
  border-radius:24px;
  padding:44px;
  box-shadow:0 24px 56px rgba(13,31,56,0.08);
}

/* --- Grille du formulaire --- */
.gl-cf7-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  font-family:'Public Sans', sans-serif;
}
.gl-cf7-wrap .cf-row{ grid-column:1 / -1; }
.gl-cf7-wrap .cf-row--half{ grid-column:span 1; }

@media (max-width:640px){
  .gl-cf7-wrap{ grid-template-columns:1fr; }
  .gl-cf7-wrap .cf-row--half{ grid-column:1 / -1; }
}

/* --- Labels --- */
.gl-cf7-wrap label{
  display:block;
  font-size:12.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:700;
  color:#8A8A8A;
  margin-bottom:9px;
}
.gl-cf7-wrap label .req{ color:#1A4A86; margin-left:2px; }

/* --- Champs texte / email / tel / select / textarea --- */
.gl-cf7-wrap input[type=text],
.gl-cf7-wrap input[type=tel],
.gl-cf7-wrap input[type=email],
.gl-cf7-wrap select,
.gl-cf7-wrap textarea{
  width:100%;
  box-sizing:border-box;
  font-family:'Public Sans', sans-serif;
  font-size:15px;
  color:#141414;
  background:#FFFFFF;
  border:1px solid #E2DED4;
  border-radius:12px;
  padding:14px 16px;
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
}
.gl-cf7-wrap textarea{ min-height:130px; resize:vertical; }
.gl-cf7-wrap ::placeholder{ color:#B3B0A8; }

.gl-cf7-wrap input:focus,
.gl-cf7-wrap select:focus,
.gl-cf7-wrap textarea:focus{
  border-color:#1A4A86;
  box-shadow:0 0 0 4px rgba(26,74,134,0.10);
}

/* Flèche personnalisée sur les select */
.gl-cf7-wrap select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%238A8A8A'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 0 1 1.06.02L10 11.168l3.71-3.938a.75.75 0 1 1 1.08 1.04l-4.25 4.5a.75.75 0 0 1-1.08 0l-4.25-4.5a.75.75 0 0 1 .02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:16px;
  padding-right:40px;
}
.gl-cf7-wrap select option{ background:#fff; color:#141414; }

/* --- Boutons radio en chips --- */
.gl-cf7-wrap .wpcf7-form-control.wpcf7-radio{
  display:flex; flex-wrap:wrap; gap:10px;
}
.gl-cf7-wrap .wpcf7-radio .wpcf7-list-item{ margin:0; }
.gl-cf7-wrap .wpcf7-radio .wpcf7-list-item-label{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px;
  border-radius:100px;
  border:1px solid #D9D5CB;
  background:#FFFFFF;
  color:#3A3A3A;
  font-size:14px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.gl-cf7-wrap .wpcf7-radio input[type=radio]{
  accent-color:#1A4A86;
  width:15px; height:15px; margin:0;
}
.gl-cf7-wrap .wpcf7-radio .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label{
  background:#1A4A86;
  border-color:#1A4A86;
  color:#fff;
}

/* --- Case RGPD --- */
.gl-cf7-wrap .wpcf7-acceptance .wpcf7-list-item{ margin:0; }
.gl-cf7-wrap .wpcf7-acceptance label{
  display:flex; align-items:flex-start; gap:12px;
  font-size:13.5px; color:#666666; line-height:1.55;
  text-transform:none; font-weight:400; letter-spacing:0;
}
.gl-cf7-wrap .wpcf7-acceptance input[type=checkbox]{
  margin-top:3px; width:18px; height:18px; accent-color:#1A4A86; flex-shrink:0;
}

/* --- Bouton d'envoi --- */
.gl-cf7-wrap .cf-row--submit{ margin-top:4px; }
.gl-cf7-wrap input[type=submit]{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  background:#141414 !important;
  color:#fff !important;
  border:none !important;
  border-radius:100px;
  padding:17px 32px;
  font-family:'Public Sans', sans-serif;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.gl-cf7-wrap input[type=submit]:hover{
  background:#1A4A86 !important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(26,74,134,0.28);
}
.gl-cf7-wrap input[type=submit]:disabled{ opacity:.6; cursor:wait; }

/* --- Messages d'erreur / réponse --- */
.gl-cf7-wrap .wpcf7-not-valid-tip{ color:#C0392B; font-size:12.5px; margin-top:6px; }
.gl-contact-card .wpcf7-response-output{
  margin-top:18px;
  border-radius:12px;
  border:1px solid #E2DED4;
  padding:14px 18px;
  font-size:14px;
  color:#141414;
  background:#FFFFFF;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-735bc93d */.elementor-125 .elementor-element.elementor-element-735bc93d {
    /* Assure une transition fluide pour toutes les animations */
    transition: all 0.3s ease-in-out;
}

.elementor-125 .elementor-element.elementor-element-735bc93d:hover {
    /* Agrandit la carte de 4% */
    transform: scale(1.04);
    
    /* Assure que la carte survolée passe au-dessus des autres */
    z-index: 10;
    
    /* Optionnel : ajoute une ombre pour accentuer l'effet de profondeur (à ajuster selon vos goûts) */
    box-shadow: 0px 15px 30px rgba(0, 0, 0, 0.25);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6810f491 */.elementor-125 .elementor-element.elementor-element-6810f491 {
    /* Assure une transition fluide pour toutes les animations */
    transition: all 0.3s ease-in-out;
}

.elementor-125 .elementor-element.elementor-element-6810f491:hover {
    /* Agrandit la carte de 4% */
    transform: scale(1.04);
    
    /* Assure que la carte survolée passe au-dessus des autres */
    z-index: 10;
    
    /* Optionnel : ajoute une ombre pour accentuer l'effet de profondeur (à ajuster selon vos goûts) */
    box-shadow: 0px 15px 30px rgba(0, 0, 0, 0.25);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7eec7561 */.elementor-125 .elementor-element.elementor-element-7eec7561 {
    /* Assure une transition fluide pour toutes les animations */
    transition: all 0.3s ease-in-out;
}

.elementor-125 .elementor-element.elementor-element-7eec7561:hover {
    /* Agrandit la carte de 4% */
    transform: scale(1.04);
    
    /* Assure que la carte survolée passe au-dessus des autres */
    z-index: 10;
    
    /* Optionnel : ajoute une ombre pour accentuer l'effet de profondeur (à ajuster selon vos goûts) */
    box-shadow: 0px 15px 30px rgba(0, 0, 0, 0.25);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2620afc4 *//* ==========================================================================
   ANIMATION BACKGROUND : "PYRÉNÉES MINIMALISTES" (Épuré et filaire)
   ========================================================================== */

  .cp-locations {
    position: relative;
    /* On retire la couleur de fond fixe pour laisser transparaître le bleu de ton Elementor */
    padding: 88px 60px; /* À ajuster selon tes réglages Elementor */
    font-family: 'DM Sans', sans-serif;
    overflow: hidden; 
    z-index: 1;
  }

  /* Le motif des montagnes encodé en SVG directement dans le CSS */
  .cp-locations::before {
    content: '';
    position: absolute;
    /* On l'attache en bas pour que les montagnes reposent sur la limite inférieure */
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; 
    pointer-events: none;
    
    /* LE NOUVEAU SVG : 1500px x 1000px avec 3 plans de crêtes géométriques */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1500 1000' width='1500' height='1000'%3E%3Cstyle%3Epath%7Bstroke:%23FFFFFF;fill:none;stroke-linecap:round;stroke-linejoin:round;%7D%3C/style%3E%3C!-- Montagnes lointaines --%3E%3Cpath d='M0 700 L 300 450 L 550 650 L 900 300 L 1250 600 L 1500 700' stroke-width='2' opacity='0.04'/%3E%3C!-- Montagnes intermediaires --%3E%3Cpath d='M0 800 L 200 600 L 450 800 L 750 450 L 1100 850 L 1350 650 L 1500 800' stroke-width='2.5' opacity='0.08'/%3E%3C!-- Avant-plan (Piémont) --%3E%3Cpath d='M0 950 L 400 750 L 850 950 L 1200 800 L 1500 950' stroke-width='3' opacity='0.12'/%3E%3C/svg%3E");
    
    background-repeat: repeat-x;
    background-position: bottom left; 
    
    /* Hauteur forcée pour garder les proportions des montagnes */
    background-size: 1500px 1000px; 
    
    /* Animation de travelling très douce */
    animation: cpMountainPan 60s linear infinite;
  }

  @keyframes cpMountainPan {
    0% { background-position: 0 bottom; }
    /* Décalage exact de la largeur (1500px) pour une boucle parfaite */
    100% { background-position: -1500px bottom; }
  }

  /* Protection : Le texte et les cartes passent au-dessus des montagnes */
  .cp-locations__header,
  .cp-locations__grid,
  .elementor-container {
    position: relative;
    z-index: 2;
  }/* End custom CSS */