/* ===== MASTER SYNTAX HIGHLIGHTING CSS ===== */
/* Importiert alle spezifischen Sprach-CSS-Dateien */

@import url('code-base.css');
@import url('java-syntax.css');
@import url('javascript-syntax.css');
@import url('csharp-syntax.css');
@import url('cpp-syntax.css');
@import url('html-syntax.css');
@import url('css-syntax.css');
@import url('sql-syntax.css');
@import url('json-syntax.css');
@import url('php-syntax.css');
@import url('xaml-syntax.css');
@import url('aspnet-syntax.css');

/* ===== ZUSÄTZLICHE UTILITY-KLASSEN ===== */

/* Code-Block Container mit sprachspezifischen Headern */
.code-example {
    margin: 30px 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

/* Sprach-spezifische Header-Klassen */
.java-header { background: #d73a49; color: white; }
.javascript-header { background: #f7df1e; color: #000; }
.csharp-header { background: #239b56; color: white; }
.cpp-header { background: #00599c; color: white; }
.html-header { background: #e34f26; color: white; }
.css-header { background: #1572b6; color: white; }
.sql-header { background: #336791; color: white; }
.json-header { background: #000000; color: white; }
.php-header { background: #777bb4; color: white; }
.xaml-header { background: #512bd4; color: white; }
.aspnet-header { background: #0078d4; color: white; }

/* Copy-Button für Code-Beispiele */
.code-copy-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.3);
    color: rgba(255,255,255,0.8);
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.3s ease;
}

.code-copy-btn:hover {
    background: rgba(255,255,255,0.2);
    color: white;
}

/* Code-Block mit relativer Positionierung für Copy-Button */
.code-container {
    position: relative;
}

/* Responsive Anpassungen für Code-Blöcke */
@media (max-width: 768px) {
    .code-example {
        margin: 20px 0;
    }
    
    .code-copy-btn {
        display: none;
    }
    
    .code-content {
        font-size: 12px;
    }
}

/* Scroll-Schatten für horizontales Scrollen */
.code-content {
    background: 
        /* Schatten links */ 
        linear-gradient(90deg, rgba(0,0,0,.2) 0%, transparent 10px),
        /* Schatten rechts */
        linear-gradient(270deg, rgba(0,0,0,.2) 0%, transparent 10px),
        /* Hintergrund */
        inherit;
    background-repeat: no-repeat;
    background-size: 10px 100%, 10px 100%, auto;
    background-position: 0 0, 100% 0, 0 0;
    background-attachment: local, local, scroll;
}

/* Highlight-Effekt für wichtige Code-Zeilen */
.code-highlight {
    background-color: rgba(255, 255, 0, 0.2);
    display: block;
    margin: 0 -16px;
    padding: 0 16px;
}

/* Error-Highlight für fehlerhafte Code-Zeilen */
.code-error {
    background-color: rgba(255, 0, 0, 0.1);
    display: block;
    margin: 0 -16px;
    padding: 0 16px;
    border-left: 3px solid #f44336;
}

/* Success-Highlight für korrekte Code-Zeilen */
.code-success {
    background-color: rgba(0, 255, 0, 0.1);
    display: block;
    margin: 0 -16px;
    padding: 0 16px;
    border-left: 3px solid #4caf50;
}

/* Unterschiedliche Code-Theme-Varianten */
.theme-light .code-content {
    background: #ffffff;
    color: #24292e;
}

.theme-dark .code-content {
    background: #1e1e1e;
    color: #d4d4d4;
}

.theme-high-contrast .code-content {
    background: #000000;
    color: #ffffff;
}

.expertise-header-image {
    height: 250px;
    float: right;
    transform: translateY(-200px);
}

/* Druckversion - vereinfachte Darstellung */
@media print {
    .code-container {
        border: 1px solid #ccc;
        background: white !important;
        color: black !important;
        box-shadow: none;
    }
    
    .code-header {
        background: #f5f5f5 !important;
        color: black !important;
        border-bottom: 1px solid #ccc;
    }
    
    .code-content {
        background: white !important;
        color: black !important;
    }
    
    .code-copy-btn {
        display: none;
    }
    
    /* Vereinfachte Syntax-Farben für Druck */
    .java-keyword, .js-keyword, .cs-keyword, .cpp-keyword,
    .sql-keyword, .php-keyword, .html-tag, .css-property,
    .json-key, .xaml-element, .aspnet-server-control {
        color: black !important;
        font-weight: bold;
        text-decoration: underline;
    }
    
    .java-string, .js-string, .cs-string, .cpp-string,
    .sql-string, .php-string, .html-string, .css-string,
    .json-string, .xaml-string {
        color: black !important;
        font-style: italic;
    }
    
    .java-comment, .js-comment, .cs-comment, .cpp-comment,
    .sql-comment, .php-comment, .html-comment, .css-comment,
    .json-comment, .xaml-comment, .aspnet-comment {
        color: #666 !important;
        font-style: italic;
    }
}