/* SkyForm — minimal, theme-friendly styling. Scoped under .skyform. */
.skyform { max-width: 640px; }
.skyform__title { margin: 0 0 .75em; }
.skyform__row { margin-bottom: 1em; display: flex; flex-direction: column; }
.skyform__row label { font-weight: 600; margin-bottom: .35em; }

/* First name + last name share a row, stacking on narrow screens. Selectors are
   scoped under .skyform for specificity so themes are less likely to override. */
.skyform .skyform__row--split { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 1em; }
.skyform .skyform__row--split > .skyform__field { flex: 1 1 50%; min-width: 0; display: flex; flex-direction: column; }
.skyform .skyform__row--split > .skyform__field label { font-weight: 600; margin-bottom: .35em; }
@media (max-width: 480px) {
    .skyform .skyform__row--split { flex-wrap: wrap; }
    .skyform .skyform__row--split > .skyform__field { flex-basis: 100%; }
}

.skyform__field input,
.skyform__row input,
.skyform__row textarea {
    width: 100%;
    padding: .6em .7em;
    border: 1px solid #c3c8cf;
    border-radius: 6px;
    font: inherit;
    box-sizing: border-box;
}
.skyform__row textarea { resize: vertical; min-height: 7em; }
.skyform__field input:focus,
.skyform__row input:focus,
.skyform__row textarea:focus { outline: 2px solid #2563eb; outline-offset: 1px; border-color: #2563eb; }

/* Honeypot: keep it in the DOM but out of sight and out of the tab order. */
.skyform__hp {
    position: absolute !important;
    left: -9999px !important;
    top: auto;
    width: 1px; height: 1px;
    overflow: hidden;
}

.skyform__actions { margin-top: .5em; }
.skyform__submit {
    display: inline-flex; align-items: center; justify-content: center; gap: .55em;
    background: #2563eb; color: #fff; border: 0;
    padding: .7em 1.4em; border-radius: 6px;
    font: inherit; font-weight: 600; cursor: pointer;
}
.skyform__submit:hover { background: #1d4ed8; }
.skyform__submit[disabled] { opacity: .7; cursor: default; }

/* Spinner: hidden until the form is sending. */
.skyform__spinner { display: none; width: 1em; height: 1em; flex: 0 0 auto; }
.skyform__form.is-sending .skyform__spinner {
    display: inline-block;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    box-sizing: border-box;
    animation: skyform-spin .6s linear infinite;
}
@keyframes skyform-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .skyform__form.is-sending .skyform__spinner { animation-duration: 1.5s; }
}

.skyform__message { margin-top: 1em; padding: .8em 1em; border-radius: 6px; }
.skyform__message.is-success { background: #e7f6ec; border: 1px solid #2e7d4f; color: #1b5e35; }
.skyform__message.is-error   { background: #fdecec; border: 1px solid #c0392b; color: #922; }
