.avatar-ears-wrap {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
}

.avatar-ears-wrap.has-cat-ears::before,
.avatar-ears-wrap.has-cat-ears::after {
    content: '';
    position: absolute;
    width: 38%;
    height: 48%;
    top: -24%;
    transform-origin: bottom center;
    z-index: 100;
    pointer-events: none;
    background-size: 100% 100%;
    background-position: center bottom;
    background-repeat: no-repeat;
    filter: drop-shadow(0 0px 8px rgba(168, 85, 247, 0.6));
    transition: filter 0.3s ease;
}

.avatar-ears-wrap.has-cat-ears:hover::before,
.avatar-ears-wrap.has-cat-ears:hover::after {
    filter: drop-shadow(0 0px 12px rgba(244, 114, 182, 0.9));
}

.avatar-ears-wrap.has-cat-ears::before {
    left: -4%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='bgLeft' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%231e1b4b'/%3E%3Cstop offset='100%25' stop-color='%234c1d95'/%3E%3C/linearGradient%3E%3ClinearGradient id='inLeft' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23fbcfe8'/%3E%3Cstop offset='50%25' stop-color='%23f472b6'/%3E%3Cstop offset='100%25' stop-color='%23c084fc'/%3E%3C/linearGradient%3E%3Cfilter id='glowLeft' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='3' result='blur'/%3E%3CfeComposite in='SourceGraphic' in2='blur' operator='over'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M50 0 C 20 40 0 80 0 115 Q 45 105 100 115 C 90 80 75 40 50 0 Z' fill='url(%23bgLeft)'/%3E%3Cpath d='M48 20 C 28 55 12 85 12 108 Q 45 100 85 108 C 75 80 60 50 48 20 Z' fill='url(%23inLeft)' filter='url(%23glowLeft)'%3E%3Canimate attributeName='opacity' values='0.7;1;0.7' dur='2s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M30 60 C 25 80 20 100 15 110 M40 65 C 35 85 30 105 25 112 M50 70 C 45 90 40 105 35 112' stroke='%23fdf2f8' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.7'/%3E%3C/svg%3E");
    animation: cat-ear-twitch-left 5s ease-in-out infinite;
}

.avatar-ears-wrap.has-cat-ears::after {
    right: -4%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='bgRight' x1='100%25' y1='0%25' x2='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%231e1b4b'/%3E%3Cstop offset='100%25' stop-color='%234c1d95'/%3E%3C/linearGradient%3E%3ClinearGradient id='inRight' x1='100%25' y1='0%25' x2='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23fbcfe8'/%3E%3Cstop offset='50%25' stop-color='%23f472b6'/%3E%3Cstop offset='100%25' stop-color='%23c084fc'/%3E%3C/linearGradient%3E%3Cfilter id='glowRight' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='3' result='blur'/%3E%3CfeComposite in='SourceGraphic' in2='blur' operator='over'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M50 0 C 80 40 100 80 100 115 Q 55 105 0 115 C 10 80 25 40 50 0 Z' fill='url(%23bgRight)'/%3E%3Cpath d='M52 20 C 72 55 88 85 88 108 Q 55 100 15 108 C 25 80 40 50 52 20 Z' fill='url(%23inRight)' filter='url(%23glowRight)'%3E%3Canimate attributeName='opacity' values='0.7;1;0.7' dur='2.5s' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath d='M70 60 C 75 80 80 100 85 110 M60 65 C 65 85 70 105 75 112 M50 70 C 55 90 60 105 65 112' stroke='%23fdf2f8' stroke-width='1.5' stroke-linecap='round' fill='none' opacity='0.7'/%3E%3C/svg%3E");
    animation: cat-ear-twitch-right 5.5s ease-in-out infinite;
    animation-delay: 0.5s;
}

@keyframes cat-ear-twitch-left {

    0%,
    70% {
        transform: rotate(-18deg) scale(1.0);
    }

    73% {
        transform: rotate(-30deg) scale(0.95);
    }

    76% {
        transform: rotate(-12deg) scale(1.02);
    }

    79% {
        transform: rotate(-22deg);
    }

    82% {
        transform: rotate(-16deg);
    }

    85%,
    100% {
        transform: rotate(-18deg) scale(1.0);
    }
}

