/* ===== JSON Formatter & Validator Specific Styles ===== */

/* JSON Syntax Highlighting Colors */
.json-key {
    color: #f08d49;
    font-weight: bold;
}
.json-string {
    color: #6ab04c;
}
.json-number {
    color: #487eb0;
}
.json-boolean {
    color: #e84118;
    font-weight: bold;
}
.json-null {
    color: #7f8c8d;
    font-style: italic;
}

.json-output {
    background-color: #1e2b3a;
    color: #e9ecef;
    padding: 20px;
    border-radius: 8px;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    overflow-x: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #4a5568;
    line-height: 1.5;
    margin: 0;
}

.json-output .json-key { color: #f39c12; }
.json-output .json-string { color: #7bed9f; }
.json-output .json-number { color: #70a1ff; }
.json-output .json-boolean { color: #ff6b81; }
.json-output .json-null { color: #a4b0be; }

/* Options Row */
.options-row {
    display: flex;
    gap: 20px;
    margin-top: 15px;
    margin-bottom: 0;
    align-items: center;
}

.radio-group {
    display: flex;
    gap: 15px;
}

.radio-group label {
    display: inline-flex;
    align-items: center;
    font-weight: normal;
    margin-bottom: 0;
    cursor: pointer;
    color: #34495e;
}

.radio-group input[type="radio"] {
    margin-right: 5px;
    width: auto;
}

/* Example JSON Styling */
.example-json {
    background-color: #1e2b3a;
    color: #e9ecef;
    padding: 15px;
    border-radius: 6px;
    font-family: 'Courier New', monospace;
    font-size: 13px;
    overflow-x: auto;
    margin: 15px 0;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* Info Box (reused from common, but enhanced) */
.info-box {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    border-top: 4px solid #3498db;
}

.info-box h3 {
    color: #2c3e50;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.info-box p {
    color: #5a6268;
    font-size: 0.95rem;
}

/* Badge for keywords */
.keyword-badge {
    display: inline-block;
    background-color: #fff3e0;
    color: #e67e22;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 0.9rem;
    margin: 2px;
}

/* Status box with dynamic border */
#statusBox {
    transition: border-left-color 0.3s ease;
}

/* Error List */
.error-list {
    margin-top: 15px;
    list-style: none;
}

.error-item {
    background-color: #fee;
    border-left: 4px solid #e74c3c;
    padding: 12px;
    margin-bottom: 8px;
    border-radius: 4px;
    font-size: 0.95rem;
}

.error-line {
    font-weight: 700;
    color: #c0392b;
}

/* Responsive adjustments for JSON tool */
@media (max-width: 768px) {
    .options-row {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .json-output {
        font-size: 12px;
        padding: 12px;
    }
}