/* =============================== */
/* Default Template Styles         */
/* =============================== */

/* Farben */
:root {
    --primary: #00c853;
    --secondary: #8ff0a4;
    --success: #198754;
    --danger: #dc3545;
    --warning: #ffc107;
    --info: #0dcaf0;
    --light: #f8f9fa;
    --dark: #000000;
    --nav: #000000;
    --background: #282626;
    --text-color: #ffffff;
    --list-bg: #1c1f22;
    --list-text: #d0d0d0;
    --hero-text: #ffffff;
    --hover: #00b44a;
}

/* =============================== */
/* Body & Typografie              */
/* =============================== */

body {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--background);
    color: var(--text-color);
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

/* =============================== */
/* NAVBAR                         */
/* =============================== */

.navbar {
    background-color: var(--nav);
    padding: 0.8rem 1rem;
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.navbar-brand,
.navbar-nav .nav-link {
    color: var(--hero-text) !important;
    opacity: 0.85;
}

.navbar-nav .nav-link:hover {
    color: var(--hover) !important;
    opacity: 1;
}
/* Hero Bereich */
.hero1 {
    background-color: var(--hero);
    color: var(--hero-text); /* <-- neu */
    padding: 60px 200px;
    text-align: center;
    border-radius: 0;
}
/* =============================== */
/* HERO-BEREICH                   */
/* =============================== */

.hero {
    height: 70vh;
    width: 100%;
    background-image: url('../../assets/header.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.hero-content h1 {
    font-size: 3.5rem;
    font-weight: 800;
}

.hero-content p {
    font-size: 1.3rem;
    margin-top: 10px;
}

/* =============================== */
/* KATEGORIEN – ÜBERLAPPEND       */
/* =============================== */

.category-floating {
    margin-top: -120px;
    position: relative;
    z-index: 10;
}

.category-box {
    background-color: #111;
    border-radius: 12px;
    padding: 40px 20px;
    color: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.12);
}

.category-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 30px rgba(0,0,0,0.6);
}

.category-icon {
    font-size: 60px;
    color: #ffffff;
    margin-bottom: 20px;
    opacity: 0.9;
}

.category-box h3 {
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.category-box p {
    color: #ccc;
    margin-bottom: 20px;
}

/* =============================== */
/* Buttons                        */
/* =============================== */

.btn-primary {
    background-color: var(--primary);
    border: none;
    font-size: 1.2rem;
    border-radius: 8px;
    transition: 0.2s ease;
}

.btn-primary:hover {
    background-color: var(--hover);
    transform: scale(1.05);
}

.btn-outline-primary {
    color: var(--primary);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--hover);
    color: #000;
}
/* Buttons */
.btn-primary { background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background-color: var(--hover); border-color: var(--hover); }

.btn-secondary { background-color: var(--secondary); border-color: var(--secondary); }
.btn-secondary:hover { background-color: var(--hover); border-color: var(--hover); }

.btn-success { background-color: var(--success); border-color: var(--success); }
.btn-success:hover { background-color: var(--hover); border-color: var(--hover); }

.btn-danger { background-color: var(--danger); border-color: var(--danger); }
.btn-danger:hover { background-color: var(--hover); border-color: var(--hover); }

.btn-warning { background-color: var(--warning); border-color: var(--warning); }
.btn-warning:hover { background-color: var(--hover); border-color: var(--hover); }


/* =============================== */
/* Karten / Boxen                 */
/* =============================== */

.card {
    background-color: var(--list-bg);
    color: var(--list-text);
    border: 1px solid #333;
    border-radius: 8px;
    transition: transform 0.2s;
}

.card:hover {
    transform: translateY(-3px);
}

.card img {
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

//* ausklap menu */
.accordion { margin-bottom: 1rem; border:1px solid #dee2e6; border-radius:5px; overflow:hidden; }
.accordion-header { cursor: pointer; background:#6c757d; color:#fff; padding:0.5rem 1rem; font-weight:bold; }
.accordion-body { padding:0.5rem 1rem; display:none; background:#f8f9fa; color:#212529; }
.list-group{
    color: var(--list-text);
}
.text-muted{
    color: var(--list-text);
}
/* Listen-Items (Termine List View) */
.list-item {
    background-color: var(--list-bg);
    border: 1px solid #333;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 12px;
}

.list-item h5 {
    color: var(--list-text);
}

.list-item small,
.list-item p {
    color: var(--list-text);
}
/* Listen-Items */
.list-item:hover {
    background-color: var(--hover);
    color: var(--list-text);
}
/* Footer */
footer { background-color: var(--dark); color: var(--hero-text); /* <-- neu */ padding: 20px 0; text-align: center; }

/* Sticky Footer */
body { display:flex; flex-direction:column; min-height:100vh; margin:0; }
main { flex:1; }
/* Grid / Responsive */
.row-cols-1 { --bs-columns: 1; }
.row-cols-md-2 { --bs-columns-md: 2; }
.row-cols-lg-3 { --bs-columns-lg: 3; }

/* =============================== */
/* PARTNER-SLIDER                 */
/* =============================== */

.carousel-item img {
    filter: brightness(1.2);
    opacity: 0.9;
    transition: 0.2s;
}

.carousel-item img:hover {
    opacity: 1;
}
.forum-topic {
    background: var(--background);
    color: var(--text);
    border-radius: 8px;
    padding: 1rem;
}

.forum-topic:hover {
    background: var(--secondary);
}
/* =============================== */
/* Footer                         */
/* =============================== */

footer {
    background-color: var(--dark);
    color: var(--hero-text);
    padding: 20px 0;
    text-align: center;
}
