/* ============================================
   Forms Section - Override Gravity Forms Orbital Theme
   ============================================ */

.forms-section {
    position: relative;
    width: 100%;
    padding: 60px 20px;
    background-color: var(--color-white, #ffffff);
}

.forms-container {
    max-width: 800px;
    margin: 0 auto;
}

/* Gravity Forms Wrapper Reset */
.forms-section .gform_wrapper,
.forms-section .gform_wrapper.gravity-theme {
    margin: 0 !important;
    padding: 0 !important;
}

.forms-section .gform_body {
    width: 100%;
}

.forms-section .gfield,
.forms-section .gform_wrapper.gravity-theme .gfield {
    margin-bottom: 24px !important;
    padding: 0 !important;
}

.forms-section .gfield_label,
.forms-section .gform_wrapper.gravity-theme .gfield_label {
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    display: block !important;
    color: var(--black, #202030) !important;
    font-size: 16px !important;
}

.forms-section .gfield_required,
.forms-section .gform_wrapper.gravity-theme .gfield_required {
    color: var(--red, #CE4A57) !important;
}

/* Form Fields - Rounded with Standard Padding - OVERRIDE ORBITAL */
.forms-section input[type="text"],
.forms-section input[type="email"],
.forms-section input[type="tel"],
.forms-section input[type="url"],
.forms-section input[type="number"],
.forms-section input[type="date"],
.forms-section input[type="password"],
.forms-section textarea,
.forms-section select,
.forms-section .gform_wrapper.gravity-theme input[type="text"],
.forms-section .gform_wrapper.gravity-theme input[type="email"],
.forms-section .gform_wrapper.gravity-theme input[type="tel"],
.forms-section .gform_wrapper.gravity-theme input[type="url"],
.forms-section .gform_wrapper.gravity-theme input[type="number"],
.forms-section .gform_wrapper.gravity-theme input[type="date"],
.forms-section .gform_wrapper.gravity-theme input[type="password"],
.forms-section .gform_wrapper.gravity-theme textarea,
.forms-section .gform_wrapper.gravity-theme select {
    width: 100% !important;
    height: 50px !important;
    padding: 14px 20px !important;
    border: 2px solid var(--gray-medium, #cccccc) !important;
    border-radius: var(--radius-pill) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-family: inherit !important;
    color: var(--black, #202030) !important;
    background-color: var(--white, #ffffff) !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.forms-section input[type="text"]:focus,
.forms-section input[type="email"]:focus,
.forms-section input[type="tel"]:focus,
.forms-section input[type="url"]:focus,
.forms-section input[type="number"]:focus,
.forms-section input[type="date"]:focus,
.forms-section input[type="password"]:focus,
.forms-section textarea:focus,
.forms-section select:focus,
.forms-section .gform_wrapper.gravity-theme input[type="text"]:focus,
.forms-section .gform_wrapper.gravity-theme input[type="email"]:focus,
.forms-section .gform_wrapper.gravity-theme input[type="tel"]:focus,
.forms-section .gform_wrapper.gravity-theme input[type="url"]:focus,
.forms-section .gform_wrapper.gravity-theme input[type="number"]:focus,
.forms-section .gform_wrapper.gravity-theme input[type="date"]:focus,
.forms-section .gform_wrapper.gravity-theme input[type="password"]:focus,
.forms-section .gform_wrapper.gravity-theme textarea:focus,
.forms-section .gform_wrapper.gravity-theme select:focus {
    outline: none !important;
    border-color: var(--red, #CE4A57) !important;
    box-shadow: 0 0 0 3px rgba(206, 74, 87, 0.1) !important;
}

.forms-section textarea,
.forms-section .gform_wrapper.gravity-theme textarea {
    min-height: 140px !important;
    resize: vertical !important;
}

/* Placeholder Styling */
.forms-section input::placeholder,
.forms-section textarea::placeholder,
.forms-section .gform_wrapper.gravity-theme input::placeholder,
.forms-section .gform_wrapper.gravity-theme textarea::placeholder {
    color: var(--gray-dark, #666666) !important;
    opacity: 0.7 !important;
}

/* Submit Button - Primary Button Style - OVERRIDE ORBITAL */
.forms-section .gform_footer,
.forms-section .gform_wrapper.gravity-theme .gform_footer {
    margin-top: 32px !important;
    padding: 0 !important;
}

.forms-section input[type="submit"],
.forms-section .gform_button,
.forms-section .gform_wrapper.gravity-theme input[type="submit"],
.forms-section .gform_wrapper.gravity-theme .gform_button,
.forms-section .gform_wrapper.gravity-theme button[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 28px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    border: 3px solid var(--red, #CE4A57) !important;
    background-color: var(--red, #CE4A57) !important;
    color: var(--white, #ffffff) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    min-width: 180px !important;
    text-align: center !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.forms-section input[type="submit"]:hover,
.forms-section .gform_button:hover,
.forms-section .gform_wrapper.gravity-theme input[type="submit"]:hover,
.forms-section .gform_wrapper.gravity-theme .gform_button:hover,
.forms-section .gform_wrapper.gravity-theme button[type="submit"]:hover {
    background-color: var(--red-dark, #C23B3B) !important;
    border-color: var(--red-dark, #C23B3B) !important;
    color: var(--white, #ffffff) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(206, 74, 87, 0.3) !important;
}

.forms-section input[type="submit"]:active,
.forms-section .gform_button:active,
.forms-section .gform_wrapper.gravity-theme input[type="submit"]:active,
.forms-section .gform_wrapper.gravity-theme .gform_button:active {
    transform: translateY(0) !important;
}

.forms-section input[type="submit"]:focus,
.forms-section .gform_button:focus,
.forms-section .gform_wrapper.gravity-theme input[type="submit"]:focus,
.forms-section .gform_wrapper.gravity-theme .gform_button:focus {
    outline: 3px solid var(--red, #CE4A57) !important;
    outline-offset: 2px !important;
}

/* Checkboxes and Radio Buttons */
.forms-section input[type="checkbox"],
.forms-section input[type="radio"],
.forms-section .gform_wrapper.gravity-theme input[type="checkbox"],
.forms-section .gform_wrapper.gravity-theme input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    margin-right: 8px !important;
    accent-color: var(--red, #CE4A57) !important;
}

.forms-section .gchoice,
.forms-section .gform_wrapper.gravity-theme .gchoice {
    margin-bottom: 12px !important;
}

.forms-section .gchoice label,
.forms-section .gform_wrapper.gravity-theme .gchoice label {
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
}

/* File Upload */
.forms-section input[type="file"],
.forms-section .gform_wrapper.gravity-theme input[type="file"] {
    padding: 10px 0 !important;
}

/* Validation Messages - OVERRIDE ORBITAL */
.forms-section .gfield_error,
.forms-section .gform_wrapper.gravity-theme .gfield_error {
    border-left: 4px solid var(--red, #CE4A57) !important;
    padding-left: 16px !important;
    background-color: rgba(206, 74, 87, 0.05) !important;
    border-radius: var(--radius-md, 8px) !important;
    padding: 16px !important;
    margin-bottom: 24px !important;
}

.forms-section .validation_message,
.forms-section .gform_wrapper.gravity-theme .validation_message {
    color: var(--red, #CE4A57) !important;
    font-size: 14px !important;
    margin-top: 6px !important;
    font-weight: 500 !important;
}

.forms-section .gfield_error input[type="text"],
.forms-section .gfield_error input[type="email"],
.forms-section .gfield_error input[type="tel"],
.forms-section .gfield_error input[type="url"],
.forms-section .gfield_error input[type="number"],
.forms-section .gfield_error input[type="date"],
.forms-section .gfield_error textarea,
.forms-section .gfield_error select,
.forms-section .gform_wrapper.gravity-theme .gfield_error input[type="text"],
.forms-section .gform_wrapper.gravity-theme .gfield_error input[type="email"],
.forms-section .gform_wrapper.gravity-theme .gfield_error input[type="tel"],
.forms-section .gform_wrapper.gravity-theme .gfield_error input[type="url"],
.forms-section .gform_wrapper.gravity-theme .gfield_error input[type="number"],
.forms-section .gform_wrapper.gravity-theme .gfield_error input[type="date"],
.forms-section .gform_wrapper.gravity-theme .gfield_error textarea,
.forms-section .gform_wrapper.gravity-theme .gfield_error select {
    border-color: var(--red, #CE4A57) !important;
}

/* Success Message - OVERRIDE ORBITAL */
.forms-section .gform_confirmation_wrapper,
.forms-section .gform_confirmation_message,
.forms-section .gform_wrapper.gravity-theme .gform_confirmation_wrapper,
.forms-section .gform_wrapper.gravity-theme .gform_confirmation_message {
    padding: 24px !important;
    background-color: rgba(72, 187, 120, 0.1) !important;
    border: 2px solid #48bb78 !important;
    border-radius: var(--radius-md, 8px) !important;
    color: #22543d !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

/* Error Message */
.forms-error {
    padding: 24px !important;
    background-color: rgba(206, 74, 87, 0.1) !important;
    border: 2px solid var(--red, #CE4A57) !important;
    border-radius: var(--radius-md, 8px) !important;
    color: var(--red-dark, #C23B3B) !important;
    text-align: center !important;
    font-weight: 500 !important;
}

/* Form Description */
.forms-section .gform_description,
.forms-section .gform_wrapper.gravity-theme .gform_description {
    margin-bottom: 24px !important;
    color: var(--gray-dark, #666666) !important;
    font-size: 16px !important;
}

/* Field Description */
.forms-section .gfield_description,
.forms-section .gform_wrapper.gravity-theme .gfield_description {
    color: var(--gray-dark, #666666) !important;
    font-size: 14px !important;
    margin-top: 6px !important;
}

/* Required Field Indicator */
.forms-section .gfield_required_asterisk,
.forms-section .gform_wrapper.gravity-theme .gfield_required_asterisk {
    color: var(--red, #CE4A57) !important;
}

/* ============================================
   Responsive Design
   ============================================ */

/* Tablet */
@media (max-width: 768px) {
    .forms-section {
        padding: 50px 20px;
    }
    
    .forms-container {
        max-width: 100%;
    }
    
    .forms-section input[type="submit"],
    .forms-section .gform_button,
    .forms-section .gform_wrapper.gravity-theme input[type="submit"],
    .forms-section .gform_wrapper.gravity-theme .gform_button {
        font-size: 16px !important;
        padding: 12px 24px !important;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .forms-section {
        padding: 40px 16px;
    }
    
    .forms-section input[type="text"],
    .forms-section input[type="email"],
    .forms-section input[type="tel"],
    .forms-section input[type="url"],
    .forms-section input[type="number"],
    .forms-section input[type="date"],
    .forms-section input[type="password"],
    .forms-section textarea,
    .forms-section select,
    .forms-section .gform_wrapper.gravity-theme input[type="text"],
    .forms-section .gform_wrapper.gravity-theme input[type="email"],
    .forms-section .gform_wrapper.gravity-theme input[type="tel"],
    .forms-section .gform_wrapper.gravity-theme input[type="url"],
    .forms-section .gform_wrapper.gravity-theme input[type="number"],
    .forms-section .gform_wrapper.gravity-theme input[type="date"],
    .forms-section .gform_wrapper.gravity-theme input[type="password"],
    .forms-section .gform_wrapper.gravity-theme textarea,
    .forms-section .gform_wrapper.gravity-theme select {
        font-size: 16px !important;
        padding: 12px 16px !important;
    }
    
    .forms-section input[type="submit"],
    .forms-section .gform_button,
    .forms-section .gform_wrapper.gravity-theme input[type="submit"],
    .forms-section .gform_wrapper.gravity-theme .gform_button {
        width: 100% !important;
        padding: 14px 24px !important;
        font-size: 16px !important;
    }
}

/* Reduced Motion Accessibility */
@media (prefers-reduced-motion: reduce) {
    .forms-section input[type="submit"],
    .forms-section .gform_button,
    .forms-section .gform_wrapper.gravity-theme input[type="submit"],
    .forms-section .gform_wrapper.gravity-theme .gform_button {
        transition: none !important;
    }
    
    .forms-section input[type="submit"]:hover,
    .forms-section .gform_button:hover,
    .forms-section .gform_wrapper.gravity-theme input[type="submit"]:hover,
    .forms-section .gform_wrapper.gravity-theme .gform_button:hover {
        transform: none !important;
    }
}


