.wisp-stories-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    display: block !important;
    box-sizing: border-box !important;
}

.wisp-stories-wrap .wisp-stories-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    padding: 10px 4px 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-snap-type: x mandatory !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    list-style: none !important;
}

.wisp-stories-grid::-webkit-scrollbar { 
    display: none !important; 
}

.wisp-stories-wrap .wisp-story-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    cursor: pointer !important;
    scroll-snap-align: start !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    flex: 0 0 calc((100% - ((var(--wisp-d-cols, 10) - 1) * 12px)) / var(--wisp-d-cols, 10)) !important;
    width: calc((100% - ((var(--wisp-d-cols, 10) - 1) * 12px)) / var(--wisp-d-cols, 10)) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.wisp-story-item:focus, .wisp-story-item:active { 
    outline: none !important; 
}

@media (max-width: 768px) {
    .wisp-story-item {
        flex: 0 0 calc((100% - ((var(--wisp-m-cols, 3.5) - 1) * 12px)) / var(--wisp-m-cols, 3.5)) !important;
        width: calc((100% - ((var(--wisp-m-cols, 3.5) - 1) * 12px)) / var(--wisp-m-cols, 3.5)) !important;
    }
}

/* KESİN ÇÖZÜM: Mutlak Konumlandırma Katmanları */
.wisp-circle-wrap {
    position: relative !important;
    width: var(--wisp-circle, 80px) !important;
    height: var(--wisp-circle, 80px) !important;
    border-radius: 50% !important;
    margin: 0 auto 8px auto !important;
    display: block !important;
    box-sizing: border-box !important;
    background: transparent !important;
    outline: none !important;
}

.wisp-story-item:hover .wisp-circle-wrap,
.wisp-story-item:focus .wisp-circle-wrap { 
    transform: scale(1.06) !important; 
}

/* Katman 1: Renkli Halka (Arka Plan) */
.wisp-circle-ring {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border-radius: inherit !important;
    z-index: 1 !important;
    transition: background 0.3s ease !important;
}

