/* ── VIP Effecten ──────────────────────────────────────── */

/* Ice block naam effect */
.vip-name--ice {
    background: linear-gradient(90deg, #a8edff, #ffffff, #a8edff);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: vip-ice 3s linear infinite;
    text-shadow: none;
}
@keyframes vip-ice {
    0%   { background-position: 0% center; }
    100% { background-position: 200% center; }
}

/* Goud shimmer */
.vip-name--gold {
    background: linear-gradient(90deg, #b8860b, #ffd700, #ffec8b, #ffd700, #b8860b);
    background-size: 300% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: vip-gold 2s linear infinite;
}
@keyframes vip-gold {
    0%   { background-position: 0% center; }
    100% { background-position: 300% center; }
}

/* Regenboog */
.vip-name--rainbow {
    background: linear-gradient(90deg, #ff0000, #ff7700, #ffff00, #00ff00, #0000ff, #8b00ff, #ff0000);
    background-size: 400% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: vip-rainbow 3s linear infinite;
}
@keyframes vip-rainbow {
    0%   { background-position: 0% center; }
    100% { background-position: 400% center; }
}

/* Pulserende gloed */
.vip-name--glow {
    color: #ffcc44;
    animation: vip-glow 2s ease-in-out infinite;
}
@keyframes vip-glow {
    0%, 100% { text-shadow: 0 0 4px #ffcc44, 0 0 8px #ffcc44; }
    50%       { text-shadow: 0 0 12px #ffcc44, 0 0 24px #ffcc44, 0 0 36px #ffcc44; }
}

/* VIP kroontje animatie */
.vip-crown {
    display: inline-block;
    animation: vip-crown-bounce 1.5s ease-in-out infinite;
    -webkit-text-fill-color: initial !important;
    filter: none !important;
    opacity: 1 !important;
}
@keyframes vip-crown-bounce {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-3px); }
}

/* VIP badge — altijd geel met zwarte tekst, bold, staat los van naamkleur/thema */
.profile-vip-badge {
    display: inline-block !important;
    background: #ffd700 !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    font-weight: bold !important;
    font-size: 11px !important;
    border: none !important;
    padding: 2px 8px !important;
    vertical-align: middle !important;
    margin-left: 6px !important;
    letter-spacing: 1px !important;
    text-shadow: none !important;
    animation: none !important;
}

/* VIP badge glans */
.vip-badge {
    background: linear-gradient(135deg, #b8860b, #ffd700, #b8860b);
    color: #000;
    font-size: 9px;
    font-weight: bold;
    padding: 1px 5px;
    letter-spacing: 1px;
    animation: vip-badge-shine 2s ease-in-out infinite;
}
@keyframes vip-badge-shine {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.7; box-shadow: 0 0 6px #ffd700; }
}

/* VIP profiel rand */
.profile-vip-border {
    border: 2px solid transparent;
    background-clip: padding-box;
    animation: vip-border 3s linear infinite;
    position: relative;
}
.profile-vip-border::before {
    content: '';
    position: absolute;
    inset: -2px;
    background: linear-gradient(45deg, #ffd700, #ff8c00, #ffd700, #fffacd);
    background-size: 300% 300%;
    z-index: -1;
    animation: vip-border 3s linear infinite;
    border-radius: inherit;
}
@keyframes vip-border {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}