/**
 * Sky GF Style - Frontend Styles
 *
 * @package Sky_GF_Style
 * @version 1.5.0
 */

/* ==========================================================================
   Base Wrapper Styles
   ========================================================================== */

.sky-gf-form-wrapper {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.sky-gf-form-wrapper *,
.sky-gf-form-wrapper *::before,
.sky-gf-form-wrapper *::after {
    box-sizing: border-box;
}

/* ==========================================================================
   Placeholder Styles (Editor)
   ========================================================================== */

.sky-gf-form-placeholder,
.sky-gf-form-preview {
    padding: 40px;
    text-align: center;
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    color: #6c757d;
}

.sky-gf-form-placeholder p,
.sky-gf-form-preview p {
    margin: 0;
    font-size: 14px;
}

/* ==========================================================================
   Form Container Reset
   ========================================================================== */

.sky-gf-form-wrapper .gform_wrapper {
    margin: 0;
    padding: 0;
}

.sky-gf-form-wrapper .gform_wrapper.gform_validation_error {
    /* Ensure validation styles don't break layout */
}

/* ==========================================================================
   Hide Required Legend Toggle
   ========================================================================== */

.sky-gf-form-wrapper.sky-gf-hide-required-legend .gform_required_legend,
.sky-gf-form-wrapper.sky-gf-hide-required-legend .gform-required-legend,
.sky-gf-form-wrapper.sky-gf-hide-required-legend .gfield_required_text,
.sky-gf-form-wrapper.sky-gf-hide-required-legend .gform_wrapper .gform_required_legend {
    display: none !important;
}

/* ==========================================================================
   Form Fields Container
   ========================================================================== */

.sky-gf-form-wrapper .gform_fields {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sky-gf-form-wrapper .gfield {
    margin-bottom: 20px;
    padding: 0;
}

.sky-gf-form-wrapper .gfield:last-child {
    margin-bottom: 0;
}

/* Full spacing control reset - set consistent gaps, override GF defaults */
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 20px !important;
    column-gap: 20px !important;
    grid-row-gap: 0 !important;
    row-gap: 0 !important;
}

.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield {
    margin-top: 0 !important;
    padding: 0 !important;
}

/* Ensure input containers fill their parent grid cell */
.sky-gf-form-wrapper .ginput_container,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield .ginput_container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.sky-gf-form-wrapper .gform_wrapper .gform_body {
    margin: 0;
    padding: 0;
}

.sky-gf-form-wrapper .gform_wrapper .gform_heading {
    margin-bottom: 0;
}

.sky-gf-form-wrapper .gform_wrapper .gsection {
    padding: 0;
    margin: 0;
    border: none;
}

/* ==========================================================================
   Gravity Forms Theme Override Reset
   Prevents gravity-theme and common theme selectors from overriding our
   custom select, checkbox, and radio styling.
   ========================================================================== */

/* --- Select Reset --- */
.sky-gf-form-wrapper .gform_wrapper select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_select select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
}

/* --- Checkbox Reset --- */
.sky-gf-form-wrapper .gform_wrapper input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield--type-consent input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
}

/* --- Radio Reset --- */
.sky-gf-form-wrapper .gform_wrapper input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_radio input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* ==========================================================================
   Input Field Base Styles (excluding select - has its own section)
   ========================================================================== */

.sky-gf-form-wrapper input[type="text"],
.sky-gf-form-wrapper input[type="email"],
.sky-gf-form-wrapper input[type="tel"],
.sky-gf-form-wrapper input[type="number"],
.sky-gf-form-wrapper input[type="password"],
.sky-gf-form-wrapper input[type="url"],
.sky-gf-form-wrapper input[type="date"],
.sky-gf-form-wrapper textarea {
    width: 100% !important;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    outline: none !important;
    -webkit-appearance: none;
}

/* Gravity-theme specificity: force text inputs to fill containers */
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container textarea {
    width: 100% !important;
    box-sizing: border-box !important;
}

