/**
 * Comprehensive fix for WPForms radio buttons
 * Prevents DistroApi CSS from affecting WPForms radio buttons
 * This file should be loaded on ALL pages to ensure WPForms works correctly
 */

/* Reset ALL WPForms radio buttons to standard styling */
.wpforms-container input[type="radio"] {
    /* Make sure radios are visible and positioned normally */
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    
    /* Ensure proper spacing and display */
    margin-right: 5px !important;
    margin-left: 0 !important;
    display: inline-block !important;
    
    /* Ensure proper sizing */
    width: auto !important;
    height: auto !important;
    
    /* Remove any custom styling */
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    
    /* Override any absolute positioning */
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

/* Remove custom pseudo-elements from WPForms radio buttons */
.wpforms-container input[type="radio"]:before,
.wpforms-container input[type="radio"]:after {
    display: none !important;
    content: none !important;
}

.wpforms-container input[type="radio"] + label:before,
.wpforms-container input[type="radio"] + label:after {
    display: none !important;
    content: none !important;
}

/* Reset WPForms checkbox styling */
.wpforms-container input[type="checkbox"] {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-right: 5px !important;
    margin-left: 0 !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Remove custom pseudo-elements from WPForms checkboxes */
.wpforms-container input[type="checkbox"]:before,
.wpforms-container input[type="checkbox"]:after {
    display: none !important;
    content: none !important;
}

.wpforms-container input[type="checkbox"] + label:before,
.wpforms-container input[type="checkbox"] + label:after {
    display: none !important;
    content: none !important;
}

/* Make sure WPForms list items have proper layout */
.wpforms-container li {
    display: block !important;
    position: static !important;
    padding-left: 0 !important;
    text-indent: 0 !important;
    margin-left: 0 !important;
}

/* Fix WPForms label positioning */
.wpforms-container label.wpforms-field-label-inline {
    display: inline-block !important;
    position: static !important;
    padding-left: 0 !important;
    vertical-align: middle !important;
}

/* Ensure WPForms radio button lists display correctly */
.wpforms-container .wpforms-field-radio ul,
.wpforms-container .wpforms-field-checkbox ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wpforms-container .wpforms-field-radio li,
.wpforms-container .wpforms-field-checkbox li {
    margin-bottom: 8px !important;
    padding: 0 !important;
}

/* Fix WPForms image choices specifically */
.wpforms-container .wpforms-image-choices input[type="radio"],
.wpforms-container .wpforms-image-choices input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Ensure WPForms image choices work properly */
.wpforms-container .wpforms-image-choices-item {
    position: relative !important;
    display: inline-block !important;
    margin: 0 10px 10px 0 !important;
}

.wpforms-container .wpforms-image-choices-item label {
    display: block !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wpforms-container .wpforms-image-choices-image {
    display: block !important;
    border: 2px solid transparent !important;
    border-radius: 4px !important;
    transition: border-color 0.2s ease !important;
}

.wpforms-container .wpforms-image-choices-item input[type="radio"]:checked + label .wpforms-image-choices-image,
.wpforms-container .wpforms-image-choices-item input[type="checkbox"]:checked + label .wpforms-image-choices-image {
    border-color: #1E73BE !important;
}

/* Fix WPForms field containers - preserve natural spacing */
.wpforms-container .wpforms-field {
    /* Don't override margin-bottom to preserve WPForms natural spacing */
    position: static !important;
    display: block !important;
}

/* Ensure WPForms field labels are properly styled */
.wpforms-container .wpforms-field-label {
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Fix WPForms required labels */
.wpforms-container .wpforms-required-label {
    color: #e53e3e !important;
    margin-left: 4px !important;
}

/* Ensure WPForms form styling is preserved */
.wpforms-container .wpforms-form {
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix WPForms page indicators */
.wpforms-container .wpforms-page-indicator {
    margin-bottom: 20px !important;
}

/* Ensure WPForms buttons work properly */
.wpforms-container .wpforms-page-button,
.wpforms-container .wpforms-submit {
    background-color: #1E73BE !important;
    color: white !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background-color 0.3s ease !important;
}

.wpforms-container .wpforms-page-button:hover,
.wpforms-container .wpforms-submit:hover {
    background-color: #165b96 !important;
}

/* Fix WPForms page navigation */
.wpforms-container .wpforms-pagebreak-left {
    text-align: left !important;
}

.wpforms-container .wpforms-pagebreak-right {
    text-align: right !important;
}

.wpforms-container .wpforms-pagebreak-center {
    text-align: center !important;
}

/* Ensure WPForms clear class works */
.wpforms-container .wpforms-clear {
    clear: both !important;
}

/* Fix WPForms field descriptions */
.wpforms-container .wpforms-field-description {
    font-size: 14px !important;
    color: #666 !important;
    margin-top: 4px !important;
    font-style: italic !important;
}

/* Ensure WPForms error messages display properly */
.wpforms-container .wpforms-error {
    color: #e53e3e !important;
    font-size: 14px !important;
    margin-top: 4px !important;
}

/* Fix WPForms success messages */
.wpforms-container .wpforms-confirmation-container {
    background-color: #d4edda !important;
    border: 1px solid #c3e6cb !important;
    border-radius: 4px !important;
    padding: 15px !important;
    margin: 20px 0 !important;
    color: #155724 !important;
}

/* Preserve WPForms conditional logic */
.wpforms-container .wpforms-conditional-hide {
    display: none !important;
}

.wpforms-container .wpforms-conditional-show {
    display: block !important;
}

/* Preserve WPForms field spacing */
.wpforms-container .wpforms-field-container {
    /* Don't override WPForms natural spacing */
    position: static !important;
    display: block !important;
}

/* Override any DistroApi styles that might affect WPForms - but only for form elements */
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea {
    /* Ensure no DistroApi positioning affects WPForms form elements */
    position: static !important;
}

.wpforms-container input[type="radio"],
.wpforms-container input[type="checkbox"] {
    /* Force standard radio/checkbox appearance */
    appearance: auto !important;
    -webkit-appearance: auto !important;
    -moz-appearance: auto !important;
}

/* Ensure WPForms radio buttons are clickable */
.wpforms-container input[type="radio"]:focus,
.wpforms-container input[type="checkbox"]:focus {
    outline: 2px solid #1E73BE !important;
    outline-offset: 2px !important;
} 