/* ── Form wrap ── */
.form-wrap { max-width: 640px; margin: 3rem auto 6rem; }
.page-heading { font-family: 'Cinzel Decorative', serif; font-size: clamp(1.4rem, 3vw, 2rem); color: var(--text); margin-bottom: .4rem; }
.page-sub { font-size: .9rem; color: var(--muted); margin-bottom: 2rem; }

/* ── Form card ── */
.form-card { background: var(--light-2); border: 1px solid var(--border); border-radius: 16px; padding: 2rem 2.25rem; }
label { font-family: 'Cinzel', serif; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: .45rem; }
.form-control, .form-select { background: var(--light); color: var(--text); border: 1px solid var(--border); border-radius: 8px; padding: .6rem .9rem; font-family: 'Raleway', sans-serif; font-size: .95rem; width: 100%; outline: none; transition: border-color .2s; }
.form-control:focus, .form-select:focus { border-color: var(--purple); box-shadow: none; background: var(--light); color: var(--text); }
textarea.form-control { resize: vertical; min-height: 110px; }
.form-select { appearance: auto; }
.field-group { margin-bottom: 1.5rem; }
.field-error { font-size: .8rem; color: #c0392b; margin-top: .35rem; }

/* ── Checkbox row ── */
.check-row { display: flex; align-items: center; gap: .75rem; background: var(--light); border: 1px solid var(--border); border-radius: 8px; padding: .8rem 1rem; cursor: pointer; }
.check-row input[type=checkbox] { width: 1.1rem; height: 1.1rem; accent-color: var(--purple); cursor: pointer; flex-shrink: 0; }
.check-label { font-family: 'Raleway', sans-serif; font-size: .92rem; color: var(--text); }
.check-desc { font-size: .8rem; color: var(--muted); margin-top: .15rem; }

/* ── Actions ── */
.form-actions { display: flex; gap: .75rem; align-items: center; margin-top: 2rem; }
.btn-purple { background: var(--purple); color: #fff; border: none; border-radius: 8px; padding: .65rem 1.5rem; font-family: 'Cinzel', serif; font-size: .72rem; letter-spacing: .1em; cursor: pointer; transition: opacity .2s; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.btn-purple:hover { opacity: .88; color: #fff; }
.btn-ghost { background: transparent; color: var(--muted); border: 1px solid var(--border); border-radius: 8px; padding: .65rem 1.25rem; font-family: 'Cinzel', serif; font-size: .72rem; letter-spacing: .1em; cursor: pointer; transition: all .2s; text-decoration: none; }
.btn-ghost:hover { border-color: var(--purple); color: var(--purple); }
