/* Art et Fer — formulaire de contact */
.afc-wrap{--afc-ink:#23272a;--afc-muted:#677079;--afc-accent:#bb885d;--afc-border:#dfe2e4;--afc-surface:#f7f7f5;box-sizing:border-box;max-width:940px;margin:32px auto;padding:clamp(25px,5vw,58px);border:1px solid #ebebea;border-radius:22px;background:#fff;box-shadow:0 20px 65px rgba(22,28,32,.07);font-family:inherit;color:var(--afc-ink)}
.afc-wrap *, .afc-wrap *::before, .afc-wrap *::after{box-sizing:border-box}
.afc-header{margin-bottom:31px}
.afc-eyebrow{display:inline-block;color:var(--afc-accent);font-size:11px;font-weight:750;letter-spacing:.17em;line-height:1.6;text-transform:uppercase;margin-bottom:12px}
.afc-header h2{font-family:inherit;color:var(--afc-ink);font-size:clamp(27px,4vw,39px);line-height:1.17;letter-spacing:-.028em;font-weight:750;margin:0 0 13px}
.afc-accent{color:var(--afc-accent)}
.afc-header p{max-width:650px;font-size:15px;line-height:1.7;color:var(--afc-muted);margin:0}
.afc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:21px 20px}
.afc-field{min-width:0}
.afc-full{grid-column:1/-1}
.afc-field label{display:block;color:var(--afc-ink);font-size:13px;font-weight:700;line-height:1.5;margin:0 0 8px}
.afc-field label span{color:#b07549}
.afc-field input,.afc-field select,.afc-field textarea{display:block;width:100%;min-width:0;max-width:100%;height:51px;padding:12px 15px;border:1px solid var(--afc-border);border-radius:10px;background:var(--afc-surface);box-shadow:none;color:var(--afc-ink);font:inherit;font-size:14px;line-height:1.4;transition:border-color .2s,background .2s,box-shadow .2s;outline:none;appearance:auto}
.afc-field textarea{height:auto;min-height:150px;resize:vertical;line-height:1.6}
.afc-field input::placeholder,.afc-field textarea::placeholder{color:#9b9fa3;opacity:1}
.afc-field input:focus,.afc-field textarea:focus,.afc-field select:focus{background:#fff;border-color:var(--afc-accent);box-shadow:0 0 0 3px rgba(187,136,93,.13)}
.afc-hint{display:block;margin-top:7px;color:var(--afc-muted);font-size:12px;line-height:1.5}
.afc-consent{display:flex;align-items:flex-start;gap:11px;margin:25px 0 0;cursor:pointer;color:var(--afc-muted);font-size:12px;line-height:1.7;font-weight:400}
.afc-consent input{appearance:auto;width:17px;height:17px;min-width:17px;margin:2px 0 0;accent-color:var(--afc-accent);cursor:pointer}
.afc-consent a{color:var(--afc-ink);text-decoration:underline;text-underline-offset:3px}
.afc-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 20px;margin-top:27px}
.afc-submit{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:15px 23px!important;border:1px solid #23272a!important;border-radius:9px!important;background:#23272a!important;color:#fff!important;font:inherit!important;font-size:14px!important;font-weight:700!important;line-height:1.1!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;transition:background .2s,transform .2s,border-color .2s}
.afc-submit:hover,.afc-submit:focus-visible{background:#bb885d!important;border-color:#bb885d!important;color:#fff!important;transform:translateY(-1px)}
.afc-arrow{font-size:20px;line-height:1}
.afc-footer p{color:var(--afc-muted);font-size:12px;line-height:1.5;margin:0}
.afc-spark{color:var(--afc-accent);margin-right:4px}
.afc-required{font-size:11px;color:var(--afc-muted);margin:15px 0 0}
.afc-alert{margin:0 0 26px;padding:15px 18px;border-radius:10px;font-size:14px;line-height:1.7}
.afc-alert strong{display:block;font-weight:750}
.afc-alert--success{background:#eef7ef;border:1px solid #cfe9d1;color:#285d32}
.afc-alert--error{background:#fff0ee;border:1px solid #f5ceca;color:#963e33}
.afc-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:650px){.afc-wrap{margin:20px auto;padding:24px 19px;border-radius:16px}.afc-grid{grid-template-columns:minmax(0,1fr);gap:18px}.afc-full{grid-column:auto}.afc-footer{align-items:flex-start;flex-direction:column}.afc-submit{width:100%}.afc-header{margin-bottom:26px}}
