/*
 * EVE Forms – front end.
 * Ported 1:1 from the theme rules for ".wpcf7 form" (style.css) and from
 * Contact Form 7's own styles.css, so migrated forms look exactly as before
 * and do not depend on the theme build.
 */

/* Layout ------------------------------------------------------------------ */

.eve-form__form {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 42.357142857142854em;
}

.eve-form__form label {
    display: block;
}

.eve-form__form label strong {
    margin-bottom: 0.55rem;
    display: block;
    font-size: 0.7142857142857143rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 11px;
    letter-spacing: 0.2px;
}

@media (min-width: 68.8125em) {
    .eve-form__form label strong {
        font-size: 0.8571428571428571rem;
        line-height: 1.5;
        letter-spacing: 0.24px;
    }
}

.eve-form__wrap {
    position: relative;
}

.eve-form__hidden {
    display: none;
}

/* Fields ------------------------------------------------------------------ */

.eve-form__form input:not(.eve-form__submit),
.eve-form__form textarea {
    width: 100%;
    border-radius: 0.375rem;
    border-style: none;
    background-color: #fff;
    padding: 10.25px;
    font-size: 1.0714285714285714rem;
    box-shadow: 0 0 10px 0 #25282933;
    outline: 2px solid transparent;
    outline-offset: 2px;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.eve-form__form input:not(.eve-form__submit):focus,
.eve-form__form textarea:focus {
    border-color: #2497ed;
    outline: 2px solid transparent;
    outline-offset: 2px;
}

[data-mode="dark"] .eve-form__form input:not(.eve-form__submit),
[data-mode="dark"] .eve-form__form textarea {
    background-color: #141414;
    box-shadow: 0 0 10px 0 #fff3;
}

.eve-form__form input[type="checkbox"] {
    height: auto;
}

.eve-form__form input[type="url"],
.eve-form__form input[type="email"],
.eve-form__form input[type="tel"] {
    direction: ltr;
}

/* Submit -------------------------------------------------------------------- */

.eve-form__form .eve-form__submit {
    margin-top: 2.142857142857143rem;
    display: inline-block;
    width: auto;
    border: 0;
    border-radius: 1.5rem;
    background-color: #232323;
    padding: 11px 2.142857142857143rem;
    text-align: center;
    font-size: 1.0714285714285714rem;
    font-weight: 500;
    line-height: 13px;
    color: #f2f6f9;
    cursor: pointer;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.eve-form__form .eve-form__submit:hover {
    background-color: #2497ed;
    color: #fff;
}

.eve-form__form .eve-form__submit:disabled {
    cursor: not-allowed;
    background-color: #2497edb3;
}

[data-mode="dark"] .eve-form__form .eve-form__submit {
    background-color: #f2f6f9;
    color: #232323;
}

[data-mode="dark"] .eve-form__form .eve-form__submit:hover {
    background-color: #2497ed;
    color: #fff;
}

.prose .eve-form__form .eve-form__submit {
    background-color: #232323;
    color: #f2f6f9 !important;
}

.prose .eve-form__form .eve-form__submit:hover {
    background-color: #2497ed !important;
}

[data-mode="dark"] .prose .eve-form__form .eve-form__submit {
    background-color: #f2f6f9;
    color: #232323 !important;
}

[data-mode="dark"] .prose .eve-form__form .eve-form__submit:hover {
    background-color: #2497ed;
    color: #fff !important;
}

/* Spinner (as CF7) ------------------------------------------------------------ */

.eve-form__spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    position: relative;
    vertical-align: middle;
}

.eve-form__form.submitting .eve-form__spinner {
    visibility: visible;
}

.eve-form__spinner::before {
    content: '';
    position: absolute;
    background-color: #fbfbfc;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    border: none;
    border-radius: 100%;
    transform-origin: 8px 8px;
    animation: eve-form-spin 1000ms linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .eve-form__spinner::before {
        animation: eve-form-blink 2000ms infinite;
    }
}

@keyframes eve-form-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes eve-form-blink {
    from { opacity: 0; }
    50% { opacity: 1; }
    to { opacity: 0; }
}

/* Choices, acceptance, quiz (as CF7) -------------------------------------------- */

.eve-form__list-item {
    display: inline-block;
    margin: 0 0 0 1em;
}

.eve-form__list-item-label::before,
.eve-form__list-item-label::after {
    content: " ";
}

/* Custom checkboxes (theme ".custom-cf7-checkboxes"; ".eve-form-checkboxes" is the new name) */

.custom-cf7-checkboxes,
.eve-form-checkboxes {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.0714285714285714rem;
}

.custom-cf7-checkboxes .eve-form__list-item,
.custom-cf7-checkboxes label,
.eve-form-checkboxes .eve-form__list-item,
.eve-form-checkboxes label {
    display: flex;
    margin-top: 0;
}

.custom-cf7-checkboxes .eve-form__list-item,
.eve-form-checkboxes .eve-form__list-item {
    margin: 0;
}

.custom-cf7-checkboxes .eve-form__list-item .eve-form__list-item-label,
.eve-form-checkboxes .eve-form__list-item .eve-form__list-item-label {
    margin-top: 0;
    line-height: 30px !important;
    display: block;
}

.custom-cf7-checkboxes label,
.eve-form-checkboxes label {
    cursor: pointer;
}

.custom-cf7-checkboxes [type="checkbox"],
.custom-cf7-checkboxes [type="radio"],
.eve-form-checkboxes [type="checkbox"],
.eve-form-checkboxes [type="radio"] {
    position: absolute;
    left: -9999px;
}

.custom-cf7-checkboxes [type="checkbox"] + .eve-form__list-item-label,
.custom-cf7-checkboxes [type="radio"] + .eve-form__list-item-label,
.eve-form-checkboxes [type="checkbox"] + .eve-form__list-item-label,
.eve-form-checkboxes [type="radio"] + .eve-form__list-item-label {
    position: relative;
    padding-left: 40px;
    line-height: 30px !important;
}

.custom-cf7-checkboxes [type="checkbox"] + .eve-form__list-item-label::before,
.custom-cf7-checkboxes [type="checkbox"] + .eve-form__list-item-label::after,
.custom-cf7-checkboxes [type="radio"] + .eve-form__list-item-label::before,
.custom-cf7-checkboxes [type="radio"] + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="checkbox"] + .eve-form__list-item-label::before,
.eve-form-checkboxes [type="checkbox"] + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="radio"] + .eve-form__list-item-label::before,
.eve-form-checkboxes [type="radio"] + .eve-form__list-item-label::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}

