/*
 * CSS for Chinmoy Contact Form Plugin
 * Version: 2.1.0
 */

/* Basic Styling for Chinmoy Contact Form */
.chinmoy-contact-form-wrapper {
    /* Add wrapper styles if needed, e.g., max-width */
    /* max-width: 600px; */
    /* margin: 0 auto; */
}

.chinmoy-contact-form .form-row {
    margin-bottom: 15px;
}

.chinmoy-contact-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.chinmoy-contact-form input[type="text"],
.chinmoy-contact-form input[type="email"],
.chinmoy-contact-form textarea {
    width: 100%;
    padding: 8px 10px; /* Adjusted padding */
    border: 1px solid #ccc;
    box-sizing: border-box; /* Include padding and border in element's total width and height */
    border-radius: 3px; /* Slight rounding */
}

.chinmoy-contact-form textarea {
    min-height: 100px;
    resize: vertical; /* Allow vertical resizing */
}

/* Submit Button Styling */
.chinmoy-contact-form input[type="submit"] {
    display: inline-block; /* Allows setting padding/margin correctly */
    background-color: #2271b1; /* WordPress Admin Button Blue */
    color: #ffffff; /* White text */
    border: 1px solid #2271b1;
    padding: 8px 16px; /* Adjust padding as needed */
    font-size: 1em; /* Match surrounding text or set specific size */
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; /* Smooth hover effect */
    margin-right: 10px; /* Optional margin if needed next to spinner */
}

/* Style for button hover state */
.chinmoy-contact-form input[type="submit"]:hover {
    background-color: #135e96; /* Darker blue on hover */
    border-color: #135e96;
    color: #ffffff;
}

/* Style for button when disabled (during AJAX submission) */
.chinmoy-contact-form input[type="submit"]:disabled {
    background-color: #d6d9db; /* Lighter grey when disabled */
    border-color: #d6d9db;
    color: #777; /* Darker grey text */
    cursor: not-allowed; /* Indicate it's not clickable */
    opacity: 0.7;
}


/* Response Message Styling */
.chinmoy-contact-form-response {
    margin-top: 15px;
    padding: 10px 15px;
    border-radius: 4px;
    display: none; /* Initially hidden, shown via JS */
    border: 1px solid transparent;
    clear: both; /* Ensure it appears below floated elements if any */
}

.chinmoy-contact-form-response.success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
    display: block;
}

.chinmoy-contact-form-response.error {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    display: block;
}
.chinmoy-contact-form-response.validation {
    color: #721c24; /* Same as error, or choose another color */
    background-color: #f8d7da;
    border-color: #f5c6cb;
     display: block;
}


/* Styling for fields with validation errors */
.chinmoy-contact-form .error-field {
    border-color: #dc3232 !important; /* WordPress admin error color, !important might be needed depending on theme specificity */
    background-color: #fff9f9; /* Slight pink background */
}

.chinmoy-contact-form .error-message {
    color: #dc3232;
    display: block;
    font-size: 0.9em;
    margin-top: 3px;
}

/* reCAPTCHA alignment */
.chinmoy-contact-form .g-recaptcha-wrapper {
    margin-bottom: 15px;
    /* Add styles if needed to ensure proper layout */
    /* e.g., clear: both; */
}
.chinmoy-contact-form .g-recaptcha {
    /* Styles for the reCAPTCHA widget container if needed */
    /* Example: transform: scale(0.9); transform-origin: 0 0; /* Scale down if needed */ */
}


/* Spinner */
.ccf-spinner {
    display: none; /* Hidden by default, shown via JS */
    vertical-align: middle; /* Align vertically with button */
}
.ccf-spinner img {
     height: 20px; /* Adjust size as needed */
     width: 20px;
     vertical-align: middle; /* Align image itself */
}

/* Accessibility */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}