.elementor-256693 .elementor-element.elementor-element-6c9f74c{--display:flex;--z-index:1;--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:120px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-256693 .elementor-element.elementor-element-6c9f74c:not(.elementor-motion-effects-element-type-background), .elementor-256693 .elementor-element.elementor-element-6c9f74c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-351c6da1 );}.elementor-256693 .elementor-element.elementor-element-df170a8{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Buenos, sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-256693 .elementor-element.elementor-element-4c40d1c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;text-align:center;}.elementor-256693 .elementor-element.elementor-element-4c40d1c .elementor-heading-title{font-size:var( --e-global-typography-h332600-font-size );font-weight:var( --e-global-typography-h332600-font-weight );text-transform:var( --e-global-typography-h332600-text-transform );font-style:var( --e-global-typography-h332600-font-style );text-decoration:var( --e-global-typography-h332600-text-decoration );line-height:var( --e-global-typography-h332600-line-height );letter-spacing:var( --e-global-typography-h332600-letter-spacing );color:var( --e-global-color-576646c2 );}.elementor-256693 .elementor-element.elementor-element-07c9566{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-256693 .elementor-element.elementor-element-cc505a3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-256693 .elementor-element.elementor-element-9e9e91e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 60px) 0px;}.elementor-256693 .elementor-element.elementor-element-9e9e91e iframe{height:300px;}.elementor-256693 .elementor-element.elementor-element-dd49685{--display:flex;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-256693 .elementor-element.elementor-element-53193d2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;text-align:center;}.elementor-256693 .elementor-element.elementor-element-53193d2 .elementor-heading-title{letter-spacing:-2.5px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Buenos, sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );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-256693 .elementor-element.elementor-element-d4f5c2b{font-size:var( --e-global-typography-descm400-font-size );font-weight:var( --e-global-typography-descm400-font-weight );line-height:var( --e-global-typography-descm400-line-height );letter-spacing:var( --e-global-typography-descm400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="text"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="number"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="tel"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="email"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="password"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="search"],.elementor-256693 .elementor-element.elementor-element-d11f459 select,.elementor-256693 .elementor-element.elementor-element-d11f459 textarea{color:var( --e-global-color-primary );background-color:var( --e-global-color-c2bef9c );font-size:var( --e-global-typography-descs400-font-size );font-weight:var( --e-global-typography-descs400-font-weight );line-height:var( --e-global-typography-descs400-line-height );letter-spacing:var( --e-global-typography-descs400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="text"]:focus,.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="number"]:focus,.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="tel"]:focus,.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="email"]:focus,.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="password"]:focus,.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="search"]:focus,.elementor-256693 .elementor-element.elementor-element-d11f459 select:focus,.elementor-256693 .elementor-element.elementor-element-d11f459 textarea:focus{color:var( --e-global-color-primary );}.elementor-256693 .elementor-element.elementor-element-d11f459 .wpcf7-form label{font-size:var( --e-global-typography-descs400-font-size );font-weight:var( --e-global-typography-descs400-font-weight );line-height:var( --e-global-typography-descs400-line-height );letter-spacing:var( --e-global-typography-descs400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 .wpcf7-form .wpcf7-submit{font-size:var( --e-global-typography-accaps01-font-size );font-weight:var( --e-global-typography-accaps01-font-weight );text-transform:var( --e-global-typography-accaps01-text-transform );line-height:var( --e-global-typography-accaps01-line-height );letter-spacing:var( --e-global-typography-accaps01-letter-spacing );color:var( --e-global-color-576646c2 );background-color:var( --e-global-color-2bdfee9e );border-radius:10px 10px 10px 10px;padding:4px 20px 4px 20px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-4c40d1c .elementor-heading-title{font-size:var( --e-global-typography-h332600-font-size );line-height:var( --e-global-typography-h332600-line-height );letter-spacing:var( --e-global-typography-h332600-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-dd49685{--padding-top:0%;--padding-bottom:0%;--padding-left:10%;--padding-right:10%;}.elementor-widget-text-editor{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-256693 .elementor-element.elementor-element-d4f5c2b{font-size:var( --e-global-typography-descm400-font-size );line-height:var( --e-global-typography-descm400-line-height );letter-spacing:var( --e-global-typography-descm400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="text"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="number"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="tel"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="email"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="password"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="search"],.elementor-256693 .elementor-element.elementor-element-d11f459 select,.elementor-256693 .elementor-element.elementor-element-d11f459 textarea{font-size:var( --e-global-typography-descs400-font-size );line-height:var( --e-global-typography-descs400-line-height );letter-spacing:var( --e-global-typography-descs400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 .wpcf7-form label{font-size:var( --e-global-typography-descs400-font-size );line-height:var( --e-global-typography-descs400-line-height );letter-spacing:var( --e-global-typography-descs400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 .wpcf7-form .wpcf7-submit{font-size:var( --e-global-typography-accaps01-font-size );line-height:var( --e-global-typography-accaps01-line-height );letter-spacing:var( --e-global-typography-accaps01-letter-spacing );}}@media(min-width:768px){.elementor-256693 .elementor-element.elementor-element-6c9f74c{--content-width:1040px;}}@media(max-width:767px){.elementor-256693 .elementor-element.elementor-element-6c9f74c{--padding-top:80px;--padding-bottom:00px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-4c40d1c .elementor-heading-title{font-size:var( --e-global-typography-h332600-font-size );line-height:var( --e-global-typography-h332600-line-height );letter-spacing:var( --e-global-typography-h332600-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-9e9e91e iframe{height:180px;}.elementor-256693 .elementor-element.elementor-element-dd49685{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-text-editor{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-256693 .elementor-element.elementor-element-d4f5c2b{font-size:var( --e-global-typography-descm400-font-size );line-height:var( --e-global-typography-descm400-line-height );letter-spacing:var( --e-global-typography-descm400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="text"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="number"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="tel"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="email"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="password"],.elementor-256693 .elementor-element.elementor-element-d11f459 input[type="search"],.elementor-256693 .elementor-element.elementor-element-d11f459 select,.elementor-256693 .elementor-element.elementor-element-d11f459 textarea{font-size:var( --e-global-typography-descs400-font-size );line-height:var( --e-global-typography-descs400-line-height );letter-spacing:var( --e-global-typography-descs400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 .wpcf7-form label{font-size:var( --e-global-typography-descs400-font-size );line-height:var( --e-global-typography-descs400-line-height );letter-spacing:var( --e-global-typography-descs400-letter-spacing );}.elementor-256693 .elementor-element.elementor-element-d11f459 .wpcf7-form .wpcf7-submit{font-size:var( --e-global-typography-accaps01-font-size );line-height:var( --e-global-typography-accaps01-line-height );letter-spacing:var( --e-global-typography-accaps01-letter-spacing );}}/* Start custom CSS *//* ============================================
   CF7 - Serrurerie Lamarck
   Robust styling, handles wpautop + theme override
   ============================================ */

/* === Variables === */
.cf7-grid {
  --cf7-brand: #ff4920;
  --cf7-brand-hover: #e63d18;
  --cf7-text: #1f2937;
  --cf7-text-muted: #6b7280;
  --cf7-border: #d1d5db;
  --cf7-border-focus: #ff4920;
  --cf7-bg-input: #ffffff;
  --cf7-bg-alert: #fef2f2;
  --cf7-border-alert: #fecaca;
  --cf7-text-alert: #991b1b;
  --cf7-radius: 8px;
  --cf7-gap: 1rem 1.25rem;
}

/* === Neutralise wpautop : <p> et <br> parasites === */
.cf7-grid p,
.cf7-grid .cf7-alert p,
.cf7-phone p {
  display: contents;
  margin: 0;
}

.cf7-grid br,
.cf7-phone br {
  display: none;
}

/* === Grille 2 colonnes === */
.cf7-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--cf7-gap);
  width: 100%;
  box-sizing: border-box;
}

.cf7-grid .cf7-col-50 { grid-column: span 1; }
.cf7-grid .cf7-col-100 { grid-column: span 2; }

/* === Groupes conditionnels (Conditional Fields) === */
.cf7-grid [data-class="wpcf7cf_group"] {
  display: contents;
}

.cf7-grid [data-class="wpcf7cf_group"].wpcf7cf-hidden {
  display: none;
}

/* === Labels === */
.cf7-grid label {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--cf7-text);
  width: 100%;
  line-height: 1.4;
}

.cf7-grid .cf7-label {
  display: block;
  width: 100%;
  margin-bottom: 0.4rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--cf7-text);
  line-height: 1.4;
}

/* === Inputs harmonisés (override thème) === */
.cf7-grid input[type="text"],
.cf7-grid input[type="email"],
.cf7-grid input[type="tel"],
.cf7-grid input[type="date"],
.cf7-grid input[type="number"],
.cf7-grid select,
.cf7-grid textarea {
  width: 100% !important;
  padding: 0.5rem 0.9rem !important;
  border: 1px solid var(--cf7-border) !important;
  border-radius: var(--cf7-radius) !important;
  font-size: 1rem !important;
  font-family: inherit !important;
  color: var(--cf7-text) !important;
  background: var(--cf7-bg-input) !important;
  box-sizing: border-box !important;
  transition: border-color .15s, box-shadow .15s;
  -webkit-appearance: none;
  appearance: none;
  margin: 0 !important;
  line-height: 1.4;
}

.cf7-grid select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  padding-right: 2.5rem !important;
}

.cf7-grid input:focus,
.cf7-grid select:focus,
.cf7-grid textarea:focus {
  outline: none !important;
  border-color: var(--cf7-border-focus) !important;
  box-shadow: 0 0 0 3px rgba(255, 73, 32, 0.15) !important;
}

.cf7-grid textarea {
  min-height: 120px;
  resize: vertical;
  display: block;
}

.cf7-grid input::placeholder,
.cf7-grid textarea::placeholder {
  color: #9ca3af;
  opacity: 1;
}

/* === Téléphone : préfixe + numéro côte à côte === */
.cf7-phone {
  display: flex;
  gap: 0.4rem;
  align-items: stretch;
}

.cf7-phone .wpcf7-form-control-wrap[data-name="your-phone-prefix"] {
  flex: 0 0 80px;
}

.cf7-phone .wpcf7-form-control-wrap[data-name="your-phone"] {
  flex: 1;
  min-width: 0;
}

.cf7-phone input[name="your-phone-prefix"] {
  text-align: center !important;
  font-weight: 500 !important;
  padding-left: 0.4rem !important;
  padding-right: 0.4rem !important;
}

/* === Alerte urgence === */
.cf7-grid .cf7-alert {
  padding: 0.9rem 1rem;
  border-radius: var(--cf7-radius);
  font-size: 0.875rem;
  line-height: 1.5;
  border: 1px solid transparent;
  margin: 0;
}

.cf7-grid .cf7-alert-urgent {
  background: var(--cf7-bg-alert);
  border-color: var(--cf7-border-alert);
  color: var(--cf7-text-alert);
  font-weight: 500;
}

/* === Checkboxes (use_label_element) === */
.cf7-grid .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-top: 0.25rem;
}

.cf7-grid .wpcf7-checkbox .wpcf7-list-item {
  display: inline-flex;
  margin: 0;
  flex: 0 0 auto;
}

.cf7-grid .wpcf7-checkbox .wpcf7-list-item label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 0.5rem;
  width: auto !important;
  font-weight: 400 !important;
  font-size: 0.9375rem;
  color: var(--cf7-text);
  cursor: pointer;
  margin: 0;
}

.cf7-grid .wpcf7-checkbox .wpcf7-list-item-label {
  display: inline;
}

.cf7-grid .wpcf7-checkbox input[type="checkbox"] {
  width: 1.1rem !important;
  height: 1.1rem !important;
  accent-color: var(--cf7-brand);
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--cf7-border) !important;
  flex-shrink: 0;
  cursor: pointer;
  -webkit-appearance: auto !important;
  appearance: auto !important;
}

/* === Submit === */
.cf7-grid .cf7-submit {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.5rem;
}

.cf7-grid input[type="submit"] {
  background: var(--cf7-brand) !important;
  color: #fff !important;
  border: none !important;
  padding: 0.9rem 2rem !important;
  border-radius: var(--cf7-radius) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  cursor: pointer;
  transition: background .15s, transform .05s;
  width: auto !important;
  letter-spacing: 0.01em;
  text-transform: none;
}

.cf7-grid input[type="submit"]:hover {
  background: var(--cf7-brand-hover) !important;
}

.cf7-grid input[type="submit"]:active {
  transform: translateY(1px);
}

.cf7-grid .wpcf7-spinner {
  margin-left: 0.75rem;
}

/* === Validation errors === */
.cf7-grid .wpcf7-not-valid {
  border-color: #dc2626 !important;
}

.cf7-grid .wpcf7-not-valid-tip {
  color: #dc2626;
  font-size: 0.8125rem;
  margin-top: 0.25rem;
  display: block;
}

/* === Tablette === */
@media (max-width: 768px) {
  .cf7-grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
  .cf7-grid .cf7-col-50,
  .cf7-grid .cf7-col-100 {
    grid-column: span 1;
  }
}

/* === Mobile : 16px pour éviter zoom iOS === */
@media (max-width: 480px) {
  .cf7-grid input[type="text"],
  .cf7-grid input[type="email"],
  .cf7-grid input[type="tel"],
  .cf7-grid input[type="date"],
  .cf7-grid input[type="number"],
  .cf7-grid select,
  .cf7-grid textarea {
    font-size: 16px !important;
  }
  .cf7-phone .wpcf7-form-control-wrap[data-name="your-phone-prefix"] {
    flex: 0 0 70px;
  }
  .cf7-grid .cf7-submit {
    justify-content: stretch;
  }
  .cf7-grid input[type="submit"] {
    width: 100% !important;
  }
}

/* === Pièces jointes === */
.cf7-grid .cf7-file-label {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--cf7-text);
  width: 100%;
}

.cf7-grid input[type="file"] {
  width: 100% !important;
  padding: 1rem !important;
  border: 2px dashed var(--cf7-border) !important;
  border-radius: var(--cf7-radius) !important;
  background: #fafafa !important;
  font-size: 0.9375rem;
  color: var(--cf7-text-muted, #6b7280);
  cursor: pointer;
  font-family: inherit;
  transition: border-color .15s, background .15s;
  box-sizing: border-box;
}

.cf7-grid input[type="file"]:hover,
.cf7-grid input[type="file"]:focus {
  border-color: var(--cf7-brand) !important;
  background: #fff5f0 !important;
  outline: none;
}

.cf7-grid input[type="file"]::file-body.elementor-page-256693-button {
  background: var(--cf7-brand);
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.875rem;
  margin-right: 0.875rem;
  cursor: pointer;
  font-family: inherit;
  transition: background .15s;
}

.cf7-grid input[type="file"]::file-body.elementor-page-256693-button:hover {
  background: var(--cf7-brand-hover);
}

.cf7-grid .cf7-file-hint {
  display: block;
  font-size: 0.8125rem;
  color: var(--cf7-text-muted, #6b7280);
  margin-top: 0.5rem;
  line-height: 1.4;
}/* End custom CSS */