/* =========================
   Allgemeine Farben & Layout
   ========================= */
body, .main-header, .main-bg, .main-footer, #side-left, #side-right, #side-center {
    background-color: #2b2b2b;
}

.capmain-top, .main-body, .scapmain-top, .side-body, .sub-footer, .tbl, .textbox, .textbox:focus {
    border-color:     #474747;
    background-color: #313335;
    color:            #00b140;
}

.textbox, .textbox:focus, .textbox:hover {
    background-color: #282a2c;
}

.textbox:focus {
    box-shadow:         1px 1px 3px #2b2b2b, inset 2px 2px 2px #2b2b2b;
    -moz-box-shadow:    1px 1px 3px #2b2b2b, inset 2px 2px 2px #2b2b2b;
    -webkit-box-shadow: 1px 1px 3px #2b2b2b, inset 2px 2px 2px #2b2b2b;
    border-color:       #d7d6d2;
}

/* ===================
   Subheader / Footer
   =================== */
.sub-header {
    color:              #d3d3d3;
    border-top-color:   #474747;
    border-left-color:  #474747;
    border-right-color: #474747;
    background-color:   #313335;
    background-image:   linear-gradient(#444648, #313335);
}

.sub-header ul li a:hover {
    color:            #e5e5e5;
    background-color: #3f4143;
    background-image: linear-gradient(#525456, #3a3c3e);
}

.sub-footer {
    background-image: none;
    padding: 0 10px 10px;
    color: #d3d3d3;
}

.main-footer {
    color: #d3d3d3;
}

/* ================
   Linkfarben
   ================ */
a {
    color: #d3d3d3;
}

a.side {
    color: #7a7a7a;
}

/* ======================
   Navigation
   ====================== */
#navigation a {
    color:               #e5e5e5;
    background-color:    #313335;
    border-bottom-color: #2b2b2b;
}

#navigation li:last-child a {
    border-bottom-color: transparent;
}

#navigation a:hover {
    color:            #e5e5e5;
    background-color: #3f4143;
}

/* ======================
   Tabellen & Foren
   ====================== */
.tbl1 {
    background-color: #555;
}

.tbl2 {
    background-color: #323232;
}

.tbl-border {
    border-color: #323232;
}

.tbl1, .tbl2 {
    color: #e3e3e3;
}

.forum-caption {
    background-color: #555;
    font-weight:      normal;
    color:            #fff !important;
}

.forum-caption.forum_cat_name {
    font-weight: bold;
}

/* ==========================
   News / Artikel / Listen
   ========================== */
.news_info {
    border-top-color:    #141414;
    border-right-color:  #474747;
    border-left-color:   #474747;
    border-bottom:       1px solid #000;
    background-color:    #3f4143;
    color:               #e3e3e3;
}

/* ========================
   Struktur & Abstände
   ======================== */
#side-center {
    padding: 5px 0 0 0;
}

.spacer {
    margin-bottom: 10px;
}

hr {
    border-top: 1px dashed #141414;
    border-bottom: 1px dashed #393939;
}

/* ==========================
   HEADER + Banner + Laut.fm
   ========================== */

/* Header (Banner + Laut.fm) */
.main-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
    padding: 0; /* kein Abstand oben/unten */
    margin-bottom: 0;
    border-bottom: 1px solid #666;
}

/* Banner-Bild links */
.main-header img {
    height: 80px; /* reduziert von 100px */
}

.banner-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Laut.fm Player Box */
#header-links {
    flex: 0 0 auto;
    min-width: 240px;
    max-width: 400px;
    box-sizing: border-box;

    font-family: Arial, sans-serif;
    font-size: 9px;
    color: #fff;
    background-color: #333;
    border-radius: 6px;
    padding: 6px 8px;
    line-height: 1.4;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);

    position: relative;
    left: -10px; /* leicht nach links verschoben */
}

/* Lauftext (Track-Anzeige) */
#header-links marquee {
    color: #ccc;
    max-width: 100%;
    min-width: 200px;
    overflow: hidden;
    white-space: nowrap;
}

/* Player-Icons */
#header-links img {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

