/* ============================================
   Ninja Forms Validators - Unified Styles
   ============================================ */

/* --------------------------------------------
   1. INTENSITY GOAL VALIDATOR
   -------------------------------------------- */
.intensity-disabled {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.intensity-disabled-label {
    opacity: 0.35 !important;
    color: #999 !important;
    cursor: not-allowed !important;
}

.intensity-enabled {
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* --------------------------------------------
   2. FREQUENCY DURATION VALIDATOR
   -------------------------------------------- */
.frequency-validator-msg {
    padding: 10px 15px;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.4;
    display: block;
    border-left: 4px solid;
}

.frequency-validator-error {
    background: #fef2f2;
    border-color: #f87171;
    color: #dc2626;
}

.frequency-validator-info {
    background: #eff6ff;
    border-color: #60a5fa;
    color: #1d4ed8;
}

.frequency-validator-success {
    background: #f0fdf4;
    border-color: #34d399;
    color: #059669;
}

.frequency-validator-disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.frequency-validator-disabled-label {
    opacity: 0.4 !important;
    color: #999 !important;
    cursor: not-allowed !important;
}

.frequency-validator-enabled {
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.frequency-validator-enabled-label {
    opacity: 1 !important;
    color: inherit !important;
    cursor: pointer !important;
}

/* --------------------------------------------
   3. EQUIPMENT SELECTOR
   -------------------------------------------- */
.equipment-selector-msg {
    padding: 10px 15px;
    margin: 8px 0;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.4;
    display: block;
    border-left: 4px solid;
}

.equipment-selector-error {
    background-color: #fef2f2;
    border-color: #f87171;
    color: #dc2626;
}

.equipment-selector-info {
    background-color: #eff6ff;
    border-color: #60a5fa;
    color: #1d4ed8;
}

.equipment-selector-success {
    background-color: #f0fdf4;
    border-color: #34d399;
    color: #059669;
}

.equipment-selector-warning {
    background-color: #fffbeb;
    border-color: #f59e0b;
    color: #d97706;
}

.equipment-selector-disabled {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.equipment-selector-disabled-label {
    opacity: 0.3 !important;
    color: #999 !important;
    cursor: not-allowed !important;
    filter: grayscale(100%) !important;
}

.equipment-selector-enabled {
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.equipment-selector-enabled-label {
    opacity: 1 !important;
    color: inherit !important;
    cursor: pointer !important;
    filter: none !important;
}

.equipment-selector-all-selected {
    background-color: #dcfce7 !important;
    border: 2px solid #16a34a !important;
    border-radius: 8px !important;
    padding: 5px !important;
}

.equipment-selector-all-selected label {
    font-weight: bold !important;
    color: #16a34a !important;
}

.equipment-selector-all-disabled {
    background-color: #f9fafb !important;
    border: 2px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 5px !important;
}

.equipment-selector-all-disabled label {
    color: #9ca3af !important;
    font-style: italic !important;
}

/* --------------------------------------------
   4. FOCUS TRAINING LIMITER
   -------------------------------------------- */
#nf-field-23-container .disabled-option {
    transition: opacity 0.3s ease;
}

#nf-field-23-container .disabled-option label {
    transition: all 0.3s ease;
}

#checkbox-limit-message-23 {
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --------------------------------------------
   GLOBAL TRANSITIONS
   -------------------------------------------- */
input[type="checkbox"],
input[type="checkbox"] + label,
input[type="checkbox"] + span,
.nf-field-element label,
.nf-field-element li,
select {
    transition: opacity 0.3s ease, color 0.3s ease, filter 0.3s ease, background-color 0.3s ease, border-color 0.3s ease !important;
}
