/* User Profile Styles */

.user-profile-header {
    margin-bottom: 20px;
}

.user-profile-row {
    gap: 15px;
}

/* Premium Header */
.premium-header {
    display: flex;
    gap: 30px;
    align-items: stretch;
    padding: 10px;
}

.premium-logo-box {
    flex: 0 0 160px;
    width: 160px;
    min-height: 120px; /* Rechteckig für Firmenlogos */
    display: flex;
    align-items: flex-start;
    justify-content: flex-start; /* Links bündig */
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    border: none;
    padding-right: 20px; /* Abstand zur Linie */
    border-right: 1px solid #ddd; /* Die feine graue Linie (etwas dunkler) */
}

.premium-logo-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.premium-info {
    flex: 1;
    min-width: 0; /* Wichtig für Flexbox Text-Overflow */
}

/* Badge: Gold statt Rot */
.badge-premium {
    background-color: var(--mz-two); /* Dunkelblau */
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 8px;
}

.premium-title {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 5px;
    color: #2c3e50; /* Dunkelgrau/Blau */
    line-height: 1.2;
}

.premium-links {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
    align-items: center;
}

.premium-link-item {
    display: flex;
    align-items: center;
    color: #555;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: color 0.2s;
}

.premium-link-item:hover {
    color: var(--mz-one);
}

.premium-link-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    fill: #777; /* Standardfarbe */
    transition: fill 0.2s;
}

.premium-text-box {
    position: relative;
    margin-top: 15px;
}

.premium-text-content {
    overflow: hidden;
    transition: max-height 0.3s ease;
    line-height: 1.5;
    color: #444;
}

.premium-text-content.collapsed {
    max-height: 6.5rem; /* ca. 4-5 Zeilen */
    /* Fade-Out Effekt */
    mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}

.premium-text-content.expanded {
    max-height: none;
    mask-image: none;
    -webkit-mask-image: none;
}

.btn-read-more {
    display: inline-block;
    margin-top: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mz-two);
    cursor: pointer;
    text-decoration: none;
}

.btn-read-more:hover {
    text-decoration: underline;
}

@media (max-width: 576px) {
    .premium-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .premium-links {
        justify-content: center;
    }

    .premium-logo-box {
        border-right: none;
        padding-right: 0;
    }
}

.avatar-preview-wrapper {
    margin: 0 auto;
}

.avatar-initials-input {
    font-size: 1.5rem;
    width: 100px;
    margin: 0 auto;
}

.profile-header-avatar {
    margin: 0 auto 10px auto;
}

/* --- GENERATED AVATARS --- */

/* Basis-Klasse für alle Avatare */
.gen-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 50%;
    user-select: none;
}

/* Größen-Varianten */
.gen-avatar-xl { width: 100px; height: 100px; font-size: 2.5rem; } /* Profil Header */
.gen-avatar-l  { width: 80px;  height: 80px;  font-size: 2rem; }   /* Sidebar Anzeige */
.gen-avatar-m  { width: 50px;  height: 50px;  font-size: 1.2rem; } /* Listen */
.gen-avatar-s  { width: 40px;  height: 40px;  font-size: 1rem; }   /* Meine Daten */
.gen-avatar-xs { width: 30px;  height: 30px;  font-size: 0.8rem; } /* Inline Text */

/* Farb-Palette (Material Design Colors) */
.av-bg-1 { background-color: #ef5350; } /* Red */
.av-bg-2 { background-color: #ec407a; } /* Pink */
.av-bg-3 { background-color: #ab47bc; } /* Purple */
.av-bg-4 { background-color: #7e57c2; } /* Deep Purple */
.av-bg-5 { background-color: #5c6bc0; } /* Indigo */
.av-bg-6 { background-color: #42a5f5; } /* Blue */
.av-bg-7 { background-color: #29b6f6; } /* Light Blue */
.av-bg-8 { background-color: #26c6da; } /* Cyan */
.av-bg-9 { background-color: #26a69a; } /* Teal */
.av-bg-10 { background-color: #66bb6a; } /* Light Green */
.av-bg-11 { background-color: #9ccc65; } /* Lime */
.av-bg-12 { background-color: #ffa726; } /* Orange */
.av-bg-13 { background-color: #ff7043; } /* Deep Orange */
.av-bg-14 { background-color: #8d6e63; } /* Brown */
.av-bg-15 { background-color: #78909c; } /* Blue Grey */
.av-bg-0 { background-color: #bdbdbd; } /* Default/Grey */

/* Auswahl im Modal */
.avatar-color-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 15px;
}

.avatar-color-option {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    transition: transform 0.1s;
}
.avatar-color-option:hover { transform: scale(1.1); }
.avatar-color-option.active { border-color: #333; transform: scale(1.1); }

/* Follow List Item */
.follow-item {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}
.follow-item:last-child { border-bottom: none; }

/* Follower Count Styles */
.follower-count {
    font-size: 0.9rem;
    color: #6c757d;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}
.follower-icon {
    color: #f59f00; /* Gold/Gelb passend zum Stern */
    margin-right: 4px;
}

/* Premium Avatar Highlight */
.avatar-premium {
    border: 3px solid #f1c40f !important; /* Gold */
    box-shadow: 0 0 8px rgba(241, 196, 15, 0.5); /* Leichter goldener Schein */
    box-sizing: border-box; /* Damit der Rand nicht die Größe ändert */
}

/* Premium Badge in Listen */
.badge-premium-list {
    background-color: var(--mz-two);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.6rem;
    letter-spacing: 0.5px;
    padding: 2px 5px;
    border-radius: 3px;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}