.wisp-story-item.wisp-unviewed .wisp-circle-ring {
    background: var(--wisp-border-color, #e1306c) !important;
}

.wisp-story-item.wisp-unviewed .wisp-circle-ring.wisp-grad-ring {
    background: linear-gradient(45deg, var(--wisp-grad-start, #f09433), var(--wisp-grad-end, #bc1888)) !important;
}

.wisp-story-item.wisp-viewed .wisp-circle-ring {
    background: var(--wisp-viewed-color, #cccccc) !important;
}

.wisp-story-item.wisp-no-border .wisp-circle-ring {
    display: none !important;
}

/* Katman 2: Resim Kapsayıcısı (Tam halkanın içine 3px boşlukla sabitlendi) */
.wisp-circle-wrap-inner {
    position: absolute !important;
    top: var(--wisp-bw, 3px) !important;
    left: var(--wisp-bw, 3px) !important;
    right: var(--wisp-bw, 3px) !important;
    bottom: var(--wisp-bw, 3px) !important;
    border-radius: inherit !important;
    z-index: 2 !important;
    background: #fff !important;
    border: 2px solid #fff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: block !important;
}

.wisp-story-item.wisp-no-border .wisp-circle-wrap-inner {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border: none !important;
}

/* Katman 3: Resim (Kapsayıcının %100'ünü kaplar) */
.wisp-circle-wrap-inner img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.wisp-circle-placeholder {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: calc(var(--wisp-circle, 80px) * 0.35) !important;
}

.wisp-story-label {
    margin: 0 !important;
    padding: 0 !important;
    font-size: var(--wisp-label-size, 13px) !important;
    line-height: 1.35 !important;
    text-align: center !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: var(--wisp-label-lines, 2) !important;
    -webkit-box-orient: vertical !important;
    word-break: break-word !important;
    color: inherit !important;
    max-width: 100% !important;
    white-space: normal !important;
}

.wisp-viewer-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none;
}

.wisp-viewer-bg-blur {
    position: absolute !important;
    inset: -60px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    filter: blur(40px) brightness(0.8) !important;
    transform: scale(1.1) !important;
    opacity: 0;
    transition: opacity 0.5s ease, background-image 0.5s ease !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.wisp-viewer-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.9) !important;
    z-index: 2 !important;
    transition: background 0.4s ease !important;
}

.wisp-viewer-container {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    padding: 20px !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
    z-index: 3 !important;
}

.wisp-viewer-container > * { 
    pointer-events: auto !important; 
}

.wisp-viewer-side {
    flex: 0 0 150px !important;
    width: 150px !important;
    cursor: pointer !important;
    opacity: 0.55 !important;
    transition: opacity 0.2s, transform 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.wisp-viewer-side:hover { 
    opacity: 0.9 !important; 
}

.wisp-side-preview {
    width: 150px !important;
    height: 266px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background-color: #1a1a1a !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    transform: scale(0.88) !important;
    transition: transform 0.2s !important;
    box-shadow: 0 10px 32px rgba(0,0,0,0.55) !important;
}

.wisp-viewer-side:hover .wisp-side-preview { 
    transform: scale(0.93) !important; 
}

.wisp-viewer-main {
    position: relative !important;
    flex: 0 0 auto !important;
    width: min(390px, calc(100vw - 380px)) !important;
    height: min(692px, calc(var(--wisp-vh, 100vh) - 40px)) !important;
    background: #111 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 24px 72px rgba(0,0,0,0.7) !important;
}

.wisp-progress-bar-wrap {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
    display: flex !important;
    gap: 3px !important;
    height: 3px !important;
}

.wisp-progress-segment {
    flex: 1 !important;
    background: rgba(255, 255, 255, 0.3) !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    min-width: 4px !important;
}

.wisp-progress-fill {
    height: 100% !important;
    background: #fff !important;
    border-radius: 2px !important;
    will-change: width !important;
    display: block !important;
}

.wisp-progress-fill.wisp-done { 
    width: 100% !important; 
    transition: none !important; 
}

.wisp-viewer-header {
    position: absolute !important;
    top: 24px !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
}

.wisp-viewer-info {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.wisp-viewer-avatar {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    background-color: rgba(255,255,255,0.2) !important;
    background-position: center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    border: 2px solid rgba(255,255,255,0.5) !important;
    display: block !important;
}

.wisp-viewer-title {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.7) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.wisp-viewer-controls {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
}

.wisp-viewer-controls button, .wisp-close-btn {
    background: none !important;
    border: none !important;
    color: #fff !important;
    cursor: pointer !important;
    padding: 6px !important;
    opacity: 0.85 !important;
    transition: opacity 0.15s, background 0.15s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    width: 34px !important;
    height: 34px !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

.wisp-viewer-controls button:hover { 
    opacity: 1 !important; 
    background: rgba(255,255,255,0.12) !important; 
}

.wisp-viewer-controls button svg { 
    display: block !important; 
    pointer-events: none !important; 
}

.wisp-mute-btn .wisp-icon-unmuted { display: none !important; }
.wisp-mute-btn .wisp-icon-muted { display: block !important; }
.wisp-mute-btn.is-unmuted .wisp-icon-unmuted { display: block !important; }
.wisp-mute-btn.is-unmuted .wisp-icon-muted { display: none !important; }

.wisp-playpause-btn .wisp-icon-play { display: none !important; }
.wisp-playpause-btn .wisp-icon-pause { display: block !important; }
.wisp-playpause-btn.is-paused .wisp-icon-play { display: block !important; }
.wisp-playpause-btn.is-paused .wisp-icon-pause { display: none !important; }

.wisp-viewer-media-wrap {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

.wisp-viewer-slide-container {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #111 !important;
    transition: opacity 0.25s ease !important;
}

.wisp-viewer-slide-container.wisp-fading { 
    opacity: 0 !important; 
}

.wisp-viewer-slide-container img,
.wisp-viewer-slide-container video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.wisp-tap-prev {
    position: absolute !important;
    top: 60px !important;
    bottom: 100px !important;
    left: 0 !important;
    width: 38% !important;
    z-index: 10 !important;
    cursor: pointer !important;
}

.wisp-tap-next {
    position: absolute !important;
    top: 60px !important;
    bottom: 100px !important;
    right: 0 !important;
    width: 62% !important;
    z-index: 10 !important;
    cursor: pointer !important;
}

.wisp-viewer-bottom {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 18 !important;
    padding: 70px 16px 24px !important;
    background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    pointer-events: none !important;
}

.wisp-slide-link {
    pointer-events: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    padding: 10px 24px !important;
    border-radius: 30px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    transition: transform 0.2s ease, background 0.2s ease !important;
    text-align: center !important;
    z-index: 9999 !important;
    position: relative !important;
    white-space: nowrap !important;
}

.wisp-slide-link:hover {
    background: rgba(255, 255, 255, 0.4) !important;
    color: #ffffff !important;
    transform: scale(1.05) !important;
}

.wisp-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 9999 !important;
    background-color: rgba(0, 0, 0, 0.55) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    backdrop-filter: blur(4px) !important;
    transition: background 0.18s, opacity 0.18s !important;
    opacity: 0;
    padding: 0 !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

.wisp-viewer-main:hover .wisp-nav { 
    opacity: 1 !important; 
}

.wisp-nav:hover { 
    background-color: rgba(0,0,0,0.85) !important; 
}

.wisp-nav-prev { left: 10px !important; }
.wisp-nav-next { right: 10px !important; }

.wisp-nav::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
    background: transparent !important;
    box-sizing: border-box !important;
    border-bottom: none !important;
    border-left: none !important;
}

.wisp-nav-prev::before {
    transform: translate(-30%, -50%) rotate(-135deg) !important;
}

.wisp-nav-next::before {
    transform: translate(-70%, -50%) rotate(45deg) !important;
}

.wisp-nav:disabled { 
    opacity: 0 !important; 
    pointer-events: none !important; 
}

@media (max-width: 900px) {
    .wisp-viewer-side { display: none !important; }
    .wisp-viewer-container {
        padding: 0 !important;
        align-items: stretch !important;
    }
    .wisp-viewer-main {
        width: 100vw !important;
        height: var(--wisp-vh, 100vh) !important;
        border-radius: 0 !important;
        flex: 1 !important;
    }
    .wisp-nav { display: none !important; }
    .wisp-tap-prev, .wisp-tap-next { top: 60px !important; bottom: 80px !important; }
}

@media (max-width: 767px) {
    .wisp-stories-wrap .wisp-story-item {
        flex: 0 0 calc((100% - ((var(--wisp-m-cols, 3.5) - 1) * 12px)) / var(--wisp-m-cols, 3.5)) !important;
        width: calc((100% - ((var(--wisp-m-cols, 3.5) - 1) * 12px)) / var(--wisp-m-cols, 3.5)) !important;
    }
    .wisp-circle-wrap {
        width: var(--wisp-circle, 60px) !important;
        height: var(--wisp-circle, 60px) !important;
    }
}

.wisp-stories-wrap.wisp-style-facebook .wisp-circle-wrap {
    width: calc(var(--wisp-circle, 80px) * 1.15) !important;
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    border-radius: 12px !important;
}

.wisp-stories-wrap.wisp-style-facebook .wisp-circle-ring {
    border-radius: 12px !important;
}

.wisp-stories-wrap.wisp-style-facebook .wisp-circle-wrap-inner {
    border-radius: 10px !important;
}

.wisp-stories-wrap.wisp-style-facebook .wisp-circle-wrap-inner img {
    border-radius: 10px !important;
}