.vform-wrapper {
    max-width: 520px;
    margin: 40px auto 0 auto;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 4px 24px rgba(229,0,0,0.09);
    padding: 36px 34px 22px 34px;
}

.vform-form-title {
    font-size: 1.37em;
    font-weight: 700;
    color: #e50000;
    text-align: center;
    margin-bottom: 32px;
    letter-spacing: 1px;
}

.vform-form input.vform-base {
    width: 100%;
    margin-bottom: 20px;
    padding: 15px 13px;
    border-radius: 10px;
    border: 1.7px solid #f3d2d2;
    background: #f9f6f6;
    font-size: 1.12em;
    color: #444;
    transition: border-color 0.2s;
    display: block;
}

.vform-row {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.vform-form input.vform-base:focus {
    border-color: #e50000;
    outline: none;
}

.vform-form input[type="checkbox"] {
    /* accent-color: #e50000; */
    width: 18px;
    height: 18px;
    margin-right: 11px;
}

.vform-form label {
    display: flex;
    align-items: center;
    font-size: 1.09em;
    margin-bottom: 16px;
    color: #1a1a1a;
    margin-left: 3px;
}

.vform-terms {
    color: #e50000;
    text-decoration: underline;
    font-weight: bold;
}

.vform-form button {
    width: 100%;
    padding: 20px 0;
    background: linear-gradient(90deg, #e50000 50%, #ff4c4c 100%);
    color: #fff;
    font-size: 1.35em;
    font-weight: bold;
    border-radius: 44px;
    border: none;
    margin-top: 31px;
    margin-bottom: 13px;
    box-shadow: 0 3px 8px rgba(229,0,0,0.12);
    cursor: pointer;
    transition: background 0.2s;
}

.vform-form button:hover {
    background: linear-gradient(90deg, #ff4c4c 50%, #e50000 100%);
}

.vform-form .vform-msg {
    color: #e50000;
    font-weight: bold;
    margin-top: 12px;
    text-align: center;
}

@media (max-width: 600px) {
    .vform-wrapper { padding: 13px; }
    .vform-form-title { font-size: 1.12em; }
    .vform-form button { font-size: 1em; }
    .vform-row { flex-direction: column; gap: 7px; }
}