/* Custom Contact Form Styles */
.ccf-form-group {
    margin-bottom: 15px;
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
}

.ccf-form-group label {
    font-size: 14px;
    font-weight: bold;
    display: block;
    width: 100%;
}

.ccf-form-group input,
.ccf-form-group textarea {
    width: 100%;
    padding: 10px;
    font-size: 14px;
    border: 2px solid #06311a !important;
    border-radius: 8px;
    color: #06311a !important;
}

/* First Name and Last Name side by side */
.ccf-form-group .half-width {
    width: 48%;  /* 48% to leave some space between them */
    margin-right: 4%; /* Small gap between fields */
}

.ccf-form-group .half-width:last-child {
    margin-right: 0; /* Remove margin from the last element */
}

textarea {
    resize: vertical;
}

button[type="submit"] {
    background-color: #e4990d;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

button[type="submit"]:hover {
    background-color: #45a049;
}

p {
    font-size: 16px;
}

/* Success Message Styles */
.ccf-success-message {
    background-color:#def0e3;
    color: #06311a;
    padding: 15px;
    border-radius: 7px;
    font-size: 16px;
    text-align: center;
    margin-bottom: 20px;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    opacity: 0;
    display: none;
    transform: translateY(-20px);
    transition: opacity 0.5s, transform 0.5s ease-in-out;
}

.ccf-success-message.show {
    opacity: 1;
    transform: translateY(0);
    display: block;
}

/* Mobile Responsiveness */
@media only screen and (max-width: 990px) { 
    .ccf-form-group .half-width {
        width: 48%;  /* Keep the fields side by side with 48% width */
        margin-right: 4%; /* Small gap between fields */
    }

    .ccf-form-group .half-width:last-child {
        margin-right: 0; /* Remove margin from the last element */
    }

    button[type="submit"] {
        width: 100%;  /* Make the button full-width on mobile */
        padding: 15px; /* Increase padding for better touch */
    }
}
