/* ========================================================== */
/* BASIS-DESIGN: FARBPALETTE & TYPOGRAFIE */
/* ========================================================== */
:root {
    --primary-color: #5d6c7b; /* Graublau (Grundfarbe/Header) */
    --secondary-color: #ff6401; /* Orange (Akzent/Button/Links) */
    --less-used-color: #3b4552; /* Dunkelgraublau (Footer/Box-Hintergrund) */
    --body-background: #a9c0d0; /* Helleres Graublau (Hintergrund) */
    --text-color: #ffffff; /* Weiß */
}

body {
    font-family: 'Barlow', sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--body-background);
    color: var(--text-color); 
    line-height: 1.6;
}
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Schriftarten nach Anforderung */
h1, h2 {
    font-family: 'Barlow', sans-serif; 
    font-weight: 900; /* Extrafett */
    color: var(--secondary-color);
    text-transform: uppercase;
    margin-top: 0;
}
h3 {
    font-family: 'Bree Serif', serif; 
    color: var(--secondary-color);
}
p, div, label, button, a {
    font-family: 'Barlow', sans-serif; 
}
.subtitle {
    font-family: 'Bree Serif', serif;
    font-size: 1.2em;
    color: #eee;
    margin-top: -10px;
}
.intro-text {
    font-size: 1.1em;
    font-weight: 400;
}
.key-points {
    list-style-type: none;
    padding: 0;
    margin-top: 20px;
}
.key-points li {
    background-color: var(--primary-color);
    padding: 10px;
    margin-bottom: 5px;
    border-radius: 4px;
}

/* ========================================================== */
/* HEADER & NAVIGATION (Vertikale Streifen) */
/* ========================================================== */
.header {
    background-color: var(--less-used-color); 
    padding: 10px 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    /* Zebra-Streifen Effekt */
    background: repeating-linear-gradient(
        45deg,
        var(--less-used-color),
        var(--less-used-color) 10px,
        var(--primary-color) 10px,
        var(--primary-color) 20px
    );
    border-bottom: 5px solid var(--secondary-color);
}
.header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header h1 {
    font-size: 1.8em;
    margin: 0;
    line-height: 1;
}
.header .logo-link {
    text-decoration: none;
    color: var(--text-color);
}
.main-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}
.main-nav a {
    color: var(--text-color);
    text-decoration: none;
    font-weight: 700;
    padding: 5px 0;
    position: relative;
    overflow: hidden;
    display: inline-block;
    transition: color 0.3s ease;
}
/* Link-Animation (Orange Unterstrich) */
.main-nav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 3px;
    background-color: var(--secondary-color);
    transition: left 0.3s ease;
}
.main-nav a:hover {
    color: var(--secondary-color);
}
.main-nav a:hover::after {
    left: 0;
}
.main-nav .logout-link {
    color: #ff4d4d; /* Rot für Logout */
}
.main-nav .logout-link:hover {
    color: #cc0000;
}

/* ========================================================== */
/* HAUPTINHALT & DETAIL BOXEN */
/* ========================================================== */
.content {
    padding: 40px 0;
}

.content-box, .detail-container, .form-container, .admin-container { 
    padding: 20px; 
    background: var(--primary-color); 
    border-radius: 8px; 
    box-shadow: 0 0 15px rgba(0,0,0,0.4);
    margin-bottom: 30px;
    color: var(--text-color);
}

.report-section {
    padding: 30px;
}

/* Biografien-Styling */
.meta-data p {
    font-size: 1.1em;
    border-bottom: 1px dashed #ffffff40;
    padding-bottom: 5px;
    margin-bottom: 10px;
}
.media-section {
    margin-top: 30px;
    border-top: 2px solid var(--secondary-color);
    padding-top: 20px;
}
.media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}
.media-item {
    background-color: var(--less-used-color);
    padding: 15px;
    border-radius: 5px;
}
.media-item img, .media-item video {
    max-width: 100%;
    height: auto;
    display: block;
    margin-top: 10px;
    border: 1px solid var(--body-background);
    border-radius: 4px;
}
.bio-button {
    display: inline-block;
    padding: 8px 15px;
    background-color: var(--secondary-color);
    color: var(--text-color) !important;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    margin-top: 10px;
}
.bio-button:hover {
    background-color: #cc5000;
}

