/* Gravity Forms - ALMMA Clean Styling */

/* Form Container */
.gform_wrapper {
    max-width: 100%;
    font-family: inherit; /* Inherits Loquet theme font */
}

/* Form Fields */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea,
.gform_wrapper select {
    width: 100%;
    padding: 12px 15px;
    background-color: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 4px;
    font-size: 16px;
    font-family: inherit;
    color: #333333;
    transition: border-color 0.3s ease;
}

/* Field Focus State */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    outline: none;
    border-color: #000000;
    box-shadow: 0 0 0 1px #000000;
}

/* Field Labels */
.gform_wrapper .gfield_label {
    font-weight: 600;
    color: #333333;
    margin-bottom: 8px;
    font-family: inherit;
}

/* Submit Button - Black - SUPER STRONG */
.almma-clean-form .gform_footer input.gform_button[type="submit"],
.almma-clean-form .gform_page_footer input.gform_button[type="submit"],
.almma-clean-form input.gform_button[type="submit"],
.almma-clean-form .gform_wrapper .gform_footer input[type="submit"],
.almma-clean-form.gform_wrapper .gform_footer input[type="submit"] {
    background-color: #000000 !important;
    background: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease, transform 0.1s ease !important;
    font-family: inherit !important;
}

/* Button Hover State - SUPER STRONG */
.almma-clean-form .gform_footer input.gform_button[type="submit"]:hover,
.almma-clean-form .gform_page_footer input.gform_button[type="submit"]:hover,
.almma-clean-form input.gform_button[type="submit"]:hover,
.almma-clean-form .gform_wrapper .gform_footer input[type="submit"]:hover,
.almma-clean-form.gform_wrapper .gform_footer input[type="submit"]:hover {
    background-color: #333333 !important;
    background: #333333 !important;
    transform: translateY(-1px) !important;
}

/* Button Active State - SUPER STRONG */
.almma-clean-form .gform_footer input.gform_button[type="submit"]:active,
.almma-clean-form .gform_page_footer input.gform_button[type="submit"]:active,
.almma-clean-form input.gform_button[type="submit"]:active,
.almma-clean-form .gform_wrapper .gform_footer input[type="submit"]:active,
.almma-clean-form.gform_wrapper .gform_footer input[type="submit"]:active {
    background-color: #000000 !important;
    background: #000000 !important;
    transform: translateY(0) !important;
}

/* Button Hover State */
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover {
    background-color: #333333;
    transform: translateY(-1px);
}

/* Button Active State */
.gform_wrapper .gform_footer input[type="submit"]:active,
.gform_wrapper .gform_page_footer input[type="submit"]:active {
    transform: translateY(0);
}

/* Required Field Indicator */
.gform_wrapper .gfield_required {
    color: #000000;
}

/* Validation Error Messages */
.gform_wrapper .gfield_error {
    background-color: #fff5f5;
    border: 1px solid #ff0000;
    border-radius: 4px;
    padding: 10px;
}

.gform_wrapper .validation_message {
    color: #ff0000;
    font-size: 14px;
    margin-top: 5px;
}

/* Success Message */
.gform_wrapper .gform_confirmation_message {
    background-color: #f0fdf4;
    border: 1px solid #22c55e;
    border-radius: 4px;
    padding: 20px;
    color: #166534;
    font-weight: 500;
}

/* Checkbox and Radio Buttons */
.gform_wrapper .gfield_checkbox li,
.gform_wrapper .gfield_radio li {
    margin-bottom: 8px;
}

.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"] {
    margin-right: 8px;
}

/* Multi-select Picklist Styling */
.gform_wrapper .ginput_container_multiselect select {
    min-height: 120px;
}

/* Spacing */
.gform_wrapper .gfield {
    margin-bottom: 20px;
}

.gform_wrapper .gform_footer {
    margin-top: 25px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .gform_wrapper input[type="text"],
    .gform_wrapper input[type="email"],
    .gform_wrapper input[type="tel"],
    .gform_wrapper input[type="url"],
    .gform_wrapper textarea,
    .gform_wrapper select {
        font-size: 16px; /* Prevents zoom on iOS */
    }
    
    .gform_wrapper .gform_footer input[type="submit"],
    .gform_wrapper .gform_page_footer input[type="submit"] {
        width: 100%;
        padding: 16px 32px;
    }
}