/* Hide Gravity Forms default styles for labels and buttons */
.ginput_container input,
.ginput_container .gform_button,
.ginput_container .gform_footer,
.ginput_container .gform_body {
    all: unset;
}

.gform_title {
    display: none;
}

input[type="email"],
input[type="text"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea {
    width: 100%;
    border: 1px solid #4b5563; /* border-gray-600 */
    border-radius: 0.25rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    margin-top: 0.25rem;
    margin-bottom: 1rem;
    outline: none;
    transition: box-shadow 0.2s;
}

input[type="file"]
{
    margin: 0.5rem 0;
}
.ginput_container_fileupload{
    border: 1px solid #4b5563; /* border-gray-600 */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus {
    box-shadow: 0 0 0 2px #3b82f6; /* focus:ring-2 focus:ring-blue-500 */
    border-color: #3b82f6;
}



/* radio buttons and checkboxes */
.ginput_container .gfield_radio,
.ginput_container .gfield_checkbox {
    display: flex;
    align-items: center;
}

.ginput_container .gfield_radio input[type="radio"],
.ginput_container .gfield_checkbox input[type="checkbox"] {
    margin-right: 0.5rem;
}

/* radio outline */
input[type="radio"],
input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    border: 1px solid #4b5563; /* border-gray-500 */
    border-radius: 0.25rem;
    background-color: white;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
}


button.gform_button:disabled,
button.gform_button[disabled] {
    cursor: not-allowed;
    background-color: #9ca3af; /* bg-gray-400 */
}

.gform-theme-button:disabled:hover,
.gform-theme-button[disabled]:hover,
button[disabled]:hover
{
    background-color: #9ca3af; /* bg-gray-400 */
}

div.gform-page-footer:has(.gform-theme-button),
.gform_footer
{
    text-align: center;
}

input[type="submit"],
input[type="button"],
button
{
    all: unset;
    background-color: #2563eb; /* bg-blue-600 */
    color: white;
    padding-left: 1.25rem; /* px-5 */
    padding-right: 1.25rem; /* px-5 */
    padding-top: 0.5rem; /* py-2 */
    padding-bottom: 0.5rem; /* py-2 */
    border-radius: 0.375rem; /* rounded */
    font-weight: 600; /* font-semibold */
    cursor: pointer;
}

#payment-form button{
    margin-top: 1rem;
}

input[type="submit"]:hover,
input[type="button"]:hover,
button:hover
{
    background-color: #1d4ed8; /* bg-blue-700 */
}