.custom-cf7-checkboxes [type="checkbox"] + .eve-form__list-item-label::before,
.custom-cf7-checkboxes [type="radio"] + .eve-form__list-item-label::before,
.eve-form-checkboxes [type="checkbox"] + .eve-form__list-item-label::before,
.eve-form-checkboxes [type="radio"] + .eve-form__list-item-label::before {
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    border-radius: 0.375rem;
    background-color: #fff;
    box-shadow: 0 0 10px 0 #2528291a;
}

.custom-cf7-checkboxes [type="checkbox"] + .eve-form__list-item-label::after,
.custom-cf7-checkboxes [type="radio"] + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="checkbox"] + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="radio"] + .eve-form__list-item-label::after {
    top: 5px;
    left: 5px;
    width: 20px;
    height: 20px;
    background: #2497ed;
    transition: all 0.2s;
    border-radius: 0.375rem;
}

.custom-cf7-checkboxes [type="radio"] + .eve-form__list-item-label::before,
.custom-cf7-checkboxes [type="radio"] + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="radio"] + .eve-form__list-item-label::before,
.eve-form-checkboxes [type="radio"] + .eve-form__list-item-label::after {
    border-radius: 50%;
}

.custom-cf7-checkboxes [type="checkbox"]:not(:checked) + .eve-form__list-item-label::after,
.custom-cf7-checkboxes [type="radio"]:not(:checked) + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="checkbox"]:not(:checked) + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="radio"]:not(:checked) + .eve-form__list-item-label::after {
    opacity: 0;
    transform: scale(0.01);
}

.custom-cf7-checkboxes [type="checkbox"]:checked + .eve-form__list-item-label::after,
.custom-cf7-checkboxes [type="radio"]:checked + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="checkbox"]:checked + .eve-form__list-item-label::after,
.eve-form-checkboxes [type="radio"]:checked + .eve-form__list-item-label::after {
    opacity: 1;
    transform: scale(1);
}

/* Keyboard users still see where the focus is on the hidden checkboxes. */
.custom-cf7-checkboxes [type="checkbox"]:focus-visible + .eve-form__list-item-label::before,
.custom-cf7-checkboxes [type="radio"]:focus-visible + .eve-form__list-item-label::before,
.eve-form-checkboxes [type="checkbox"]:focus-visible + .eve-form__list-item-label::before,
.eve-form-checkboxes [type="radio"]:focus-visible + .eve-form__list-item-label::before {
    outline: 2px solid #2497ed;
    outline-offset: 2px;
}

/* Validation and response (as CF7) ----------------------------------------------- */

.eve-form__tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
}

.eve-form__response {
    margin: 0.55rem 0;
    padding: 0.2em 1em;
    border: 2px solid #00a0d2;
}

.eve-form__response[hidden] {
    display: none;
}

.eve-form__form.sent .eve-form__response {
    border-color: #46b450;
}

.eve-form__form.failed .eve-form__response,
.eve-form__form.error .eve-form__response {
    border-color: #dc3232;
}

.eve-form__form.spam .eve-form__response,
.eve-form__form.rate_limited .eve-form__response {
    border-color: #f56e28;
}

.eve-form__form.invalid .eve-form__response {
    border-color: #ffb900;
}

.eve-form__noscript {
    margin: 0.55rem 0;
    padding: 0.2em 1em;
    border: 2px solid #ffb900;
}