.sky-gf-form-wrapper input[type="text"]:focus,
.sky-gf-form-wrapper input[type="email"]:focus,
.sky-gf-form-wrapper input[type="tel"]:focus,
.sky-gf-form-wrapper input[type="number"]:focus,
.sky-gf-form-wrapper input[type="password"]:focus,
.sky-gf-form-wrapper input[type="url"]:focus,
.sky-gf-form-wrapper input[type="date"]:focus,
.sky-gf-form-wrapper textarea:focus {
    outline: none !important;
    box-shadow: none;
}

.sky-gf-form-wrapper input[type="text"]:focus-visible,
.sky-gf-form-wrapper input[type="email"]:focus-visible,
.sky-gf-form-wrapper input[type="tel"]:focus-visible,
.sky-gf-form-wrapper input[type="number"]:focus-visible,
.sky-gf-form-wrapper input[type="password"]:focus-visible,
.sky-gf-form-wrapper input[type="url"]:focus-visible,
.sky-gf-form-wrapper input[type="date"]:focus-visible,
.sky-gf-form-wrapper textarea:focus-visible {
    outline: none !important;
}

/* ==========================================================================
   Textarea Styles
   ========================================================================== */

.sky-gf-form-wrapper textarea {
    resize: vertical;
    min-height: 100px;
}

/* ==========================================================================
   Select Dropdown Styles
   ========================================================================== */

.sky-gf-form-wrapper select,
.sky-gf-form-wrapper .gform_wrapper select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield select {
    display: block !important;
    width: 100% !important;
    height: 42px;
    cursor: pointer;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 12px;
    padding-right: 36px !important;
    line-height: 40px;
    color: #333;
    font-size: inherit;
    font-family: inherit;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.sky-gf-form-wrapper select:focus,
.sky-gf-form-wrapper .gform_wrapper select:focus,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme select:focus,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield select:focus {
    outline: none !important;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.sky-gf-form-wrapper select:hover,
.sky-gf-form-wrapper .gform_wrapper select:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme select:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield select:hover {
    border-color: #999;
}

/* ==========================================================================
   Radio & Checkbox Styles
   ========================================================================== */

.sky-gf-form-wrapper .gfield_radio,
.sky-gf-form-wrapper .gfield_checkbox,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_radio,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_checkbox {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sky-gf-form-wrapper .gchoice,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_checkbox .gchoice,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_radio .gchoice {
    display: flex !important;
    align-items: center !important;
    gap: 5px;
    margin-bottom: 8px;
}

.sky-gf-form-wrapper .gchoice:last-child,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice:last-child {
    margin-bottom: 0;
}

/* Ensure choice labels are properly aligned */
.sky-gf-form-wrapper .gchoice label,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice label,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_checkbox .gchoice label,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_radio .gchoice label {
    cursor: pointer;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
}

.sky-gf-form-wrapper input[type="radio"],
.sky-gf-form-wrapper input[type="checkbox"] {
    cursor: pointer;
    flex-shrink: 0;
}

/* Custom Checkbox Styling */
.sky-gf-form-wrapper input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #ccc !important;
    border-radius: 0px !important;
    background-color: #fff !important;
    position: relative !important;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Checkbox Checked State */
.sky-gf-form-wrapper input[type="checkbox"]:checked,
.sky-gf-form-wrapper .gform_wrapper input[type="checkbox"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="checkbox"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="checkbox"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="checkbox"]:checked {
    background-color: #007bff !important;
    border-color: #007bff !important;
}

/* Checkbox Checkmark - scales with checkbox size */
.sky-gf-form-wrapper input[type="checkbox"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper input[type="checkbox"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="checkbox"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="checkbox"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="checkbox"]:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    top: 45% !important;
    width: 30% !important;
    height: 55% !important;
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: translate(-50%, -50%) rotate(45deg) !important;
    display: block !important;
}

/* Checkbox Focus State */
.sky-gf-form-wrapper input[type="checkbox"]:focus,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="checkbox"]:focus,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="checkbox"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;
}

/* Checkbox Hover State */
.sky-gf-form-wrapper input[type="checkbox"]:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="checkbox"]:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="checkbox"]:hover {
    border-color: #999 !important;
}

