.mago-form__form { display: grid; gap: 1rem; }
.mago-field { display: grid; gap: .35rem; }
.mago-field label { font-weight: 600; }
.mago-req { color: #c0392b; }
.mago-field input:not([type="checkbox"]), .mago-field textarea, .mago-field select {
	width: 100%; box-sizing: border-box; padding: .8rem 1rem; font: inherit; color: inherit; background: var(--mago-paper); border: 1.5px solid var(--mago-line); border-radius: 12px;
}
.mago-bg-dark .mago-field input:not([type="checkbox"]), .mago-bg-dark .mago-field textarea, .mago-bg-dark .mago-field select { background: rgba(255, 255, 255, .08); }
.mago-field input:focus-visible, .mago-field textarea:focus-visible, .mago-field select:focus-visible { outline: 3px solid var(--mago-brand); outline-offset: 2px; border-color: transparent; }
.mago-field.is-check label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; }
.mago-field.is-check input { margin-top: .3rem; }
/* Honeypot: fuera de pantalla (no display:none, que algunos bots detectan) */
.mago-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mago-form__form .mago-btn { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.mago-form__form .mago-btn[disabled] { opacity: .6; cursor: progress; }
.mago-form__status { margin: 0; min-height: 1.5em; font-weight: 600; }
.mago-form__status.is-ok { color: #1e7e34; }
.mago-form__status.is-error { color: #c0392b; }

/* v0.14 · tipos nuevos: opciones y archivo con arrastrar y soltar */
.mago-choices { border: 0; padding: 0; margin: 0; display: grid; gap: .4rem; min-width: 0; }
.mago-choices legend { font-weight: 600; padding: 0; margin-bottom: .35rem; }
.mago-choice { display: flex; gap: .55rem; align-items: center; font-weight: 400; cursor: pointer; }
.mago-field input[type="color"] { padding: 2px; height: 2.6rem; width: 5rem; }
.mago-drop { position: relative; display: grid; gap: .25rem; justify-items: center; text-align: center; padding: 1.4rem 1rem; border: 2px dashed currentColor; border-color: color-mix(in srgb, currentColor 35%, transparent); border-radius: 12px; cursor: pointer; transition: background .15s, border-color .15s; }
.mago-drop:hover, .mago-drop.is-over { border-color: var(--mago-brand, #e03e89); background: color-mix(in srgb, var(--mago-brand, #e03e89) 8%, transparent); }
.mago-drop.is-bad { border-color: #c0392b; }
.mago-drop .mago-drop__in { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.mago-drop__or { opacity: .7; }
.mago-drop__hint { font-size: .8em; opacity: .65; }
.mago-drop__name { font-weight: 600; word-break: break-all; }
.mago-drop__name.is-err { color: #c0392b; }
