/*!
 * EUROMAC2 Forms - formulaire public.
 * Tout est prefixe .em2s et remet a plat ce que les themes WordPress
 * imposent aux boutons et aux champs (white-space:nowrap, text-transform,
 * text-overflow, ombres de texte, images de fond). Sans ce garde-fou, les
 * libelles debordent des pastilles.
 */

.em2s{
  --em2-navy:#0A3B5C;--em2-navy-d:#073049;--em2-blue:#1379B4;--em2-cyan:#1FA7E6;
  --em2-cyan-l:#7FCDEE;--em2-lime:#8CC63F;--em2-lime-d:#77AF2E;--em2-ink:#0E2A38;
  --em2-gray:#5A6B73;--em2-mute:#9AAAB3;--em2-line:#DFE7EC;--em2-soft:#F4F8FA;
  --em2-tile:#EAF3F9;--em2-err:#C0392B;
  --em2-font:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-family:var(--em2-font);
  color:var(--em2-ink);
  line-height:1.55;
  max-width:680px;
  margin-left:auto;margin-right:auto;
  text-align:left;
}
.em2s *,.em2s *::before,.em2s *::after{box-sizing:border-box}
.em2s button,.em2s input,.em2s textarea,.em2s select,.em2s label,.em2s span,.em2s p{
  font-family:inherit !important;
  white-space:normal !important;
  text-overflow:clip !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  text-shadow:none !important;
  background-image:none;
  min-width:0;
}
.em2s button{margin:0;box-shadow:none;text-align:left;width:auto;line-height:1.4}
.em2s p{margin:0}

.em2s-card{
  background:#fff;border:1px solid var(--em2-line);border-radius:16px;
  padding:clamp(20px,3vw,32px);
  box-shadow:0 2px 4px rgba(10,59,92,.04),0 14px 34px rgba(10,59,92,.07);
}
.em2s-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.em2s-full{grid-column:1/-1}
@media (max-width:620px){.em2s-fields{grid-template-columns:1fr}}

.em2s-fld>label,.em2s-lbl{
  display:block;font-size:.8rem;font-weight:600;color:var(--em2-ink);margin:0 0 6px;
}
.em2s-fld>label em{font-style:normal;color:var(--em2-lime-d)}
.em2s-opt{font-weight:500;color:var(--em2-mute);font-size:.74rem}
.em2s-fld input,.em2s-fld textarea{
  width:100%;border:1.5px solid var(--em2-line);border-radius:10px;
  padding:12px 14px;font-size:.95rem;color:var(--em2-ink);background:#fff;
  -webkit-appearance:none;appearance:none;height:auto;
}
.em2s-fld input:focus,.em2s-fld textarea:focus{
  outline:none;border-color:var(--em2-cyan);box-shadow:0 0 0 3px rgba(31,167,230,.12);
}
.em2s-fld input.is-err,.em2s-fld textarea.is-err{border-color:var(--em2-err)}
.em2s-fld textarea{resize:vertical}

