/* form-anaplast-1 — contact form. Tokens: instances/anaplast/static/fonts/style.css,
   rules: instances/anaplast/DESIGN_MANUAL.md (§3, §4, §4a). */

.form-anaplast-1 {
    width: 100%;
    padding: var(--apl-space-7) 0;
    position: relative;
    background-color: var(--apl-surface);
    container-type: inline-size;
}
.form-anaplast-1 .content-wrapper {
    max-width: var(--apl-measure);
    margin: 0 auto;
    padding-inline: var(--apl-gutter);
    display: flex;
    flex-direction: column;
    gap: var(--apl-space-4);
}
.form-anaplast-1 [hidden] {
    display: none;
}

/* --- Section opener --- */
.form-anaplast-1__head {
    display: flex;
    flex-direction: column;
    gap: var(--apl-space-2);
}
.form-anaplast-1__eyebrow {
    font-size: var(--apl-text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: var(--apl-tracking-caps);
    color: var(--apl-amber-hover);
}
.form-anaplast-1__heading {
    margin: 0;
    font-size: var(--apl-text-2xl);
    font-weight: 800;
    line-height: var(--apl-leading-tight);
    color: var(--heading-color);
}
.form-anaplast-1__intro {
    margin: 0;
    font-size: var(--apl-text-lg);
    line-height: var(--apl-leading-normal);
    color: var(--text-color);
    white-space: pre-line;
}

/* --- Editor-only note --- */
.form-anaplast-1__editor-note {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--apl-space-1);
    padding: var(--apl-space-2);
    font-size: var(--apl-text-sm);
    font-weight: 700;
    color: var(--heading-color);
    background-color: var(--apl-amber-tint);
    border: 2px solid var(--apl-amber);
    border-radius: var(--apl-radius-sm);
}

/* --- Form layout --- */
.form-anaplast-1__form {
    display: flex;
    flex-direction: column;
    gap: var(--apl-space-3);
}
.form-anaplast-1__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--apl-space-3);
}
.form-anaplast-1__field {
    display: flex;
    flex-direction: column;
    gap: var(--apl-space-1);
    min-width: 0;
}
.form-anaplast-1__label {
    font-size: var(--apl-text-sm);
    font-weight: 700;
    color: var(--heading-color);
}
.form-anaplast-1__req {
    color: var(--apl-amber-hover);
}

/* --- Controls --- */
.form-anaplast-1__input {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--apl-control-min);
    padding: 0.625rem var(--apl-space-2);
    font-size: var(--apl-text-base);
    line-height: var(--apl-leading-normal);
    color: var(--heading-color);
    background-color: var(--apl-surface);
    border: 2px solid var(--apl-border-strong);
    border-radius: var(--apl-radius-sm);
    transition: border-color var(--apl-transition);
}
.form-anaplast-1__textarea {
    min-height: calc(var(--apl-control-min) * 3);
    resize: vertical;
}
.form-anaplast-1__input:hover {
    border-color: var(--apl-text-muted);
}
.form-anaplast-1__input:focus-visible {
    outline: var(--apl-focus);
    outline-offset: var(--apl-focus-offset);
}
.form-anaplast-1__input[aria-invalid="true"] {
    border-color: var(--apl-earth);
}

.form-anaplast-1__consent {
    display: flex;
    align-items: flex-start;
    gap: var(--apl-space-2);
}
.form-anaplast-1__checkbox {
    flex: none;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0.6rem 0 0;
    accent-color: var(--apl-amber-hover);
    cursor: pointer;
}
.form-anaplast-1__checkbox:focus-visible {
    outline: var(--apl-focus);
    outline-offset: var(--apl-focus-offset);
}
.form-anaplast-1__consent-label {
    display: flex;
    align-items: center;
    min-height: var(--apl-control-min);
    font-size: var(--apl-text-sm);
    line-height: var(--apl-leading-normal);
    color: var(--text-color);
    cursor: pointer;
}
.form-anaplast-1__link {
    color: var(--heading-color);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--apl-amber);
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
    transition: color var(--apl-transition);
}
.form-anaplast-1__link:hover {
    color: var(--apl-amber-hover);
}
.form-anaplast-1__link:focus-visible {
    outline: var(--apl-focus);
    outline-offset: var(--apl-focus-offset);
}

