/* ===============================
   JSON Formatter & Validator
   Version: 2.0.1 (FIXED)
   =============================== */

.json-formatter-container * {
    box-sizing: border-box;
}

/* ---------- Status Badge ---------- */
.status-badge {
    transition: all 0.25s ease;
}

.status-badge.valid {
    background: #d4edda;
    color: #155724;
}

.status-badge.invalid {
    background: #f8d7da;
    color: #721c24;
}

.status-badge.processing {
    background: #cce5ff;
    color: #004085;
}

/* ---------- Output State ---------- */
.output-area {
    transition: border-color 0.3s ease, background 0.3s ease;
}

.status-badge.valid ~ .textarea-wrapper .output-area {
    border-color: #48bb78;
    background: #f0fff4;
}

.status-badge.invalid ~ .textarea-wrapper .output-area {
    border-color: #f56565;
    background: #fff5f5;
}

/* ---------- Disabled Button ---------- */
button:disabled,
.btn-secondary.disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
    transform: none !important;
    box-shadow: none !important;
}

/* ---------- Copy Button Disabled Look ---------- */
.btn-copy.disabled {
    background: #e2e8f0 !important;
    color: #a0aec0 !important;
}

/* ---------- Message Box ---------- */
.message-box {
    transition: all 0.3s ease;
}

.message-box.success {
    background: #f0fff4;
    border-left: 4px solid #48bb78;
}

.message-box.error {
    background: #fff5f5;
    border-left: 4px solid #f56565;
}

.message-box.info {
    background: #ebf8ff;
    border-left: 4px solid #4299e1;
}

.message-box.warning {
    background: #fffaf0;
    border-left: 4px solid #ed8936;
}

/* ---------- Smooth Hover Fix ---------- */
.tool-section:hover {
    transform: translateY(-2px);
}

/* ---------- Dark Theme Fixes ---------- */
.json-formatter-container[data-theme="dark"] .output-area {
    background: #2d3748;
}

.json-formatter-container[data-theme="dark"] .status-badge.valid {
    background: #22543d;
    color: #c6f6d5;
}

.json-formatter-container[data-theme="dark"] .status-badge.invalid {
    background: #742a2a;
    color: #fed7d7;
}

.json-formatter-container[data-theme="dark"] .btn-copy.disabled {
    background: #4a5568 !important;
    color: #a0aec0 !important;
}