/* Links in der Laut.fm Box */
#header-links a {
    color: #0af;
    text-decoration: none;
    font-weight: bold;
    font-size: 9px;
}
#header-links a:hover {
    text-decoration: underline;
}

/* Titelzeile in der Laut.fm Box */
#header-links strong {
    color: #fff;
}
/* ==============================
   GLOBAL PANEL STILE
   ============================== */
.sub-panel {
    flex: 1 1 300px;
    background: linear-gradient(145deg, #43495a, #5b6175);
    color: #00b140;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,177,64,0.2), 0 5px 10px rgba(0,0,0,0.5);
    transition: all 0.4s ease-in-out;
    font-family: "Segoe UI", Arial, sans-serif;
    line-height: 1.5;
}

/* Panels Hover Effekt */
.sub-panel:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 40px rgba(0,177,64,0.4), 0 10px 20px rgba(0,0,0,0.6);
}

/* ==============================
   PANEL 1: PLAYLIST MODERN
   ============================== */
.panel-playlist-modern {
    background: linear-gradient(145deg, #43495a, #5b6175);
}

/* Panel-Titel */
.panel-playlist-modern h3 {
    color: #00b140;
    font-size: 1.3em;
    margin-bottom: 15px;
    text-align: center;
    text-shadow: 0 0 10px rgba(0,177,64,0.6);
    letter-spacing: 1px;
    animation: neonPulse 3s infinite ease-in-out;
    transition: transform 0.3s ease;
}

.panel-playlist-modern h3:hover {
    transform: scale(1.05);
}

/* Sendungs-Blöcke */
.playlist-block {
    background: rgba(0,0,0,0.8);
    border-left: 4px solid #00b140;
    border-radius: 8px;
    padding: 12px 15px;
    margin-bottom: 12px;
    transition: all 0.3s ease;
}

.playlist-block:hover {
    background: rgba(0,177,64,0.12);
    box-shadow: 0 0 15px rgba(0,177,64,0.3);
    transform: translateY(-3px);
}

/* Header der Playlists */
.playlist-header {
    font-weight: 700;
    color: #00b140;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-shadow: 0 0 4px rgba(0,177,64,0.6);
    animation: neonPulse 4s infinite ease-in-out;
}

/* Zeit */
.playlist-time {
    font-size: 0.85em;
    color: #00b140;
}

/* Titel der Playlists */
.playlist-title {
    font-size: 1.05em;
    font-weight: 700;
    color: #00b140;
    margin-top: 3px;
    text-shadow: 0 0 6px rgba(0,177,64,0.6);
}

/* Beschreibung */
.playlist-desc {
    font-size: 0.85em;
    color: #00b140;
}

/* Rang */
.playlist-rank {
    text-align: center;
    padding-top: 8px;
    font-size: 0.9em;
    color: #00b140;
    text-shadow: 0 0 8px rgba(0,177,64,0.7);
    animation: neonPulse 5s infinite ease-in-out;
}

.playlist-rank i {
    color: #00b140;
    margin-right: 4px;
}

/* Fehlermeldung */
.laut-error {
    color: #ff5555;
    text-align: center;
    padding: 8px;
    font-weight: bold;
    text-shadow: 0 0 6px rgba(255,0,0,0.6);
}

/* Equalizer */
.equalizer {
    display: inline-flex;
    align-items: flex-end;
    gap: 3px;
    height: 12px;
    margin-left: 6px;
}
.equalizer span {
    width: 3px;
    height: 4px;
    background-color: #00b140;
    display: block;
    animation: equalize 0.6s infinite, glowPulse 2.5s infinite ease-in-out;
    border-radius: 2px;
    box-shadow: 0 0 8px rgba(0,177,64,0.9);
}
.equalizer span:nth-child(1) { animation-delay: 0s, 0s; }
.equalizer span:nth-child(2) { animation-delay: 0.2s, 0.4s; }
.equalizer span:nth-child(3) { animation-delay: 0.4s, 0.8s; }

/* ==============================
   PANEL 2: SCHEDULE / SONGHISTORY
   ============================== */
.panel-schedule {
    background: linear-gradient(145deg, #3b3f4c, #505666);
    color: #00b140;
    border-radius: 15px;
    padding: 20px;
    text-align: center;
}

/* Links als Buttons */
.panel-schedule a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #00b140;
    color: #fff;
    text-decoration: none;
    border-radius: 20px;
    font-weight: bold;
    box-shadow: 0 4px 10px rgba(0,177,64,0.4);
    transition: all 0.3s ease;
    margin: 5px 0;
}

.panel-schedule a:hover {
    background: #00ff64;
    transform: scale(1.05);
}

/* ==============================
   PANEL 3: CHAT
   ============================== */
.panel-chat {
    background: linear-gradient(145deg, #2c2f38, #3a3d48);
    color: #00b140;
    border-radius: 15px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(0,177,64,0.2), 0 5px 10px rgba(0,0,0,0.5);
    font-family: "Segoe UI", Arial, sans-serif;
    text-align: center;
    transition: all 0.3s ease-in-out;
}

/* Hover-Effect für Panel 3 */
.panel-chat:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 15px 40px rgba(0,177,64,0.4), 0 10px 20px rgba(0,0,0,0.6);
}

/* Chat Titel mit Icon */
.panel-chat h3 {
    color: #00b140;
    font-size: 1.3em;
    text-shadow: 0 0 12px rgba(0,177,64,0.6);
    letter-spacing: 1px;
    margin-bottom: 15px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.panel-chat h3::before {
    font-family: "Font Awesome 6 Free";
    content: "\f4ad"; /* fa-comments */
    font-weight: 900;
    color: #00b140;
    margin-right: 10px;
    text-shadow: 0 0 10px rgba(0,177,64,0.8);
    animation: neonPulse 3s infinite ease-in-out, wiggle 2s infinite;
}

/* Chat Buttons */
.panel-chat a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    margin: 5px;
    background-color: #00b140;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border-radius: 20px;
    box-shadow: 0 4px 10px rgba(0,177,64,0.4);
    transition: all 0.3s ease;
    position: relative;
}

/* Pfeil vor dem Button-Text (jetzt besser ausgerichtet) */
.panel-chat a:before {
    content: '➤'; /* Pfeil als Zusatz */
    position: absolute;
    left: 15px;  /* Genau ausgerichtet, jetzt korrekt links */
    transition: left 0.3s ease;
}

/* Hover-Effekt des Buttons: Pfeil bewegt sich nach rechts */
.panel-chat a:hover {
    background-color: #00ff64;
    transform: scale(1.05);
}

.panel-chat a:hover:before {
    left: 20px;  /* Pfeil bewegt sich leicht nach rechts */
}

/* ==============================
   ANIMATIONEN
   ============================== */
@keyframes equalize {
    0% { height: 4px; opacity: 0.8; }
    50% { height: 12px; opacity: 1; }
    100% { height: 4px; opacity: 0.8; }
}

@keyframes neonPulse {
    0%, 100% {
        text-shadow: 0 0 6px rgba(0,177,64,0.3),
                     0 0 12px rgba(0,177,64,0.5),
                     0 0 20px rgba(0,177,64,0.2);
    }
    50% {
        text-shadow: 0 0 12px rgba(0,177,64,0.6),
                     0 0 25px rgba(0,177,64,0.9),
                     0 0 40px rgba(0,177,64,0.4);
    }
}

@keyframes glowPulse {
    0%, 100% { box-shadow: 0 0 6px rgba(0,177,64,0.6); }
    50% { box-shadow: 0 0 16px rgba(0,177,64,0.9); }
}

@keyframes wiggle {
    0%,100% { transform: rotate(0deg); }
    50% { transform: rotate(5deg); }
}
/* ============================= */
/* DESIGN: styles_add.css        */
/* ============================= */

/* --- Header Navigation --- */
.header-nav {
    background: #00b140;
    padding: 12px 0;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.header-links {
    display: flex;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.header-links a {
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 6px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.header-links a:hover {
    background: #4CAF50;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.header-links i {
    font-size: 18px;
}

/* --- Mobile: Links untereinander --- */
@media (max-width: 768px) {
    .header-links {
        flex-direction: column;
        gap: 12px;
        padding: 0 15px;
    }
    .header-links a {
        font-size: 17px;
        justify-content: center;
    }
    .header-links i {
        font-size: 20px;
    }
}

/* --- 3 Panels unter Navigation --- */
.combined-panels {
    display: flex;
    gap: 20px;
    margin: 25px 0;
    flex-wrap: wrap;
    justify-content: center;
}

.sub-panel {
    flex: 1 1 300px;
    max-width: 360px;
    background: #fff;
    color: #222;
    padding: 22px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.sub-panel:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 35px rgba(0,0,0,0.25);
    background: #1e1e1e;
    color: #eee;
}

.sub-panel h3 {
    font-size: 1.5em;
    margin: 0 0 16px 0;
    color: #00b140;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.sub-panel:hover h3 {
    color: #00ff64;
}

.sub-panel p {
    margin: 12px 0;
    line-height: 1.6;
    font-size: 0.95em;
}

.sub-panel a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #00b140;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-weight: bold;
    font-size: 0.9em;
    transition: all 0.3s ease;
    margin-top: 8px;
}

.sub-panel a:hover {
    background: #00ff64;
    transform: scale(1.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.sub-panel i {
    color: #00b140;
    transition: color 0.3s;
}

.sub-panel:hover i {
    color: #00ff64;
}

/* --- Laut.fm Player im Header --- */
.lautfm-box {
    width: 340px;
    max-width: 100%;
    background: #2a2a2a;
    color: #fff;
    padding: 12px;
    border-radius: 10px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    margin-left: -15px;
}

.lautfm-box h4 {
    margin: 0 0 8px;
    font-size: 14px;
    color: #00cc00;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lautfm-track-wrapper {
    height: 20px;
    overflow: hidden;
    margin-bottom: 8px;
    position: relative;
}

.lautfm-track {
    display: inline-block;
    white-space: nowrap;
    color: #00cc00;
    font-weight: bold;
    animation: marquee 16s linear infinite;
    padding-left: 100%;
}

@keyframes marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}

.lautfm-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.lautfm-icons {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}

.lautfm-icons a {
    padding: 5px 9px;
    background: #00cc00;
    color: #fff;
    font-size: 11px;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.3s;
}

.lautfm-icons a:hover { background: #009900; }
.lautfm-icons .button { background: #0077cc; }
.lautfm-icons .button:hover { background: #005fa3; }

.lautfm-status-inline {
    font-size: 12px;
    color: #ccc;
    white-space: nowrap;
}

/* --- Footer --- */
.modern-footer {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: #1a1a1a;
    color: #ccc;
    font-size: 14px;
    line-height: 1.6;
    margin-top: 50px;
    border-top: 1px solid #333;
}

.footer-ads-section {
    background: #111;
    padding: 20px 0;
    text-align: center;
}

.ads-grid {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.ad-item img {
    height: 38px;
    filter: grayscale(20%) brightness(1.1);
    transition: filter 0.3s;
}

.ad-item:hover img {
    filter: grayscale(0%) brightness(1.2);
}

.main-footer {
    padding: 40px 20px 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-nav a {
    color: #bbb;
    text-decoration: none;
    margin: 0 8px;
    transition: color 0.2s;
}

.footer-nav a:hover { color: #4A9EFF; }

.footer-social {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.footer-social a img {
    width: 28px;
    height: 28px;
    filter: brightness(0) invert(0.8);
    transition: all 0.3s;
}

.footer-social a:hover img {
    filter: brightness(0) invert(1);
    transform: scale(1.1);
]

.footer-text {
    margin-top: 15px;
    font-size: 13px;
    color: #aaa;
}

.footer-legal {
    background: #111;
    padding: 15px 0;
    text-align: center;
    font-size: 12px;
    color: #777;
    border-top: 1px solid #333;
}

/* --- Mobile Footer --- */
@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-social {
        justify-content: center;
    }
    .lautfm-box {
        width: 100%;
        margin: 15px 0 0 0;
        max-width: 340px;
    }
}