.sky-gf-form-wrapper input[type="checkbox"]:checked:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="checkbox"]:checked:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="checkbox"]:checked:hover {
    background-color: #0056b3 !important;
    border-color: #0056b3 !important;
}

/* Custom Radio Button Styling */
.sky-gf-form-wrapper input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_radio input[type="radio"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="radio"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border: 1px solid #ccc !important;
    border-radius: 50% !important;
    background-color: #fff !important;
    position: relative !important;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Radio Button Checked State */
.sky-gf-form-wrapper input[type="radio"]:checked,
.sky-gf-form-wrapper .gform_wrapper input[type="radio"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_radio input[type="radio"]:checked,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="radio"]:checked {
    background-color: #fff !important;
    border-color: #007bff !important;
}

/* Radio Button Inner Dot */
.sky-gf-form-wrapper input[type="radio"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper input[type="radio"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_radio input[type="radio"]:checked::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gchoice input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 10px !important;
    height: 10px !important;
    background-color: #007bff !important;
    border-radius: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: block !important;
}

/* Radio Button Focus State */
.sky-gf-form-wrapper input[type="radio"]:focus,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"]:focus,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25) !important;
}

/* Radio Button Hover State */
.sky-gf-form-wrapper input[type="radio"]:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"]:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"]:hover {
    border-color: #999 !important;
}

.sky-gf-form-wrapper input[type="radio"]:checked:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"]:checked:hover,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"]:checked:hover {
    border-color: #0056b3 !important;
}

.sky-gf-form-wrapper input[type="radio"]:checked:hover::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme input[type="radio"]:checked:hover::after,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield input[type="radio"]:checked:hover::after {
    background-color: #0056b3 !important;
}

/* ==========================================================================
   File Upload Styles
   ========================================================================== */

.sky-gf-form-wrapper .ginput_container_fileupload {
    position: relative;
}

.sky-gf-form-wrapper .gform_drop_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    border: 2px dashed #ccc;
    border-radius: 8px;
    background: #fafafa;
    transition: all 0.2s ease-in-out;
}

.sky-gf-form-wrapper .gform_drop_area:hover {
    border-color: #999;
    background: #f5f5f5;
}

.sky-gf-form-wrapper .gform_button_select_files {
    cursor: pointer;
}

/* ==========================================================================
   Submit Button Styles
   ========================================================================== */

.sky-gf-form-wrapper .gform_footer {
    margin-top: 20px;
}

.sky-gf-form-wrapper .gform_button,
.sky-gf-form-wrapper input[type="submit"],
.sky-gf-form-wrapper button[type="submit"] {
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    display: inline-block;
}

/* ==========================================================================
   Validation & Error Styles
   ========================================================================== */

.sky-gf-form-wrapper .gfield_error {
    /* Error field container */
}

.sky-gf-form-wrapper .validation_message {
    margin-top: 5px;
    font-size: 13px;
}

.sky-gf-form-wrapper .validation_error,
.sky-gf-form-wrapper .gform_validation_errors {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}

/* ==========================================================================
   Success/Confirmation Styles
   ========================================================================== */

.sky-gf-form-wrapper .gform_confirmation_message {
    padding: 20px;
    border-radius: 4px;
}

/* ==========================================================================
   Dark Mode Base Styles
   ========================================================================== */

.sky-gf-form-wrapper.sky-gf-dark-mode {
    /* Dark mode transition */
    transition: background-color 0.3s ease, color 0.3s ease;
}

.sky-gf-form-wrapper.sky-gf-dark-mode input,
.sky-gf-form-wrapper.sky-gf-dark-mode textarea,
.sky-gf-form-wrapper.sky-gf-dark-mode select {
    transition: all 0.2s ease-in-out;
}

/* Dark mode select dropdown arrow and colors */
.sky-gf-form-wrapper.sky-gf-dark-mode select,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper select,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme select,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield select {
    background-color: #1f2937 !important;
    border-color: #4b5563 !important;
    color: #f9fafb !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
}

