/**
 * Moser Recrutement — styles partagés du formulaire de candidature.
 * Style « carré » aligné sur les formulaires du site (kit Elementor) :
 * accent #234A9A, texte #1D1D1D, champs soulignés, radius 0.
 * Utilisé par le single offre ET la page recrutement.
 */

.mrec-form-card { background:#fff; border:0; border-radius:0; padding:30px 28px; }
/* Variante page : la carte est posée sur la section bleue → pas de cadre. */
.mrec-form-card--page { border:0; padding:40px 42px; }

/* Scopé (0,0,2,0) : le kit Elementor pose .elementor-kit-5 h2{font-size:17px}. */
.mrec-form-card .mrec-form-title { font-family:"DM Sans",sans-serif; font-size:24px; font-weight:800; color:#1D1D1D; margin:0 0 8px; text-align:center; line-height:1.15; }
.mrec-form-card--page .mrec-form-title { font-size:clamp(26px,3vw,42px); font-weight:600; line-height:1.15; margin-bottom:12px; }
.mrec-form-intro { font-size:14px; color:#5b6470; margin:0 0 22px; line-height:1.5; text-align:center; }
.mrec-form-card--page .mrec-form-intro { font-size:15px; }

.mrec-field { margin-bottom:18px; }
.mrec-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mrec-sr { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; white-space:nowrap; }

/* Champs — style repris des landing pages Moser (template-lp-portails) :
   encadrés, bordure 1.5px #e2e8f0, radius 8px, padding 12px 16px, 14px DM Sans.
   ⚠️ Sélecteurs scopés sous .mrec-form-card : hello-elementor pose
   input[type=text],…,textarea{border:1px solid #666;border-radius:3px}
   — même spécificité que « .mrec-field input » (égalité → le thème, chargé
   après, gagnait) alors que « textarea » y est un simple élément, plus faible.
   D'où des inputs et un textarea d'apparences différentes. */
.mrec-form-card .mrec-field input,
.mrec-form-card .mrec-field textarea { width:100%; padding:12px 16px; border:1.5px solid #e2e8f0; border-radius:8px; font-family:"DM Sans",sans-serif; font-size:14px; color:#1a2744; background:#fff; transition:border-color .2s; outline:none; box-shadow:none; }
.mrec-form-card .mrec-field input::placeholder,
.mrec-form-card .mrec-field textarea::placeholder { color:#8a94ad; opacity:1; }
.mrec-form-card .mrec-field input:focus,
.mrec-form-card .mrec-field textarea:focus { border-color:#234A9A; box-shadow:none; }
.mrec-form-card .mrec-field textarea { min-height:100px; resize:vertical; }

.mrec-field-file .mrec-file-label { display:block; font-size:13px; font-weight:600; color:#1a2744; margin-bottom:6px; }
.mrec-field-file .mrec-file-label em { color:#5a6680; font-style:normal; font-weight:400; font-size:12px; }
.mrec-form-card .mrec-field input[type=file] { padding:10px 16px; border:1.5px solid #e2e8f0; border-radius:8px; cursor:pointer; font-size:13.5px; color:#5a6680; }
.mrec-cv-name { display:block; margin-top:6px; font-size:12.5px; color:#5a6680; word-break:break-all; }

.mrec-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

.mrec-altcha-wrap { margin:4px 0 16px; }
.mrec-altcha-wrap .cf-altcha { --altcha-max-width:100%; --altcha-border-radius:8px; --altcha-color-base:#fff; --altcha-border-color:#e2e8f0; --altcha-color-base-content:#1a2744; font-size:14px; }

.mrec-consent { display:flex; align-items:flex-start; gap:10px; margin:8px 0 18px; font-size:13px; line-height:1.45; color:#4a4a4a; cursor:pointer; }
.mrec-consent input { margin-top:2px; width:16px; height:16px; accent-color:#234A9A; flex:0 0 auto; border-radius:0; }

/* Bouton d'envoi — typo exacte du site (DM Sans 800, 15px/15px), carré.
   ⚠️ La variante <a> est scopée sous .mrec-form-card pour battre la règle du kit
   Elementor (.elementor-kit-5 a{color:accent}) qui rendait le texte invisible. */
.mrec-form-card .mrec-submit,
.mrec-form-card a.mrec-submit { display:block; width:100%; text-align:center; background:#234A9A; color:#fff; border:0; border-radius:0; padding:17px 20px; font-family:"DM Sans",sans-serif; font-size:15px; line-height:15px; font-weight:800; cursor:pointer; text-decoration:none; transition:background .15s ease; }
.mrec-form-card .mrec-submit:hover,
.mrec-form-card a.mrec-submit:hover { background:#1b3a78; color:#fff; }

.mrec-notice { margin:0 0 16px; padding:12px 14px; border-radius:0; font-size:14px; font-weight:600; line-height:1.45; }
.mrec-notice.is-success { background:#e8f6ee; color:#1e7e46; border:1px solid #b6e2c7; }
.mrec-notice.is-error { background:#fdecec; color:#c0392b; border:1px solid #f3c2c2; }

@media (max-width:520px) {
    .mrec-row { grid-template-columns:1fr; }
    .mrec-form-card--page { padding:28px 22px; }
}
