/**
 * Ilan One Cikarma Stilleri (Ribbon + Neon Border).
 *
 * @package Necox
 * @since   3.02.0
 */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RIBBONS (Rozet Sistemi)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.necox-ribbons {
    position: absolute;
    top: 8px;
    left: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 5;
    pointer-events: none;
}

.necox-ribbon {
    display: inline-block;
    padding: 3px 10px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    line-height: 1.4;
}

/* VIP — altin/mor parlak */
.necox-ribbon--vip {
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.4);
}

/* Urgent — kirmizi */
.necox-ribbon--urgent {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%);
}

/* Featured (topad) — altin */
.necox-ribbon--featured {
    background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);
    color: #1f2937;
}

/* Hot — turuncu */
.necox-ribbon--hot {
    background: linear-gradient(135deg, #ea580c 0%, #f97316 100%);
}
.necox-ribbon--hot::before {
    content: '🔥 ';
}

/* New — yesil */
.necox-ribbon--new {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
}

/* Pinned — gri */
.necox-ribbon--pinned {
    background: #6b7280;
}
.necox-ribbon--pinned::before {
    content: '📌 ';
}

/* Negotiable — mavi */
.necox-ribbon--negotiable {
    background: linear-gradient(135deg, #0077b6 0%, #0096c7 100%);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HIGHLIGHT (kart arka plani)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.necox-has-highlight {
    background: linear-gradient(135deg, #fef3c7 0%, #fffbeb 100%) !important;
    border-color: #fbbf24 !important;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   VIP — kart parlak cerceve
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.necox-has-vip {
    position: relative;
    box-shadow: 0 4px 20px rgba(124, 58, 237, 0.25);
    border: 2px solid #a855f7;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NEON BORDER EFEKTI
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.necox-has-neon {
    position: relative;
    --necox-neon-color: #00a591;
    --necox-neon-duration: 2s;
}

.necox-has-neon.necox-neon--speed-slow   { --necox-neon-duration: 4s; }
.necox-has-neon.necox-neon--speed-normal { --necox-neon-duration: 2s; }
.necox-has-neon.necox-neon--speed-fast   { --necox-neon-duration: 1s; }

/* Ana cerceve — tum stillerde ortak */
.necox-has-neon::before {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: inherit;
    z-index: -1;
    pointer-events: none;
}

/* Solid — sabit parlak border */
.necox-neon--solid::before {
    border: 2px solid var(--necox-neon-color);
    box-shadow:
        0 0 8px var(--necox-neon-color),
        0 0 16px var(--necox-neon-color);
    z-index: 0;
    border-radius: inherit;
    inset: -2px;
    position: absolute;
    pointer-events: none;
}

/* Pulse — nefes alan */
.necox-neon--pulse::before {
    border: 2px solid var(--necox-neon-color);
    animation: necox-neon-pulse var(--necox-neon-duration) ease-in-out infinite;
}
@keyframes necox-neon-pulse {
    0%, 100% {
        box-shadow:
            0 0 4px var(--necox-neon-color),
            0 0 8px var(--necox-neon-color);
        opacity: 0.8;
    }
    50% {
        box-shadow:
            0 0 12px var(--necox-neon-color),
            0 0 24px var(--necox-neon-color);
        opacity: 1;
    }
}

/* Rainbow — conic gradient rotasyon */
.necox-neon--rainbow::before {
    padding: 2px;
    background: conic-gradient(
        from 0deg,
        #ef4444, #f59e0b, #eab308, #10b981,
        #06b6d4, #3b82f6, #8b5cf6, #ec4899, #ef4444
    );
    animation: necox-neon-rainbow var(--necox-neon-duration) linear infinite;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
}
@keyframes necox-neon-rainbow {
    from { filter: hue-rotate(0deg); }
    to   { filter: hue-rotate(360deg); }
}

/* Flow — hareket eden isik bandi */
.necox-neon--flow::before {
    padding: 2px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--necox-neon-color) 50%,
        transparent 100%
    );
    background-size: 200% 100%;
    animation: necox-neon-flow var(--necox-neon-duration) linear infinite;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    box-shadow: 0 0 10px var(--necox-neon-color);
}
@keyframes necox-neon-flow {
    from { background-position: 200% 0; }
    to   { background-position: -200% 0; }
}
