/* Nozo Contact : styles par défaut, s'adaptent aux couleurs du template (currentColor). */
.nzc { --nzc-accent: var(--accent, #e20d7a); --nzc-error: #ff8fc2; }
.nzc-form { display: flex; flex-direction: column; gap: 22px; margin: 0; }
.nzc-field { display: flex; flex-direction: column; gap: 10px; }
.nzc-label { font: 500 12px/1.4 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.nzc-req { color: var(--nzc-accent); opacity: 1; }
.nzc-input { width: 100%; background: transparent; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; color: inherit; font: inherit; font-size: 18px; padding: 12px 0; outline: none; opacity: .95; transition: border-color .3s; box-sizing: border-box; }
.nzc-input:focus { border-bottom-color: var(--nzc-accent) !important; box-shadow: 0 1px 0 0 var(--nzc-accent); }
.nzc-textarea { min-height: 130px; resize: vertical; }
.nzc-input[aria-invalid="true"] { border-bottom-color: var(--nzc-error) !important; }
.nzc-error { color: var(--nzc-error); font-size: 14px; min-height: 0; }
.nzc-error:empty { display: none; }
.nzc-field--check { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.5; }
.nzc-field--check label { flex: 1 1 0; min-width: 0; }
.nzc-field--check .nzc-error { flex-basis: 100%; }
.nzc-check { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--nzc-accent); flex: none; }
.nzc-field--check a { color: inherit; text-decoration: underline; }
.nzc-field--captcha altcha-widget { --altcha-max-width: 100%; --altcha-color-base: transparent; --altcha-color-text: currentColor; --altcha-color-border: rgba(127, 127, 127, .5); --altcha-color-border-focus: var(--nzc-accent); --altcha-border-radius: 0; }
.nzc-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.nzc-submit { align-self: flex-start; display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 26px; background: var(--nzc-accent); color: #fff; border: 0; border-radius: 0; font: 700 14px/1 inherit; font-family: inherit; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: filter .3s, opacity .3s; }
.nzc-submit:hover { filter: brightness(1.12); }
.nzc-submit:disabled { opacity: .6; cursor: progress; }
.nzc-submit svg { transition: transform .3s; }
.nzc-submit:hover svg { transform: translateX(4px); }
.nzc-form.is-sending .nzc-submit svg { animation: nzc-pulse 1s ease-in-out infinite; }
.nzc-note { margin: 0; font-size: 12px; opacity: .6; }
.nzc-status { padding: 16px 18px; border-left: 3px solid var(--nzc-accent); background: rgba(127, 127, 127, .12); line-height: 1.5; }
.nzc-status.is-error { border-left-color: var(--nzc-error); }
.nzc-status:focus { outline: none; }
.nzc-done .nzc-field, .nzc-done .nzc-submit, .nzc-done .nzc-note { display: none; }
@keyframes nzc-pulse { 50% { transform: translateX(6px); } }
@media (prefers-reduced-motion: reduce) { .nzc * { animation: none !important; transition: none !important; } }
