.gv-form {
    display: grid;
    gap: 1.15rem;
    max-width: 44rem;
}

.gv-form p {
    display: grid;
    gap: .45rem;
    margin: 0;
}

.gv-form label {
    color: #f4f5f7;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.gv-form input:not([type="checkbox"]),
.gv-form textarea,
.gv-form select {
    width: 100%;
    border: 1px solid #303038;
    border-radius: 2px;
    background: #0e0e12;
    color: #f4f5f7;
    padding: .9rem 1rem;
}

.gv-form input:focus,
.gv-form textarea:focus,
.gv-form select:focus {
    border-color: #9d54ff;
    outline: 2px solid rgba(157, 84, 255, .25);
    outline-offset: 2px;
}

.gv-form small,
.gv-comment-position {
    color: #9b9ba6;
}

.gv-form__check {
    grid-template-columns: auto 1fr;
    align-items: start;
}

.gv-form__trap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.gv-button {
    justify-self: start;
    border: 1px solid #a96cff;
    border-radius: 2px;
    background: #7e31ef;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    letter-spacing: .08em;
    padding: .85rem 1.15rem;
    text-transform: uppercase;
}

.gv-button:hover {
    background: #9148fb;
}

.gv-notice {
    border-left: 3px solid #75e5ff;
    background: #111118;
    color: #e8e8ed;
    margin: 0 0 1rem;
    padding: 1rem;
}

.gv-notice--error {
    border-left-color: #ff5c8a;
}
