/* Paint2Fix Contact Form */
.p2f-contact-wrap { max-width: 100%; min-width: 0; overflow: hidden; box-sizing: border-box; }

/* Flex row for side-by-side fields */
.p2f-cf-row { display: flex; flex-wrap: wrap; gap: 0 16px; min-width: 0; width: 100%; }
.p2f-cf-field--full { width: 100%; }
.p2f-cf-field--half { width: calc(50% - 8px); }
@media (max-width: 600px) { .p2f-cf-field--half { width: 100%; } }

.p2f-cf-field { margin-bottom: 18px; }
.p2f-cf-field label {
    display: block; margin-bottom: 5px;
    font-weight: 600; font-size: 14px; color: #1d2327;
}
.p2f-cf-required { color: #d63638; }

.p2f-cf-field input[type="text"],
.p2f-cf-field input[type="email"],
.p2f-cf-field input[type="number"],
.p2f-cf-field select,
.p2f-cf-field textarea {
    width: 100%; padding: 10px 12px;
    border: 1px solid #c3c4c7; border-radius: 4px;
    font-size: 14px; font-family: inherit;
    background: #fff; transition: border-color .2s;
    box-sizing: border-box;
}
.p2f-cf-field input:focus,
.p2f-cf-field select:focus,
.p2f-cf-field textarea:focus {
    border-color: #2271b1; outline: none;
    box-shadow: 0 0 0 1px #2271b1;
}
.p2f-cf-field textarea { resize: vertical; min-height: 120px; }

.p2f-cf-field input[type="file"] {
    padding: 8px 0; font-size: 13px;
}
.p2f-cf-hint {
    margin: 4px 0 0; font-size: 12px; color: #757575;
}

/* Captcha */
.p2f-cf-captcha-row {
    display: flex; align-items: center; gap: 10px;
}
.p2f-cf-captcha-q {
    font-size: 16px; font-weight: 700;
    padding: 0 12px; height: 42px; line-height: 42px;
    background: #f0f6fc;
    border: 1px solid #c3d9ed; border-radius: 4px;
    white-space: nowrap; box-sizing: border-box;
}
.p2f-cf-captcha-row input[type="number"] {
    width: 80px !important; padding: 0 10px !important;
    height: 42px !important; line-height: 42px !important;
    border: 1px solid #c3c4c7 !important; border-radius: 4px !important;
    font-size: 16px !important; text-align: center; box-sizing: border-box !important;
    margin: 0 !important;
}

/* Submit */
.p2f-cf-submit { display: flex; align-items: center; gap: 12px; margin-top: 24px; }
.p2f-cf-btn {
    display: inline-block; padding: 12px 32px;
    background: #2271b1; color: #fff; border: none; border-radius: 4px;
    font-size: 15px; font-weight: 600; cursor: pointer;
    transition: background .2s;
}
.p2f-cf-btn:hover { background: #135e96; }
.p2f-cf-btn:disabled { opacity: .6; cursor: not-allowed; }

/* Spinner */
.p2f-cf-spinner {
    display: inline-block; width: 20px; height: 20px;
    border: 3px solid #c3c4c7; border-top-color: #2271b1;
    border-radius: 50%; animation: p2f-spin .6s linear infinite;
}
@keyframes p2f-spin { to { transform: rotate(360deg); } }

/* Messages */
.p2f-cf-message {
    margin-top: 16px; padding: 12px 16px;
    border-radius: 4px; font-size: 14px;
}
.p2f-cf-message--success {
    background: #ecf7ed; border: 1px solid #8bc48a; color: #1e4620;
}
.p2f-cf-message--error {
    background: #fcf0f1; border: 1px solid #d63638; color: #8a1c1f;
}