/* Dark mode checkbox styles */
.sky-gf-form-wrapper.sky-gf-dark-mode input[type="checkbox"],
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme input[type="checkbox"],
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield input[type="checkbox"],
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield_checkbox input[type="checkbox"] {
    background-color: #374151 !important;
    border-color: #4b5563 !important;
}

.sky-gf-form-wrapper.sky-gf-dark-mode input[type="checkbox"]:checked,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme input[type="checkbox"]:checked,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield input[type="checkbox"]:checked {
    background-color: #6366f1 !important;
    border-color: #6366f1 !important;
}

/* Dark mode radio styles */
.sky-gf-form-wrapper.sky-gf-dark-mode input[type="radio"],
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme input[type="radio"],
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield input[type="radio"],
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield_radio input[type="radio"] {
    background-color: #374151 !important;
    border-color: #4b5563 !important;
}

.sky-gf-form-wrapper.sky-gf-dark-mode input[type="radio"]:checked,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme input[type="radio"]:checked,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield input[type="radio"]:checked {
    border-color: #6366f1 !important;
}

.sky-gf-form-wrapper.sky-gf-dark-mode input[type="radio"]:checked::after,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme input[type="radio"]:checked::after,
.sky-gf-form-wrapper.sky-gf-dark-mode .gform_wrapper.gravity-theme .gfield input[type="radio"]:checked::after {
    background-color: #6366f1 !important;
}

/* Dark mode choice labels */
.sky-gf-form-wrapper.sky-gf-dark-mode .gchoice label,
.sky-gf-form-wrapper.sky-gf-dark-mode .gfield_radio label,
.sky-gf-form-wrapper.sky-gf-dark-mode .gfield_checkbox label {
    color: #d1d5db;
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 767px) {
    .sky-gf-form-wrapper .ginput_complex,
    .sky-gf-form-wrapper .ginput_container_address,
    .sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex,
    .sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }

    .sky-gf-form-wrapper .ginput_complex > span,
    .sky-gf-form-wrapper .ginput_container_address > span,
    .sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex > span,
    .sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address > span,
    .sky-gf-form-wrapper .ginput_complex .ginput_left,
    .sky-gf-form-wrapper .ginput_complex .ginput_right,
    .sky-gf-form-wrapper .ginput_container_address .ginput_left,
    .sky-gf-form-wrapper .ginput_container_address .ginput_right {
        flex: 0 0 100% !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .sky-gf-form-wrapper .gform_button,
    .sky-gf-form-wrapper input[type="submit"],
    .sky-gf-form-wrapper button[type="submit"] {
        width: 100%;
    }
}

/* ==========================================================================
   Hidden Fields
   ========================================================================== */

.sky-gf-form-wrapper .gfield_visibility_hidden {
    display: none !important;
}

.sky-gf-form-wrapper input[type="hidden"] {
    display: none !important;
}

/* ==========================================================================
   Section Break Styles
   ========================================================================== */

.sky-gf-form-wrapper .gsection {
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}

.sky-gf-form-wrapper .gsection_title {
    font-weight: 600;
    margin-bottom: 5px;
}

.sky-gf-form-wrapper .gsection_description {
    font-size: 14px;
    opacity: 0.8;
}

/* ==========================================================================
   Multi-page Form Styles
   ========================================================================== */

.sky-gf-form-wrapper .gform_page_footer {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-top: 20px;
}

.sky-gf-form-wrapper .gform_previous_button,
.sky-gf-form-wrapper .gform_next_button {
    cursor: pointer;
}

/* ==========================================================================
   Progress Bar Styles
   ========================================================================== */

.sky-gf-form-wrapper .gf_progressbar_wrapper {
    margin-bottom: 20px;
}

.sky-gf-form-wrapper .gf_progressbar {
    height: 8px;
    background: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
}

