/* KM0 Activités – formulaire. Reprend le style du formulaire Elementor existant (page Contact). */
.km0f{
  --km-navy:var(--e-global-color-vamtam_accent_1,#043453);
  --km-mint:var(--e-global-color-vamtam_accent_2,#7BCFA6);
  --km-cream:var(--e-global-color-vamtam_accent_3,#F9F7F5);
  --km-line:rgba(0,0,0,.25);
  --km-err:#B3261E;
  --f-display:"Big Shoulders Text",Impact,"Arial Narrow",sans-serif;
  --f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-family:var(--f-body);color:#000;width:100%;
}
.km0f *,.km0f *::before,.km0f *::after{box-sizing:border-box}
.km0f-form{display:grid;gap:36px}
.km0f-set{border:0;margin:0;padding:0;min-width:0}
.km0f-legend{font:600 22px/1.3 var(--f-display);letter-spacing:1px;text-transform:uppercase;color:#000;padding:0;margin:0 0 18px;display:flex;align-items:center;gap:10px}
.km0f-legend::before{content:"";width:12px;height:12px;background:var(--km-mint);flex:none}
.km0f-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 20px}
.km0f-field{display:flex;flex-direction:column;min-width:0}
.km0f-field.full{grid-column:1/-1}
.km0f-field[hidden]{display:none!important}
.km0f label,.km0f .km0f-label{font:400 14px/1.4 var(--f-body);color:#000;padding:0 0 10px;margin:0;text-transform:none;letter-spacing:0}
.km0f .req{color:var(--km-err)}
.km0f .opt{color:rgba(0,0,0,.55)}
.km0f input[type=text],.km0f input[type=email],.km0f input[type=tel],.km0f input[type=date],.km0f select,.km0f textarea{
  width:100%;font:400 14px/1.4 var(--f-body);color:#000;background:#fff;border:.8px solid var(--km-line);border-radius:0;padding:10px 16px;min-height:41px;margin:0;box-shadow:none;appearance:none;-webkit-appearance:none;
}
.km0f select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.km0f textarea{resize:vertical;min-height:90px}
.km0f input:focus,.km0f select:focus,.km0f textarea:focus{outline:none;border-color:var(--km-navy);box-shadow:0 0 0 1px var(--km-navy)}
.km0f .has-error input,.km0f .has-error select,.km0f .has-error textarea{border-color:var(--km-err);box-shadow:0 0 0 1px var(--km-err)}
.km0f .has-error .km0f-radio{border-color:var(--km-err)}

.km0f-radios{display:flex;gap:10px;flex-wrap:wrap}
.km0f .km0f-radio{display:inline-flex;align-items:center;gap:10px;border:.8px solid var(--km-line);padding:10px 18px;cursor:pointer;background:#fff;font:600 16px/1 var(--f-display);text-transform:uppercase;letter-spacing:1px}
.km0f .km0f-radio input{width:16px;height:16px;margin:0;accent-color:var(--km-navy)}
.km0f .km0f-radio:has(input:checked){border-color:var(--km-navy);box-shadow:0 0 0 1px var(--km-navy)}

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

.km0f-submit{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.km0f .km0f-btn{appearance:none;border:0;border-radius:0;background:var(--km-mint);color:#000;font:600 16px/1.2 var(--f-display);letter-spacing:1px;text-transform:uppercase;padding:14px 32px;cursor:pointer;transition:background .2s,color .2s}
.km0f .km0f-btn:hover{background:var(--km-navy);color:#fff}
.km0f .km0f-btn:disabled{opacity:.6;cursor:wait}
.km0f .km0f-btn:focus-visible{outline:2px solid var(--km-navy);outline-offset:2px}
.km0f-note{font:400 13px/1.4 var(--f-body);color:rgba(0,0,0,.6);margin:0}
.km0f-msg{background:#FBEAEA;border-left:4px solid var(--km-err);color:#5c0f0b;padding:12px 16px;font:500 14px/1.4 var(--f-body)}
.km0f-success{background:var(--km-cream);border-left:6px solid var(--km-mint);padding:28px}
.km0f-success p{margin:0;font:400 15px/1.5 var(--f-body)}
.km0f-success .km0f-success-title{font:600 32px/1.1 var(--f-display);text-transform:uppercase;margin:0 0 8px}

@media (max-width:767px){
  .km0f-grid{grid-template-columns:1fr}
  .km0f-form{gap:28px}
  .km0f .km0f-btn{width:100%}
}