/* --- Inline validation --- */
.form-anaplast-1__error {
    margin: 0;
    font-size: var(--apl-text-sm);
    font-weight: 700;
    color: var(--heading-color);
    padding-left: var(--apl-space-1);
    border-left: 3px solid var(--apl-earth);
}

/* --- Submit (primary recipe) --- */
.form-anaplast-1__actions {
    display: flex;
}
.form-anaplast-1__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--apl-control-min);
    padding: 0.85rem 2rem;
    font-size: var(--apl-text-sm);
    font-weight: 700;
    color: var(--apl-on-accent);
    background-color: var(--apl-accent);
    border: 2px solid transparent;
    border-radius: var(--apl-radius-sm);
    cursor: pointer;
    transition: background-color var(--apl-transition);
}
.form-anaplast-1__submit:hover {
    background-color: var(--apl-accent-hover);
}
.form-anaplast-1__submit:focus-visible {
    outline: var(--apl-focus);
    outline-offset: var(--apl-focus-offset);
}
.form-anaplast-1__submit:disabled {
    color: var(--apl-text-muted);
    background-color: var(--apl-surface-muted);
    cursor: not-allowed;
}

/* --- Result messages (live regions stay in the DOM; empty = invisible) --- */
.form-anaplast-1__status:empty {
    padding: 0;
    border: 0;
}
.form-anaplast-1__status {
    padding: var(--apl-space-2) var(--apl-space-3);
    font-size: var(--apl-text-base);
    line-height: var(--apl-leading-normal);
    color: var(--heading-color);
    border-radius: var(--apl-radius-sm);
    border-left: 4px solid transparent;
}
.form-anaplast-1__status p {
    margin: 0;
}
.form-anaplast-1__status:focus-visible {
    outline: var(--apl-focus);
    outline-offset: var(--apl-focus-offset);
}
.form-anaplast-1__status--success {
    background-color: var(--apl-leaf-tint);
    border-left-color: var(--apl-leaf);
}
.form-anaplast-1__status--error {
    background-color: var(--apl-amber-tint);
    border-left-color: var(--apl-earth);
}

/* --- Honeypot (off-screen, never shown) --- */
.form-anaplast-1__hp {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* --- Backgrounds --- */
.form-anaplast-1--bg-alt {
    background-color: var(--apl-surface-alt);
}
.form-anaplast-1--bg-amber {
    background-color: var(--apl-amber-tint);
}
.form-anaplast-1--bg-sky {
    background-color: var(--apl-sky-tint);
}
.form-anaplast-1--bg-dark {
    background-color: var(--apl-surface-invert);
}
.form-anaplast-1--bg-dark .form-anaplast-1__heading,
.form-anaplast-1--bg-dark .form-anaplast-1__label,
.form-anaplast-1--bg-dark .form-anaplast-1__link {
    color: #fff;
}
.form-anaplast-1--bg-dark .form-anaplast-1__intro,
.form-anaplast-1--bg-dark .form-anaplast-1__consent-label {
    color: var(--apl-on-invert);
}
.form-anaplast-1--bg-dark .form-anaplast-1__eyebrow,
.form-anaplast-1--bg-dark .form-anaplast-1__req,
.form-anaplast-1--bg-dark .form-anaplast-1__error {
    color: var(--apl-amber);
}
.form-anaplast-1--bg-dark .form-anaplast-1__input:focus-visible,
.form-anaplast-1--bg-dark .form-anaplast-1__checkbox:focus-visible,
.form-anaplast-1--bg-dark .form-anaplast-1__link:focus-visible,
.form-anaplast-1--bg-dark .form-anaplast-1__submit:focus-visible,
.form-anaplast-1--bg-dark .form-anaplast-1__status:focus-visible {
    outline-color: var(--apl-amber);
}
.form-anaplast-1--bg-dark .form-anaplast-1__error {
    border-left-color: var(--apl-amber);
}
.form-anaplast-1--bg-dark altcha-widget {
    color-scheme: light;
}

/* --- Responsive --- */
@container (width >= 40rem) {
    .form-anaplast-1__row--half {
        grid-template-columns: 1fr 1fr;
    }
}
@container (width < 40rem) {
    .form-anaplast-1 {
        padding: var(--apl-space-5) 0;
    }
    .form-anaplast-1__submit {
        width: 100%;
    }
    .form-anaplast-1__actions {
        display: block;
    }
}