/* ── Profil ── */
.em2s-pills{display:flex;gap:10px;flex-wrap:wrap}
.em2s .em2s-pill{
  display:inline-flex;align-items:center;gap:9px;position:relative;
  font-size:.92rem;font-weight:600;color:var(--em2-gray);background:#fff;
  border:1.5px solid var(--em2-line);border-radius:999px;padding:11px 24px;
  cursor:pointer;transition:.16s;margin:0;
}
.em2s-pill input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.em2s-pill svg{flex:0 0 auto}
.em2s-pill:hover{border-color:var(--em2-cyan-l);color:var(--em2-navy)}
.em2s-pill.is-on{background:var(--em2-navy);border-color:var(--em2-navy);color:#fff;box-shadow:0 6px 14px rgba(10,59,92,.22)}
.em2s-pill:focus-within{outline:2px solid var(--em2-cyan);outline-offset:2px}
@media (max-width:620px){
  .em2s-pills{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .em2s-pill{padding:13px 8px;font-size:.88rem;justify-content:center}
}

/* ── Pays + code postal ── */
.em2s-loc{position:relative}
.em2s-anchor{position:relative}
.em2s-row{display:flex;align-items:stretch}
.em2f{
  display:inline-block;flex:0 0 auto;width:26px;height:19px;border-radius:4px;
  background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#fff;
  box-shadow:inset 0 0 0 1px rgba(10,59,92,.20),0 1px 2px rgba(10,59,92,.10);
}
.em2f[data-c="xx"]{
  background-color:var(--em2-tile);background-size:15px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A3B5C' stroke-width='1.9'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3c2.5 2.6 3.8 5.6 3.8 9S14.5 18.4 12 21c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E");
}
.em2s .em2s-flagbtn{
  display:flex;align-items:center;gap:8px;flex:0 0 auto;cursor:pointer;
  border:1.5px solid var(--em2-line);border-radius:10px 0 0 10px;
  background:linear-gradient(180deg,#fff,#F1F6F9);padding:0 12px;transition:.16s;
}
.em2s-flagbtn:hover{background:var(--em2-tile);border-color:var(--em2-cyan-l)}
.em2s-flagbtn:focus-visible{outline:2px solid var(--em2-cyan);outline-offset:2px}
.em2s-iso{font-size:.82rem;font-weight:700;color:var(--em2-navy)}
.em2s-car{color:var(--em2-blue);transition:transform .18s;flex:0 0 auto}
.em2s-flagbtn:hover .em2s-car{color:var(--em2-navy)}
.em2s-flagbtn.is-open{background:var(--em2-tile);border-color:var(--em2-cyan)}
.em2s-flagbtn.is-open .em2s-car{transform:rotate(180deg)}
.em2s-row input{border-radius:0 10px 10px 0 !important;border-left:none !important;letter-spacing:.12em;font-weight:600}
.em2s-row input::placeholder{letter-spacing:normal;font-weight:400}
.em2s-hint{font-size:.74rem;color:var(--em2-mute);margin-top:7px}
.em2s-res{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:.86rem;font-weight:600;color:var(--em2-lime-d)}
.em2s-res.is-err{color:var(--em2-err)}
.em2s-res:empty{display:none}
.em2s-res:not(:empty)+.em2s-hint{display:none}

.em2s-pop{
  position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;
  border:1.5px solid var(--em2-line);border-radius:12px;
  box-shadow:0 16px 40px rgba(10,59,92,.16);z-index:60;overflow:hidden;
}
.em2s-pop[hidden]{display:none}
.em2s-search{
  width:100%;border:none !important;border-bottom:1px solid var(--em2-line) !important;
  border-radius:0 !important;padding:13px 15px;font-size:.9rem;outline:none;
}
.em2s-list{max-height:268px;overflow-y:auto}
.em2s-item{display:flex;align-items:center;gap:11px;padding:9px 15px;cursor:pointer;font-size:.9rem}
.em2s-item:hover,.em2s-item.is-sel{background:var(--em2-tile)}
.em2s-item.is-cur{background:#F2F8E2}
.em2s-item b{font-weight:600;color:var(--em2-navy)}
.em2s-item span.em2s-end{color:var(--em2-mute);font-size:.84rem}
.em2s-sep{height:1px;background:var(--em2-line);margin:5px 0}
.em2s-none{padding:14px 15px;font-size:.84rem;color:var(--em2-gray)}

/* ── Message ── */
.em2s-msg label{font-size:.95rem !important;font-weight:700 !important;color:var(--em2-navy) !important;margin-bottom:8px !important}
.em2s-msg label .em2s-opt{font-size:.82rem}
.em2s-msg textarea{font-size:.95rem;min-height:104px;line-height:1.6}

/* ── Pieces jointes ── */
.em2s-up{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.em2s .em2s-upbtn{
  display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;
  color:var(--em2-blue);background:var(--em2-soft);border:1.5px solid var(--em2-line);
  border-radius:10px;padding:10px 16px;cursor:pointer;transition:.16s;
}
.em2s-upbtn:hover{border-color:var(--em2-cyan);background:var(--em2-tile)}
.em2s-uphint{font-size:.74rem;color:var(--em2-mute)}
.em2s-files{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.em2s-files:empty{display:none}
.em2s-chip{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:500;color:var(--em2-navy);background:var(--em2-tile);border-radius:7px;padding:6px 10px}
.em2s-chip i{font-style:normal;font-size:.68rem;color:var(--em2-mute)}
.em2s .em2s-chip button{background:none;width:auto;border:none;color:var(--em2-mute);font-size:1rem;cursor:pointer;padding:0 2px;line-height:1}
.em2s-chip button:hover{color:var(--em2-err)}

/* ── Consentement ── */
.em2s-rgpd{
  display:flex;gap:14px;align-items:flex-start;background:var(--em2-soft);
  border:1.5px solid var(--em2-line);border-radius:12px;padding:16px 18px;cursor:pointer;transition:.16s;
}
.em2s-rgpd:hover{border-color:var(--em2-cyan-l)}
.em2s-rgpd.is-err{border-color:var(--em2-err)}
.em2s-rgpd input{width:24px;height:24px;min-width:24px;margin:1px 0 0;accent-color:var(--em2-lime-d);cursor:pointer;flex:0 0 auto}
.em2s-rgpd span{font-size:.86rem;color:var(--em2-ink);line-height:1.55}
.em2s-rgpd a{color:var(--em2-blue);text-decoration:underline}
@media (max-width:620px){.em2s-rgpd{padding:18px 16px}.em2s-rgpd span{font-size:.9rem}}

/* ── Envoi ── */
.em2s-err{
  margin-top:14px;font-size:.86rem;font-weight:600;color:var(--em2-err);
  background:#FDECEA;border:1.5px solid #F5C6C0;border-radius:10px;padding:11px 14px;
}
.em2s-err[hidden]{display:none}
.em2s .em2s-send{
  width:100%;display:flex;align-items:center;justify-content:center;gap:12px;
  font-size:1.05rem;font-weight:700;color:#fff;background:var(--em2-lime);
  border:none;border-radius:12px;padding:17px;cursor:pointer;margin-top:18px;
  transition:.2s cubic-bezier(.2,.8,.3,1);box-shadow:0 10px 26px rgba(140,198,63,.32);
}
.em2s-send:hover{background:var(--em2-lime-d);transform:translateY(-2px)}
.em2s-send svg{transition:transform .2s}
.em2s-send:hover svg{transform:translateX(4px)}
.em2s-send[disabled]{opacity:.65;cursor:progress;transform:none}
.em2s-send[disabled]:hover{background:var(--em2-lime);transform:none}

/* ── Pot de miel ── */
.em2s-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

/* ── Confirmation ── */
.em2s-ok{
  background:#fff;border:1px solid var(--em2-line);border-radius:16px;
  padding:clamp(28px,4vw,42px);text-align:center;
  box-shadow:0 2px 4px rgba(10,59,92,.04),0 14px 34px rgba(10,59,92,.07);
}
.em2s-ok[hidden]{display:none}
.em2s-okico{
  display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;
  border-radius:50%;background:#F2F8E2;color:var(--em2-lime-d);margin-bottom:16px;
}
.em2s-oktitle{font-size:1.25rem;font-weight:700;color:var(--em2-navy);margin:0 0 6px}
.em2s-oktext{font-size:.95rem;color:var(--em2-gray);margin:0}

@media (prefers-reduced-motion:reduce){
  .em2s *{transition:none !important}
  .em2s-send:hover{transform:none}
}