@keyframes cat-ear-twitch-right {

    0%,
    68% {
        transform: rotate(18deg) scale(1.0);
    }

    71% {
        transform: rotate(30deg) scale(0.95);
    }

    74% {
        transform: rotate(12deg) scale(1.02);
    }

    77% {
        transform: rotate(22deg);
    }

    80% {
        transform: rotate(16deg);
    }

    83%,
    100% {
        transform: rotate(18deg) scale(1.0);
    }
}

.decoration-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
}

.decoration-item-icon {
    font-size: 28px;
    flex-shrink: 0;
    width: 40px;
    text-align: center;
}

.decoration-item-info {
    flex: 1;
    min-width: 0;
}

.decoration-item-name {
    font-weight: 600;
    font-size: 15px;
    color: #fff;
    margin-bottom: 2px;
}

.decoration-item-desc {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
}

.decoration-toggle-btn {
    flex-shrink: 0;
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: all 0.2s ease;
}

.decoration-toggle-btn.equipped {
    background: rgba(168, 85, 247, 0.2);
    border-color: rgba(168, 85, 247, 0.4);
    color: #c084fc;
}

.decoration-toggle-btn:active {
    transform: scale(0.96);
}

.rating-item .avatar-ears-wrap {
    margin-right: 12px;
    overflow: visible !important;
}

.rating-item {
    overflow: visible !important;
}

.rating-item .rating-avatar-container,
.rating-item .avatar-ears-wrap .rating-avatar-container {
    margin-right: 0;
    overflow: visible !important;
}

.user-header-left .avatar-ears-wrap {
    align-self: center;
}

/* ====================================================
   Тост «Хочешь кошачьи ушки?»
   ==================================================== */

.cat-ears-offer-toast {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%) translateY(120%);
    z-index: 999999;
    width: min(420px, calc(100vw - 32px));
    background: linear-gradient(135deg, rgba(30, 27, 75, 0.97) 0%, rgba(76, 29, 149, 0.97) 100%);
    border: 1px solid rgba(168, 85, 247, 0.35);
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(139, 92, 246, 0.4), 0 2px 12px rgba(0,0,0,0.5);
    padding: 16px;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.cat-ears-offer-toast.visible {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
    pointer-events: all;
}

.cat-ears-offer-inner {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* Мини-аватарка с ушками в тосте */
.cat-ears-offer-avatar-mock {
    position: relative;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    background: linear-gradient(135deg, rgba(59,130,246,0.3), rgba(168,85,247,0.3));
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cat-ears-offer-ear {
    position: absolute;
    width: 36%;
    height: 42%;
    top: -22%;
    background: linear-gradient(170deg, #f472b6 0%, #a855f7 55%, #7c3aed 100%);
    clip-path: polygon(50% 0%, 3% 100%, 97% 100%);
    filter: drop-shadow(0 2px 4px rgba(139,92,246,0.6));
    animation: cat-ear-twitch-left 4s ease-in-out infinite;
}

.cat-ears-offer-ear-left  { left: 6%; }
.cat-ears-offer-ear-right {
    right: 6%;
    animation-name: cat-ear-twitch-right;
    animation-delay: 0.35s;
}

.cat-ears-offer-text {
    flex: 1;
    min-width: 0;
}

.cat-ears-offer-title {
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    margin-bottom: 3px;
}

.cat-ears-offer-sub {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
}

.cat-ears-offer-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.cat-ears-offer-btn-accept {
    padding: 9px 18px;
    background: linear-gradient(135deg, #a855f7, #ec4899);
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 4px 14px rgba(168, 85, 247, 0.45);
}

.cat-ears-offer-btn-accept:active {
    transform: scale(0.94);
}

.cat-ears-offer-btn-close {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.15);
    background: rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.5);
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.cat-ears-offer-btn-close:hover {
    background: rgba(255,255,255,0.12);
}