/* CF7 Math Captcha — Stylesheet */

.cf7mc-captcha-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 8px 0;
}

.cf7mc-question {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4f4f4;
    border: 2px solid #ddd;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 1.1em;
    font-weight: 700;
    color: #333;
    letter-spacing: 0.5px;
    white-space: nowrap;
    user-select: none;
    font-family: 'Courier New', Courier, monospace;
}

.cf7mc-input {
    width: 110px !important;
    padding: 8px 10px;
    border: 2px solid #ddd;
    border-radius: 6px;
    font-size: 1em;
    text-align: center;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    -moz-appearance: textfield; /* Firefox: hide number arrows */
}

/* Hide number input spin buttons */
.cf7mc-input::-webkit-outer-spin-button,
.cf7mc-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cf7mc-input:focus {
    outline: none;
    border-color: #4a90e2;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.15);
}

.cf7mc-input.cf7mc-invalid {
    border-color: #e74c3c;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15);
    animation: cf7mc-shake 0.4s ease;
}

.cf7mc-input.cf7mc-valid {
    border-color: #27ae60;
    box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.12);
}

.cf7mc-error-msg {
    display: block;
    width: 100%;
    color: #e74c3c;
    font-size: 0.875em;
    margin-top: 4px;
    font-weight: 500;
}

@keyframes cf7mc-shake {
    0%, 100% { transform: translateX(0); }
    20%       { transform: translateX(-6px); }
    40%       { transform: translateX(6px); }
    60%       { transform: translateX(-4px); }
    80%       { transform: translateX(4px); }
}
