/* Global box-sizing and no horizontal scroll */
html, body {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
*, *::before, *::after {
    box-sizing: inherit !important;
}

/* Main background and font */
body {
    background: #f6f6f6;
    font-family: 'Segoe UI', Arial, sans-serif;
}

/* Main form card */
.form-card {
    background: #fff;
    width: 100%;
    max-width: 440px;
    margin: 32px auto 24px auto;
    border-radius: 16px;
    box-shadow: 0 4px 32px rgba(0,0,0,0.11);
    padding: 38px 32px 24px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 2.5px solid #e8eaea;
    word-break: break-word;
}

/* Responsive image */
.form-card img {
    margin-bottom: 16px;
    width: 110px;
    max-width: 100%;
    height: auto;
    display: block;
}

/* Typography */
.form-card h2,
.form-card h3,
.form-card p {
    text-align: center;
    margin: 0 0 13px 0;
}
.form-card h2 { font-size: 1.26em; color: #222; font-weight: bold; line-height: 1.35; }
.form-card p { font-size: 1em; color: #444; margin-bottom: 18px; }
.form-card h3 { font-size: 1.12em; color: #222; margin-bottom: 22px; font-weight: 600; }

/* Form styles */
.form-card form {
    width: 100%;
    margin: 0;
}

.form-card label {
    font-size: 1em;
    color: #111;
    margin-bottom: 3px;
    font-weight: 500;
    display: block;
}

.form-card input,
.form-card select,
.form-card textarea {
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 20px;
    border: 1.2px solid #d2d6dc;
    border-radius: 7px;
    font-size: 1em;
    background: #fafbfc;
    transition: border .2s;
    box-sizing: border-box;
    max-width: 100%;
}

.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
    border: 1.5px solid #3da9fc;
    outline: none;
    background: #fff;
}

.form-card textarea {
    min-height: 48px;
    resize: vertical;
}

/* Submit Button */
.form-card button[type="submit"] {
    background: #007bff;
    color: #fff;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    padding: 11px 32px;
    font-size: 1.09em;
    cursor: pointer;
    transition: background .15s;
    box-shadow: 0 2px 8px rgba(61, 169, 252, 0.08);
    width: 100%;
    max-width: 100%;
}

.form-card button[type="submit"]:hover {
    background: #005dc1;
}

/* Responsive for Mobile */
@media (max-width: 600px) {
    .form-card {
        max-width: 98vw !important;
        width: 98vw !important;
        margin: 12px 1vw 22px 1vw !important;
        padding: 16px 3vw 16px 3vw !important;
        border-radius: 9px !important;
    }
    .form-card img {
        width: 70px !important;
        margin-bottom: 9px !important;
    }
    .form-card h2 {
        font-size: 1em !important;
        margin-bottom: 7px !important;
    }
    .form-card p {
        font-size: 0.98em !important;
        margin-bottom: 14px !important;
    }
    .form-card h3 {
        font-size: 1em !important;
        margin-bottom: 12px !important;
    }
    .form-card input,
    .form-card select,
    .form-card textarea {
        font-size: 1em !important;
        padding: 11px 10px !important;
        margin-bottom: 14px !important;
        border-radius: 6px !important;
        max-width: 100% !important;
    }
    .form-card button[type="submit"] {
        font-size: 1em !important;
        padding: 10px 12px !important;
        max-width: 100% !important;
    }
}
