.ib-stories-wrapper {
    direction: rtl;
    width: 100%;
    position: relative;
    font-family: inherit;
}

.ib-stories-empty {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    color: #374151;
    padding: 16px;
    border-radius: 14px;
    text-align: center;
}

.ib-stories-carousel { width: 100%; }

.ib-stories-track-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 12px 0 8px;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
}

.ib-stories-track-wrap:focus { outline: none; }
.ib-stories-track-wrap.dragging { cursor: grabbing; scroll-behavior: auto; }
.ib-stories-track-wrap::-webkit-scrollbar { display: none; }

.ib-stories-track {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    width: max-content;
    min-width: max-content;
    padding: 0 6px 10px;
}

.ib-story-item {
    min-width: 112px;
    max-width: 112px;
    flex: 0 0 112px;
    text-align: center;
    cursor: pointer;
    user-select: none;
    scroll-snap-align: start;
    -webkit-tap-highlight-color: transparent;
}

.ib-story-avatar-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.ib-story-avatar {
    width: 96px;
    height: 96px;
    padding: 3px;
    box-sizing: border-box;
    border-radius: 50%;
    border: 2px solid transparent;
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        conic-gradient(from 210deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5, #feda75) border-box;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
}

.ib-story-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
    background: #ffffff;
    transform: scale(1.12);
    transition: transform 0.2s ease;
}

.ib-story-item:hover .ib-story-avatar {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
}

.ib-story-item:hover .ib-story-avatar img { transform: scale(1.15); }

.ib-story-caption {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
    color: #111827;
    padding: 0 2px;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 44px;
}

body.ib-story-modal-open { overflow: hidden !important; }

.ib-story-modal,
.ib-story-modal * { box-sizing: border-box !important; }

.ib-story-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px !important;
    direction: ltr !important;
    isolation: isolate !important;
}

.ib-story-modal.active { display: flex !important; }

.ib-story-modal-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(9, 12, 20, 0.76) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    z-index: 1 !important;
}

.ib-story-modal-dialog {
    position: relative !important;
    width: min(94vw, 430px, calc(92dvh * 9 / 16)) !important;
    aspect-ratio: 9 / 16 !important;
    max-height: 92dvh !important;
    background: #000 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    z-index: 2 !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48) !important;
    border: 0 !important;
    outline: 0 !important;
}

.ib-story-modal button,
.ib-story-modal button:hover,
.ib-story-modal button:focus,
.ib-story-modal button:active {
    -webkit-appearance: none !important;
    appearance: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    color: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    text-decoration: none !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
}

.ib-story-modal button::before,
.ib-story-modal button::after {
    content: none !important;
    display: none !important;
}

.ib-story-modal-content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
    width: 100% !important;
    height: 100% !important;
    background: #000 !important;
    overflow: hidden !important;
}

.ib-story-stage,
.ib-story-media-frame {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    background: #000 !important;
}

.ib-story-image,
.ib-story-video {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 0 !important;
    outline: 0 !important;
    max-width: none !important;
    max-height: none !important;
    background: #000 !important;
}

.ib-story-video::-webkit-media-controls,
.ib-story-video::-webkit-media-controls-enclosure,
.ib-story-video::-webkit-media-controls-panel,
.ib-story-video::-webkit-media-controls-play-button,
.ib-story-video::-webkit-media-controls-start-playback-button {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ib-story-empty-media {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    text-align: center !important;
    color: #fff !important;
    direction: rtl !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.ib-story-progress-wrap {
    display: flex !important;
    direction: ltr !important;
    gap: 5px !important;
    padding: 12px 56px 0 12px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 70 !important;
    pointer-events: none !important;
}

.ib-story-progress-item {
    flex: 1 1 auto !important;
    height: 3px !important;
    background: rgba(255, 255, 255, .32) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.ib-story-progress-fill {
    height: 100% !important;
    width: 0%;
    background: #fff !important;
    border-radius: 999px !important;
}

.ib-story-close {
    position: absolute !important;
    top: 18px !important;
    right: 12px !important;
    left: auto !important;
    z-index: 90 !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    opacity: .98 !important;
    pointer-events: auto !important;
}

.ib-story-close span {
    display: block !important;
    color: #fff !important;
    font-size: 34px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .85) !important;
}

.ib-story-close:hover { transform: scale(1.06) !important; }

.ib-story-tap-zone {
    position: absolute !important;
    top: 58px !important;
    bottom: 88px !important;
    z-index: 30 !important;
    width: 44% !important;
    opacity: 0 !important;
    pointer-events: auto !important;
}

.ib-story-prev-zone { left: 0 !important; }
.ib-story-next-zone { right: 0 !important; }

.ib-story-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 80 !important;
    width: 42px !important;
    height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: .95 !important;
    pointer-events: auto !important;
}

.ib-story-prev { left: 4px !important; }
.ib-story-next { right: 4px !important; }

.ib-story-nav span {
    display: block !important;
    color: #fff !important;
    font-size: 52px !important;
    font-weight: 200 !important;
    line-height: 1 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .85) !important;
}

.ib-story-nav:hover { transform: translateY(-50%) scale(1.08) !important; }
.ib-story-nav:disabled { opacity: .24 !important; cursor: default !important; pointer-events: none !important; }
.ib-story-tap-zone:disabled { pointer-events: none !important; }

.ib-story-action {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 16px !important;
    z-index: 65 !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 18px !important;
    pointer-events: none !important;
    direction: rtl !important;
}

.ib-story-product-btn,
.ib-story-product-btn:hover,
.ib-story-product-btn:focus {
    pointer-events: auto !important;
    min-width: 180px !important;
    max-width: 100% !important;
    height: 46px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #111827 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .28) !important;
    border: 0 !important;
    line-height: 1 !important;
}

@media (max-width: 767px) {
    .ib-stories-track { gap: 12px; padding-inline: 4px; }
    .ib-story-item { min-width: 82px; max-width: 82px; flex-basis: 82px; }
    .ib-story-avatar { width: 72px; height: 72px; padding: 2px; }
    .ib-story-caption { font-size: 12px; line-height: 1.55; min-height: 38px; }
    .ib-story-modal { padding: 0 !important; }
    .ib-story-modal-dialog {
        width: min(100vw, calc(100dvh * 9 / 16)) !important;
        height: min(100dvh, calc(100vw * 16 / 9)) !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
    }
    .ib-story-nav { width: 34px !important; height: 54px !important; }
    .ib-story-prev { left: 0 !important; }
    .ib-story-next { right: 0 !important; }
    .ib-story-nav span { font-size: 46px !important; }
    .ib-story-product-btn { min-width: 170px !important; height: 44px !important; font-size: 13px !important; }
}
