/**
 * AMDigitec Contact
 * Frontend form styles.
 *
 * Developed by AMDigitec
 * Website: https://www.amdigitec.com
 * Version: 1.3.2
 *
 * © 2026 AMDigitec. All rights reserved.
 */

.amdigitec-contact-form {
    width: 100%;
    max-width: 760px;
}

.amdigitec-contact-field {
    margin-bottom: 20px;
}

.amdigitec-contact-field label {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}

.amdigitec-contact-field input,
.amdigitec-contact-field select,
.amdigitec-contact-field textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 14px;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    font: inherit;
    line-height: 1.4;
    background: #fff;
    color: #111;
}

.amdigitec-contact-field textarea {
    resize: vertical;
    min-height: 160px;
}

.amdigitec-contact-field input:focus,
.amdigitec-contact-field select:focus,
.amdigitec-contact-field textarea:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.amdigitec-contact-field-error,
.amdigitec-contact-field [aria-invalid="true"] {
    border-color: #b42318;
}

/* Anti-spam honeypot: hidden from legitimate visitors. */
.amdigitec-contact-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.amdigitec-contact-actions {
    margin-top: 24px;
}

.amdigitec-contact-submit {
    cursor: pointer;
    padding: 13px 24px;
    border: 0;
    border-radius: 4px;
    font: inherit;
    font-weight: 600;
}

.amdigitec-contact-submit:disabled {
    cursor: wait;
    opacity: 0.7;
}

.amdigitec-contact-status {
    margin-top: 20px;
    line-height: 1.5;
}

.amdigitec-contact-status-success {
    font-weight: 600;
}

.amdigitec-contact-status-error {
    font-weight: 600;
}

@media (max-width: 600px) {
    .amdigitec-contact-field {
        margin-bottom: 16px;
    }

    .amdigitec-contact-submit {
        width: 100%;
    }
}

/* Accessible single-use sliding image puzzle. */
.amdigitec-contact-puzzle { margin: 22px 0; max-width: 340px; }
.amdc-puzzle-scene { position: relative; width: 320px; height: 160px; max-width: 100%; overflow: hidden; }
.amdc-puzzle-scene img { position: absolute; display: block; }
#amdc-puzzle-background { left: 0; top: 0; width: 320px; height: 160px; }
#amdc-puzzle-piece { left: 0; top: 0; width: 46px; height: 46px; outline: 2px solid white; box-shadow: 0 0 0 1px #273347; }
.amdigitec-contact-puzzle label { display: block; margin: 10px 0 5px; }
#amdc-puzzle-slider { width: 320px; max-width: 100%; cursor: ew-resize; }
#amdc-puzzle-slider:focus-visible { outline: 3px solid #145ba6; outline-offset: 4px; }
.amdc-puzzle-tools { display: flex; gap: 12px; align-items: center; margin-top: 8px; }
#amdc-puzzle-refresh { cursor: pointer; padding: 5px 9px; }
#amdc-puzzle-status { font-size: 0.9em; }
