.jmc-contact{--nuit:#0d141a; --acier:#1c2a36; --bleu:#2e6da4; --bleu-clair:#5b9fde;
    --rouge:#cb281f; --rouge-h:#a81f17;
    --gris:#5a636b; --clair:#eef1f4; --txt:#11181f;
    --t-titre:'Archivo',sans-serif; --t-corps:'Inter',sans-serif;
    --pagepad:48px;}
.jmc-contact .wrap{max-width:1280px;margin:0 auto;padding:0 var(--pagepad);}
.jmc-contact .eyebrow{color:var(--bleu-clair);font-size:13px;letter-spacing:2px;font-weight:700;text-transform:uppercase;}
.jmc-contact .btn{padding:14px 28px;border-radius:8px;font-weight:600;font-size:15px;text-decoration:none;display:inline-block;transition:all .2s;cursor:pointer;border:none;font-family:var(--t-corps);}
.jmc-contact .btn-primary{background:var(--rouge);color:#fff;}
.jmc-contact .btn-primary:hover{background:var(--rouge-h);transform:translateY(-2px);box-shadow:0 8px 20px rgba(203,40,31,0.4);}
.jmc-contact .phero{background:var(--nuit);padding:72px 0 64px;}
.jmc-contact .phero .eyebrow{margin-bottom:16px;display:block;}
.jmc-contact .phero h1{color:#fff;font-size:clamp(30px,4vw,46px);font-weight:800;line-height:1.08;letter-spacing:-0.5px;max-width:860px;}
.jmc-contact .phero p{color:#b8c2cc;font-size:17px;margin-top:18px;max-width:620px;}
.jmc-contact section{padding:88px 0;}
.jmc-contact .contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;}
.jmc-contact .info-block{margin-bottom:40px;}
.jmc-contact .info-block:last-child{margin-bottom:0;}
.jmc-contact .info-block h2{font-size:13px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--bleu-clair);margin-bottom:18px;}
.jmc-contact .coord{list-style:none;}
.jmc-contact .coord li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #e7ebef;}
.jmc-contact .coord li:last-child{border-bottom:none;}
.jmc-contact .coord .ic{flex:none;width:38px;height:38px;border-radius:9px;background:var(--clair);color:var(--rouge);display:flex;align-items:center;justify-content:center;font-size:19px;}
.jmc-contact .coord .meta{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--gris);font-weight:600;}
.jmc-contact .coord .val{font-size:15.5px;color:var(--txt);font-weight:500;}
.jmc-contact .coord .val a{color:var(--txt);text-decoration:none;}
.jmc-contact .coord .val a:hover{color:var(--rouge);}
.jmc-contact .people{display:flex;flex-direction:column;gap:14px;}
.jmc-contact .person{background:var(--clair);border-radius:12px;padding:20px 22px;border-left:3px solid var(--rouge);}
.jmc-contact .person h3{font-size:17px;font-weight:700;color:var(--nuit);}
.jmc-contact .person .role{font-size:12.5px;text-transform:uppercase;letter-spacing:1px;color:var(--bleu);font-weight:600;margin-top:3px;}
.jmc-contact .person .lines{margin-top:12px;display:flex;flex-direction:column;gap:5px;}
.jmc-contact .person .lines a{font-size:14px;color:var(--gris);text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.jmc-contact .person .lines a:hover{color:var(--rouge);}
.jmc-contact .person .lines i{color:var(--bleu-clair);font-size:16px;}
.jmc-contact .form-card{background:#fff;border:1px solid #e3e8ed;border-radius:16px;padding:40px;box-shadow:0 18px 44px rgba(13,20,26,0.07);}
.jmc-contact .form-card h2{font-size:24px;font-weight:800;color:var(--nuit);letter-spacing:-0.3px;}
.jmc-contact .form-card .sub{font-size:14.5px;color:var(--gris);margin-top:8px;margin-bottom:28px;}
.jmc-contact .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.jmc-contact .field{display:flex;flex-direction:column;gap:7px;}
.jmc-contact .field.full{grid-column:1 / -1;}
.jmc-contact .field label{font-size:13px;font-weight:600;color:var(--acier);}
.jmc-contact .field label .req{color:var(--rouge);}
.jmc-contact .field input, .jmc-contact .field select, .jmc-contact .field textarea{font-family:var(--t-corps);font-size:15px;color:var(--txt);
    border:1.5px solid #d8dee4;border-radius:9px;padding:12px 14px;background:#fff;
    transition:border-color .2s, box-shadow .2s;width:100%;}
.jmc-contact .field input::placeholder, .jmc-contact .field textarea::placeholder{color:#9aa6b2;}
.jmc-contact .field input:focus, .jmc-contact .field select:focus, .jmc-contact .field textarea:focus{outline:none;border-color:var(--bleu-clair);box-shadow:0 0 0 3px rgba(91,159,222,0.18);}
.jmc-contact .field textarea{resize:vertical;min-height:130px;}
.jmc-contact .form-foot{margin-top:26px;display:flex;flex-direction:column;gap:18px;}
.jmc-contact .consent{display:flex;gap:12px;align-items:flex-start;cursor:pointer;}
.jmc-contact .consent input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--rouge);cursor:pointer;}
.jmc-contact .consent span{font-size:12.5px;color:var(--gris);line-height:1.55;}
.jmc-contact .consent a{color:var(--rouge);text-decoration:underline;}
.jmc-contact .consent a:hover{color:var(--rouge-h);}
.jmc-contact .form-card .btn-primary{width:100%;text-align:center;}
.jmc-contact .cta-final{background:var(--nuit);text-align:center;}
.jmc-contact .cta-final h2{color:#fff;font-size:32px;font-weight:800;letter-spacing:-0.4px;}
.jmc-contact .cta-final p{color:#b8c2cc;font-size:17px;margin:14px 0 28px;}
.jmc-contact .cta-final .phone{color:#fff;font-size:22px;font-weight:700;font-family:var(--t-titre);text-decoration:none;display:inline-flex;align-items:center;gap:10px;}
.jmc-contact .cta-final .phone:hover{color:var(--bleu-clair);}
@media(max-width:900px){
  .jmc-contact .contact-grid{grid-template-columns:1fr;gap:40px;}
  .jmc-contact .form-grid{grid-template-columns:1fr;}
  .jmc-contact .form-card{padding:28px;}
}

/* ============================================================
   PAGE CONTACT — formulaire Elementor stylé comme la maquette .form-card
   (scopé à la page contact : .page-id-281, sans effet ailleurs)
   ============================================================ */
/* neutralise la grille redondante dans le HTML (la colonne 2 = formulaire Elementor) */
.jmc-contact .contact-grid{display:block;gap:0;}

/* Carte formulaire (le conteneur qui contient le widget form) */
.page-id-281 .elementor-element-5a14a76,
.page-id-281 .e-con:has(> .elementor-widget-form){
  background:#fff;border:1px solid #e3e8ed;border-radius:16px;padding:40px;
  box-shadow:0 18px 44px rgba(13,20,26,0.07);
}
@media(max-width:900px){
  .page-id-281 .elementor-element-5a14a76,
  .page-id-281 .e-con:has(> .elementor-widget-form){padding:28px;}
}
/* Titre + sous-titre de la carte */
.page-id-281 .elementor-element-5a14a76 .elementor-heading-title,
.page-id-281 .e-con:has(> .elementor-widget-form) h1,
.page-id-281 .e-con:has(> .elementor-widget-form) h2{
  font-family:'Archivo',sans-serif;font-size:24px;font-weight:800;color:#0d141a;letter-spacing:-.3px;line-height:1.2;
}

/* Espacement des champs */
.page-id-281 .elementor-form .elementor-field-group{margin-bottom:18px;}
/* Libellés */
.page-id-281 .elementor-field-label{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:#1c2a36;margin-bottom:7px;
}
.page-id-281 .elementor-mark-required .elementor-field-label:after{color:#cb281f;}
/* Champs : input / select / textarea */
.page-id-281 .elementor-field-textual,
.page-id-281 .elementor-field-group select,
.page-id-281 .elementor-field-group textarea{
  font-family:'Inter',sans-serif;font-size:15px;color:#11181f;background:#fff;width:100%;
  border:1.5px solid #d8dee4;border-radius:9px;padding:12px 14px;
  transition:border-color .2s, box-shadow .2s;
}
.page-id-281 .elementor-field-textual::placeholder,
.page-id-281 textarea::placeholder{color:#9aa6b2;}
.page-id-281 .elementor-field-textual:focus,
.page-id-281 .elementor-field-group select:focus,
.page-id-281 .elementor-field-group textarea:focus{
  outline:none;border-color:#5b9fde;box-shadow:0 0 0 3px rgba(91,159,222,.18);
}
.page-id-281 textarea.elementor-field-textual{min-height:130px;resize:vertical;}
/* Consentement (acceptance) */
.page-id-281 .elementor-field-type-acceptance .elementor-field-option label,
.page-id-281 .elementor-field-subgroup label{font-size:12.5px;color:#5a636b;font-weight:400;line-height:1.55;}
.page-id-281 .elementor-acceptance-field{accent-color:#cb281f;width:18px;height:18px;margin-top:2px;}
/* Bouton submit rouge pleine largeur */
.page-id-281 .elementor-widget-form .elementor-button{
  background:#cb281f;color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;
  font-weight:600;font-size:15px;padding:14px 28px;width:100%;justify-content:center;transition:all .2s;
}
.page-id-281 .elementor-widget-form .elementor-button:hover{
  background:#a81f17;transform:translateY(-2px);box-shadow:0 8px 20px rgba(203,40,31,.4);
}
.page-id-281 .e-form__buttons{width:100%;margin-top:8px;}

/* Fix select (liste déroulante) : texte coupé → hauteur auto + place pour la flèche */
.page-id-281 .elementor-select-wrapper{height:auto;overflow:visible;}
.page-id-281 select.elementor-field-textual{
  height:auto !important;min-height:48px;line-height:1.4;
  padding:12px 40px 12px 14px;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a636b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;
}
.page-id-281 .elementor-select-wrapper:after,
.page-id-281 .elementor-select-wrapper:before{display:none !important;}

/* Polices maquette (scopées) : corps Inter, titres Archivo */
.jmc-contact{font-family:'Inter',sans-serif;color:#11181f;line-height:1.6;}
.jmc-contact h1,.jmc-contact h2,.jmc-contact h3,.jmc-contact .num{font-family:'Archivo',sans-serif;}