.sky-gf-form-wrapper .gf_progressbar_percentage {
    height: 100%;
    background: #007bff;
    transition: width 0.3s ease;
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

/* Focus visible - only for non-input elements like buttons */
.sky-gf-form-wrapper button:focus-visible,
.sky-gf-form-wrapper [type="submit"]:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Screen reader only */
.sky-gf-form-wrapper .gform_hidden,
.sky-gf-form-wrapper .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ==========================================================================
   Button Hover Animations
   ========================================================================== */

/* Lift Up Effect */
.sky-gf-btn-hover-lift .sky-gf-form-wrapper .gform_button,
.sky-gf-btn-hover-lift .sky-gf-form-wrapper input[type="submit"],
.sky-gf-btn-hover-lift .sky-gf-form-wrapper button[type="submit"] {
    transition: all 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.sky-gf-btn-hover-lift .sky-gf-form-wrapper .gform_button:hover,
.sky-gf-btn-hover-lift .sky-gf-form-wrapper input[type="submit"]:hover,
.sky-gf-btn-hover-lift .sky-gf-form-wrapper button[type="submit"]:hover {
    transform: translateY(-3px);
}

/* Scale Effect */
.sky-gf-btn-hover-scale .sky-gf-form-wrapper .gform_button,
.sky-gf-btn-hover-scale .sky-gf-form-wrapper input[type="submit"],
.sky-gf-btn-hover-scale .sky-gf-form-wrapper button[type="submit"] {
    transition: all 0.2s ease-in-out, transform 0.2s ease-in-out;
}

.sky-gf-btn-hover-scale .sky-gf-form-wrapper .gform_button:hover,
.sky-gf-btn-hover-scale .sky-gf-form-wrapper input[type="submit"]:hover,
.sky-gf-btn-hover-scale .sky-gf-form-wrapper button[type="submit"]:hover {
    transform: scale(1.05);
}

/* Push Down Effect */
.sky-gf-btn-hover-push .sky-gf-form-wrapper .gform_button,
.sky-gf-btn-hover-push .sky-gf-form-wrapper input[type="submit"],
.sky-gf-btn-hover-push .sky-gf-form-wrapper button[type="submit"] {
    transition: all 0.2s ease-in-out, transform 0.1s ease-in-out;
}

.sky-gf-btn-hover-push .sky-gf-form-wrapper .gform_button:hover,
.sky-gf-btn-hover-push .sky-gf-form-wrapper input[type="submit"]:hover,
.sky-gf-btn-hover-push .sky-gf-form-wrapper button[type="submit"]:hover {
    transform: translateY(2px);
}

/* ==========================================================================
   Field Focus State Enhancement (Pure CSS - no JavaScript required)
   ========================================================================== */

.sky-gf-form-wrapper .gfield:focus-within {
    /* Add subtle indicator for focused fields */
}

.sky-gf-form-wrapper .gfield:focus-within .gfield_label {
    /* Optional: highlight label on focus */
}

/* ==========================================================================
   File Upload Drag State (Native browser styling)
   ========================================================================== */

.sky-gf-form-wrapper .gform_drop_area:hover {
    border-color: #6366f1;
    background-color: rgba(99, 102, 241, 0.05);
}

/* ==========================================================================
   Complex Field Layout
   Reset GF's explicit width/margin on sub-fields and use flex + gap instead.
   This prevents extra right-side spacing on same-row fields.
   Target both .ginput_complex and .ginput_container_address since GF 2.5+
   may use either class structure for address fields.
   ========================================================================== */

.sky-gf-form-wrapper .ginput_complex,
.sky-gf-form-wrapper .ginput_container_address,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove GF 2.5+ .gform-grid-row wrapper from layout so sub-fields
   become direct flex children of the container */
.sky-gf-form-wrapper .ginput_complex > .gform-grid-row,
.sky-gf-form-wrapper .ginput_container_address > .gform-grid-row,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex > .gform-grid-row,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address > .gform-grid-row {
    display: contents !important;
}

/* Hide any br, hr, or clear elements that GF inserts between sub-fields */
.sky-gf-form-wrapper .ginput_complex > br,
.sky-gf-form-wrapper .ginput_complex > .gf_clear,
.sky-gf-form-wrapper .ginput_complex > .gf_clear_complex,
.sky-gf-form-wrapper .ginput_container_address > br,
.sky-gf-form-wrapper .ginput_container_address > .gf_clear,
.sky-gf-form-wrapper .ginput_container_address > .gf_clear_complex {
    display: none !important;
}

/* Reset all complex field sub-spans - remove GF's width/margin and use flex */
.sky-gf-form-wrapper .ginput_complex > span,
.sky-gf-form-wrapper .ginput_container_address > span,
.sky-gf-form-wrapper .ginput_container_address span[class*="address_"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex > span,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address > span,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address span[class*="address_"] {
    flex: 1 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Named sub-field spans - override GF's explicit width calculations */
.sky-gf-form-wrapper .ginput_complex .name_first,
.sky-gf-form-wrapper .ginput_complex .name_last,
.sky-gf-form-wrapper .ginput_complex .name_middle,
.sky-gf-form-wrapper .ginput_complex .name_prefix,
.sky-gf-form-wrapper .ginput_complex .name_suffix,
.sky-gf-form-wrapper .ginput_complex .ginput_left,
.sky-gf-form-wrapper .ginput_complex .ginput_right,
.sky-gf-form-wrapper .ginput_complex .ginput_full,
.sky-gf-form-wrapper .ginput_complex .address_line_1,
.sky-gf-form-wrapper .ginput_complex .address_line_2,
.sky-gf-form-wrapper .ginput_complex .address_city,
.sky-gf-form-wrapper .ginput_complex .address_state,
.sky-gf-form-wrapper .ginput_complex .address_zip,
.sky-gf-form-wrapper .ginput_complex .address_country,
.sky-gf-form-wrapper .ginput_container_address .ginput_left,
.sky-gf-form-wrapper .ginput_container_address .ginput_right,
.sky-gf-form-wrapper .ginput_container_address .ginput_full,
.sky-gf-form-wrapper .ginput_container_address .address_line_1,
.sky-gf-form-wrapper .ginput_container_address .address_line_2,
.sky-gf-form-wrapper .ginput_container_address .address_city,
.sky-gf-form-wrapper .ginput_container_address .address_state,
.sky-gf-form-wrapper .ginput_container_address .address_zip,
.sky-gf-form-wrapper .ginput_container_address .address_country,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .name_first,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .name_last,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .ginput_left,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .ginput_right,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .ginput_left,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .ginput_right,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_city,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_state,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_zip,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_country {
    flex: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Override GF 2.5+ grid column sizing classes on address sub-fields */
.sky-gf-form-wrapper .ginput_container_address .gform-grid-col,
.sky-gf-form-wrapper .ginput_complex .gform-grid-col,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .gform-grid-col,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .gform-grid-col {
    flex: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: unset !important;
}

/* Full-width sub-fields should span the entire row */
.sky-gf-form-wrapper .ginput_complex .ginput_full,
.sky-gf-form-wrapper .ginput_complex .address_line_1,
.sky-gf-form-wrapper .ginput_complex .address_line_2,
.sky-gf-form-wrapper .ginput_container_address .ginput_full,
.sky-gf-form-wrapper .ginput_container_address .address_line_1,
.sky-gf-form-wrapper .ginput_container_address .address_line_2,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .ginput_full,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .ginput_full,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_line_1,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_line_2,
.sky-gf-form-wrapper .ginput_container_address .gform-grid-col--size-100,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .gform-grid-col--size-100 {
    flex: 0 0 100% !important;
    width: 100% !important;
}

/* Hide address sub-fields that GF has disabled */
.sky-gf-form-wrapper .ginput_container_address > span[style*="display:none"],
.sky-gf-form-wrapper .ginput_container_address > span[style*="display: none"],
.sky-gf-form-wrapper .ginput_complex > span[style*="display:none"],
.sky-gf-form-wrapper .ginput_complex > span[style*="display: none"],
.sky-gf-form-wrapper .ginput_container_address span[class*="address_"][style*="display:none"],
.sky-gf-form-wrapper .ginput_container_address span[class*="address_"][style*="display: none"] {
    display: none !important;
    flex: 0 0 0px !important;
    width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Nuclear fallback: address_city and address_zip use calc for exact 50/50 split.
   This guarantees alignment even if hidden sub-fields exist in the DOM.
   Uses calc(50% - 10px) = half container minus half of 20px gap */
.sky-gf-form-wrapper .ginput_container_address .address_city,
.sky-gf-form-wrapper .ginput_container_address .address_zip,
.sky-gf-form-wrapper .ginput_complex .address_city,
.sky-gf-form-wrapper .ginput_complex .address_zip,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_city,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_address .address_zip,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .address_city,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_complex .address_zip {
    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
}

/* ==========================================================================
   Loading State (Gravity Forms native spinner)
   ========================================================================== */

.sky-gf-form-wrapper .gform_ajax_spinner {
    display: inline-block;
    margin-left: 10px;
    vertical-align: middle;
}

/* ==========================================================================
   Consent Field Styling
   ========================================================================== */

.sky-gf-form-wrapper .gfield--type-consent .ginput_container {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.sky-gf-form-wrapper .gfield--type-consent input[type="checkbox"] {
    margin-top: 4px !important;
}

/* ==========================================================================
   Date Picker Enhancement - Force full width
   ========================================================================== */

/* Single date text input - force 100% width */
.sky-gf-form-wrapper .ginput_container_date input,
.sky-gf-form-wrapper .ginput_container_date input[type="text"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_date input,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_date input[type="text"],
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield .ginput_container_date input {
    width: 100% !important;
}

/* Date dropdown containers - flex layout for equal distribution */
.sky-gf-form-wrapper .ginput_container_date .gfield_date_dropdown_day,
.sky-gf-form-wrapper .ginput_container_date .gfield_date_dropdown_month,
.sky-gf-form-wrapper .ginput_container_date .gfield_date_dropdown_year,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_date .gfield_date_dropdown_day,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_date .gfield_date_dropdown_month,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_date .gfield_date_dropdown_year {
    display: inline-block;
    flex: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    margin-right: 5px;
}

.sky-gf-form-wrapper .ginput_container_date .gfield_date_dropdown_year,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_date .gfield_date_dropdown_year {
    margin-right: 0;
}

/* Date picker dropdowns - full width within their container */
.sky-gf-form-wrapper .gfield_date_dropdown_day select,
.sky-gf-form-wrapper .gfield_date_dropdown_month select,
.sky-gf-form-wrapper .gfield_date_dropdown_year select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_date_dropdown_day select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_date_dropdown_month select,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .gfield_date_dropdown_year select {
    width: 100% !important;
    min-width: 0 !important;
}

/* Date field container - use flex for dropdown layout */
.sky-gf-form-wrapper .ginput_container_date,
.sky-gf-form-wrapper .gform_wrapper.gravity-theme .ginput_container_date {
    display: flex !important;
    width: 100% !important;
}

/* ==========================================================================
   Time Field Enhancement
   ========================================================================== */

.sky-gf-form-wrapper .gfield_time_hour,
.sky-gf-form-wrapper .gfield_time_minute,
.sky-gf-form-wrapper .gfield_time_ampm {
    display: inline-block;
    width: auto;
    min-width: 60px;
}

/* Time AM/PM dropdown */
.sky-gf-form-wrapper .gfield_time_ampm select {
    width: auto !important;
    min-width: 60px;
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
    .sky-gf-form-wrapper {
        background: none !important;
        box-shadow: none !important;
    }

    .sky-gf-form-wrapper .gform_button,
    .sky-gf-form-wrapper input[type="submit"],
    .sky-gf-form-wrapper button[type="submit"] {
        display: none !important;
    }
}

/* ==========================================================================
   Field Icons - Hybrid approach using JS wrapper + CSS pseudo-elements
   JS creates .sky-gf-icon-wrap around each input for consistent positioning
   CSS adds icons via ::before on the wrapper using Font Awesome unicode
   ========================================================================== */

/* DISABLE old container-level pseudo-element icons */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-name::before,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email::before,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone::before {
    content: none !important;
    display: none !important;
}

/* Base icon styling on JS-created wrapper - positioned relative to each input */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-wrap::before {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #6b7280 !important;
    font-size: 14px !important;
    pointer-events: none !important;
    z-index: 10 !important;
    line-height: 1 !important;
}

/* Name field icon - User (Unicode: f007) */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-name .sky-gf-icon-wrap::before {
    content: "\f007" !important;
}

/* Email field icon - Envelope (Unicode: f0e0) */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email .sky-gf-icon-wrap::before {
    content: "\f0e0" !important;
}

/* Phone field icon - Phone (Unicode: f095) */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone .sky-gf-icon-wrap::before {
    content: "\f095" !important;
}

/* High specificity icon selectors */
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-name .sky-gf-icon-wrap::before {
    content: "\f007" !important;
}
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-email .sky-gf-icon-wrap::before {
    content: "\f0e0" !important;
}
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-phone .sky-gf-icon-wrap::before {
    content: "\f095" !important;
}

/* Dark mode icon colors */
.sky-gf-form-wrapper.sky-gf-dark-mode.sky-gf-icons-enabled .sky-gf-icon-wrap::before {
    color: #9ca3af !important;
}

/* ==========================================================================
   Input Padding - BULLETPROOF selectors for all input types
   These selectors have maximum specificity to prevent theme/plugin overrides
   ========================================================================== */

/* Base input padding for icon fields - targets all input types */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-name input,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email input,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone input {
    padding-left: 40px !important;
}

/* Explicit input type selectors for maximum specificity */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-name input[type="text"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email input[type="text"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email input[type="email"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone input[type="text"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone input[type="tel"] {
    padding-left: 40px !important;
}

/* Ultra-high specificity selectors - prevents ANY theme override */
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-name input,
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-email input,
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-phone input,
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-name input[type="text"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-email input[type="text"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-email input[type="email"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-phone input[type="text"],
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-container-phone input[type="tel"] {
    padding-left: 40px !important;
}

/* Target Gravity Forms specific input classes */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-name input.large,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-name input.medium,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-name input.small,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email input.large,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email input.medium,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-email input.small,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone input.large,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone input.medium,
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-container-phone input.small {
    padding-left: 40px !important;
}

/* ==========================================================================
   JS Icon Wrapper System - wrapper provides positioning context for CSS icons
   ========================================================================== */

/* Icon wrapper - positioned relative for ::before icon placement */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-icon-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

/* High specificity wrapper selectors */
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-wrap,
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .ginput_container .sky-gf-icon-wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

/* Hide JS-created icon element - we use CSS ::before instead for reliability */
.sky-gf-form-wrapper.sky-gf-icons-enabled .sky-gf-field-icon {
    display: none !important;
}

/* Input padding for icon fields - BULLETPROOF */
.sky-gf-form-wrapper.sky-gf-icons-enabled input.sky-gf-has-icon {
    padding-left: 40px !important;
}

/* High specificity input padding selectors */
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield input.sky-gf-has-icon,
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .sky-gf-icon-wrap input.sky-gf-has-icon,
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .ginput_container input.sky-gf-has-icon,
.sky-gf-form-wrapper.sky-gf-icons-enabled .gfield .ginput_container .sky-gf-icon-wrap input.sky-gf-has-icon {
    padding-left: 40px !important;
}

/* Target specific input types with icon class */
.sky-gf-form-wrapper.sky-gf-icons-enabled input[type="text"].sky-gf-has-icon,
.sky-gf-form-wrapper.sky-gf-icons-enabled input[type="email"].sky-gf-has-icon,
.sky-gf-form-wrapper.sky-gf-icons-enabled input[type="tel"].sky-gf-has-icon {
    padding-left: 40px !important;
}
