/* ========================================
   SMARTVEFUR CONTACT FORM 7
   PROFESSIONAL GRAY STYLING
   ======================================== */

/* CONTAINER - Form Wrapper */
.wpcf7 {
    max-width: 550px;
    margin: 0 auto;
    padding: 30px 0;
}

/* FORM ELEMENT */
.wpcf7-form {
    margin: 0;
    padding: 0;
}

/* FORM CONTROL GROUPS */
.wpcf7-form-control-wrap {
    margin-bottom: 20px;
    display: block;
}

/* ========================================
   INPUT FIELDS STYLING
   ======================================== */

/* ALL INPUT FIELDS */
.wpcf7-form-control,
.wpcf7-text,
.wpcf7-textarea,
.wpcf7-tel,
.wpcf7-select {
    width: 100%;
    padding: 12px;
    border: 2px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: #fafafa;
    color: #333;
    transition: border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box;
}

/* INPUT FIELD HOVER */
.wpcf7-form-control:hover,
.wpcf7-text:hover,
.wpcf7-textarea:hover,
.wpcf7-tel:hover,
.wpcf7-select:hover {
    border-color: #bbb;
    background: #fff;
}

/* INPUT FIELD FOCUS */
.wpcf7-form-control:focus,
.wpcf7-text:focus,
.wpcf7-textarea:focus,
.wpcf7-tel:focus,
.wpcf7-select:focus {
    outline: none;
    border-color: #666;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(102, 102, 102, 0.1);
}

/* TEXTAREA */
.wpcf7-textarea {
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
}

/* SELECT DROPDOWN */
.wpcf7-select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px;
    padding-right: 36px;
}

/* ========================================
   LABELS & TEXT
   ======================================== */

/* LABELS */
.wpcf7-form label {
    display: block;
    color: #333;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.6;
}

/* REQUIRED ASTERISK */
.wpcf7-form label .wpcf7-form-required {
    color: #999;
    font-size: 12px;
    font-weight: normal;
    margin-left: 2px;
}

/* PLACEHOLDER TEXT */
.wpcf7-text::placeholder,
.wpcf7-textarea::placeholder,
.wpcf7-tel::placeholder {
    color: #bbb;
    font-size: 13px;
}

/* ========================================
   SUBMIT BUTTON
   ======================================== */

/* BUTTON NORMAL STATE */
.wpcf7-submit {
    width: 100%;
    padding: 14px;
    background: linear-gradient(135deg, #555, #333);
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 16px;
    font-family: inherit;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.3s ease;
    margin-top: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* BUTTON HOVER STATE */
.wpcf7-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    background: linear-gradient(135deg, #666, #444);
}

/* BUTTON ACTIVE STATE */
.wpcf7-submit:active {
    transform: translateY(0);
}

/* BUTTON DISABLED STATE */
.wpcf7-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* ========================================
   RESPONSE MESSAGES
   ======================================== */

/* SUCCESS MESSAGE - Green */
.wpcf7-response-output.wpcf7-mail-sent-ok {
    background: #e8f5e9;
    color: #2e7d32;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
    border-left: 4px solid #2e7d32;
    font-size: 14px;
    font-weight: 500;
}

/* ERROR MESSAGE - Red */
.wpcf7-response-output.wpcf7-mail-sent-ng,
.wpcf7-response-output.wpcf7-validation-errors {
    background: #ffebee;
    color: #c62828;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
    border-left: 4px solid #c62828;
    font-size: 14px;
    font-weight: 500;
}

/* ERROR LIST */
.wpcf7-response-output ul {
    margin: 10px 0 0 0;
    padding-left: 20px;
}

.wpcf7-response-output li {
    margin: 5px 0;
    font-size: 13px;
}

/* GENERAL RESPONSE OUTPUT */
.wpcf7-response-output {
    margin: 0 0 20px 0;
}

/* ========================================
   VALIDATION MESSAGES
   ======================================== */

/* VALIDATION ERROR TIP */
.wpcf7-not-valid-tip {
    color: #c62828;
    font-size: 12px;
    font-weight: 500;
    display: block;
    margin-top: 4px;
}

/* INVALID FIELD BORDER */
.wpcf7-form-control.wpcf7-validates-as-required.wpcf7-invalid,
.wpcf7-text.wpcf7-invalid,
.wpcf7-textarea.wpcf7-invalid,
.wpcf7-tel.wpcf7-invalid,
.wpcf7-select.wpcf7-invalid {
    border-color: #ff6b6b !important;
    background: #fff5f5 !important;
}

/* ========================================
   LOADING & STATES
   ======================================== */

/* HIDE SPINNER */
.wpcf7-spinner {
    display: none !important;
}

/* FORM SUBMITTING STATE */
.wpcf7-form.submitting {
    opacity: 0.8;
}

/* ========================================
   MOBILE RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .wpcf7 {
        padding: 20px;
    }

    .wpcf7-submit {
        padding: 12px;
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .wpcf7 {
        padding: 15px;
    }

    .wpcf7-form-control,
    .wpcf7-text,
    .wpcf7-textarea,
    .wpcf7-tel,
    .wpcf7-select {
        padding: 12px;
        font-size: 16px;
    }

    .wpcf7-submit {
        padding: 14px;
        font-size: 14px;
    }

    .wpcf7-form label {
        font-size: 13px;
    }
}

/* ========================================
   ACCESSIBILITY
   ======================================== */

.wpcf7-form-control:focus {
    outline: 2px solid #666;
    outline-offset: 2px;
}

/* ========================================
   PRINT STYLES
   ======================================== */

@media print {
    .wpcf7-form {
        display: none;
    }
}
