/* ── Page inscription ferme Naatalfarm (thème vert) ────────────────────── */
body { background: #f1f5f9; }
.page-wrap { max-width: 600px; margin: 0 auto; padding: 32px 16px 48px; }
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; justify-content: center; }
.brand-icon { width: 44px; height: 44px; background: linear-gradient(135deg,#065f46,#10b981); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.brand-name { font-size: 20px; font-weight: 800; color: #0f172a; letter-spacing: -.02em; }
.brand-sub  { font-size: 12px; color: #64748b; }
.card { background: #fff; border-radius: 16px; border: 1px solid #e2e8f0; box-shadow: 0 4px 24px rgba(0,0,0,.07); padding: 36px 40px; }
h1 { font-size: 22px; font-weight: 800; color: #0f172a; margin-bottom: 4px; }
.subtitle { font-size: 13px; color: #64748b; margin-bottom: 28px; }
.section-sep { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #94a3b8; margin: 24px 0 14px; display: flex; align-items: center; gap: 8px; }
.section-sep::before, .section-sep::after { content: ''; flex: 1; height: 1px; background: #e2e8f0; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-group { margin-bottom: 14px; }
label { display: block; font-size: 12.5px; font-weight: 600; color: #374151; margin-bottom: 5px; }
label .opt { font-weight: 400; color: #94a3b8; margin-left: 4px; }
input, select { width: 100%; padding: 10px 13px; border-radius: 8px; border: 1.5px solid #e2e8f0; background: #f8fafc; font-family: inherit; font-size: 13.5px; color: #0f172a; transition: border-color .15s, box-shadow .15s; }
input:focus, select:focus { outline: none; border-color: #059669; box-shadow: 0 0 0 3px rgba(5,150,105,.12); background: #fff; }
input::placeholder { color: #94a3b8; }
.btn { width: 100%; padding: 13px; border-radius: 9px; background: linear-gradient(135deg,#065f46,#059669); color: #fff; border: none; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; transition: all .18s; margin-top: 8px; }
.btn:hover { background: linear-gradient(135deg,#047857,#10b981); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(5,150,105,.3); }
.alert { padding: 12px 16px; border-radius: 8px; font-size: 13px; display: flex; align-items: flex-start; gap: 10px; margin-bottom: 18px; }
.alert-error   { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; }
.alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.login-link { text-align: center; margin-top: 20px; font-size: 13px; color: #64748b; }
.login-link a { color: #059669; font-weight: 600; text-decoration: none; }
.parrain-field { background: #fffbeb; border: 1.5px solid #fde68a; border-radius: 8px; padding: 12px 14px; }
.parrain-label { font-size: 12px; color: #92400e; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.parrain-field input { border: none; background: transparent; padding: 0; font-size: 13px; }
.parrain-field input:focus { box-shadow: none; }
select { 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' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; padding-right: 36px; appearance: none; cursor: pointer; }
@media(max-width:520px) { .card { padding: 24px 18px; } .form-row { grid-template-columns: 1fr; } }