/* ========================================================== */
/* FORMULARE & ADMIN */
/* ========================================================== */
.form-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.form-group {
    flex: 1 1 calc(50% - 10px); /* 2 Spalten */
}
.form-group.full-width {
    flex: 1 1 100%; /* Volle Breite */
}
label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #eee;
}
input[type="text"], 
input[type="date"], 
input[type="number"], 
input[type="file"],
textarea, 
select { 
    width: 100%;
    padding: 10px;
    border: 1px solid var(--body-background);
    border-radius: 4px;
    background-color: #f0f4f7;
    color: #333;
    box-sizing: border-box;
}
textarea {
    resize: vertical;
}
.button, button[type="submit"] {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--secondary-color); 
    color: var(--text-color);
    text-decoration: none;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 700;
    transition: background-color 0.3s;
}
.button:hover, button[type="submit"]:hover {
    background-color: #cc5000;
}
.full-width button[type="submit"] {
     flex: 1 1 100%;
     margin-top: 10px;
}

/* Admin Tab Buttons (für input.php) */
.tab-selection {
    display: flex;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--less-used-color);
}
.tab-button {
    text-decoration: none;
    color: var(--text-color);
    padding: 10px 15px;
    background-color: var(--less-used-color);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    margin-right: 5px;
    transition: background-color 0.3s;
}
.tab-button.active {
    background-color: var(--secondary-color);
    font-weight: bold;
}
.tab-button:hover:not(.active) {
    background-color: #5d6c7b;
}

/* Tabellen-Styling für Verwaltung */
.verwaltung-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    background-color: var(--less-used-color); 
    color: var(--text-color);
}
.verwaltung-table th, .verwaltung-table td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid var(--primary-color);
}
.verwaltung-table th {
    background-color: var(--secondary-color);
    color: var(--text-color);
    font-weight: 700;
}
.verwaltung-table tr:nth-child(even) {
    background-color: #3b455290; /* Dunklerer Streifen */
}
.action-links a {
    display: inline-block;
    margin-right: 10px;
    color: var(--secondary-color);
    text-decoration: none;
    font-weight: bold;
}
.action-links a:hover {
    color: var(--text-color);
}
.delete-link {
    color: #ff4d4d !important;
}
.delete-link:hover {
    color: #cc0000 !important;
}

/* Alerts */
.alert-success {
    background-color: #4CAF50; /* Grün */
    color: white;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    font-weight: bold;
}
.alert-error {
    background-color: #f44336; /* Rot */
    color: white;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    font-weight: bold;
}


/* ========================================================== */
/* FOOTER */
/* ========================================================== */
.footer {
    background-color: var(--less-used-color);
    color: var(--text-color);
    padding: 15px 0;
    text-align: center;
    border-top: 5px solid var(--secondary-color); 
}
.footer p {
    margin: 0;
    font-size: 0.9em;
}
.footer-link {
    color: var(--body-background); /* Heller Kontrast */
    text-decoration: none;
}
.footer-link:hover {
    color: var(--secondary-color);
}

/* MEDIA QUERIES (Responsivität) */
@media (max-width: 768px) {
    .header .container {
        flex-direction: column;
        text-align: center;
    }
    .main-nav {
        margin-top: 10px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .main-nav li {
        margin: 5px;
    }
    .form-group {
        flex: 1 1 100%; /* 1 Spalte auf kleinen Bildschirmen */
    }
    .tab-selection {
        flex-direction: column;
        gap: 5px;
    }
    .tab-button {
        margin-right: 0;
        border-radius: 4px;
    }
}