/* ================================================================
   VKEY VCLIPS UI INTEGRITY 1.0
   Critical Discover/VClips controls must NOT depend on Tailwind CDN.
   This file re-establishes the existing VClip visual contract using
   native first-party CSS without changing Discover business logic.
   ================================================================ */

/* --- Canonical VClip viewport ------------------------------------------------ */
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] {
    position: relative !important;
    width: 100vw !important;
    height: 100dvh !important;
    overflow: hidden !important;
    background: #000 !important;
    isolation: isolate;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .v-clip-video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    z-index: 0 !important;
}

/* --- Upper controls: mute / PiP / not interested --------------------------- */
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .mute-btn,
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > [title="Mini-Reproductor (PiP)"],
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > [title="No me interesa"] {
    position: absolute !important;
    right: 20px !important;
    left: auto !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    background: rgba(0,0,0,.42) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.24) !important;
    z-index: 1420 !important;
    cursor: pointer !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .mute-btn { top: 116px !important; }
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > [title="Mini-Reproductor (PiP)"] { top: 160px !important; }
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > [title="No me interesa"] { top: 204px !important; }

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .mute-btn i,
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > [title="Mini-Reproductor (PiP)"] i,
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > [title="No me interesa"] i {
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Existing V2.1 only shows controls for the active clip. Keep that contract. */
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id]:not(.is-viewing) > .mute-btn,
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id]:not(.is-viewing) > [title="Mini-Reproductor (PiP)"],
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id]:not(.is-viewing) > [title="No me interesa"] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
}
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id].is-viewing > .mute-btn,
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id].is-viewing > [title="Mini-Reproductor (PiP)"],
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id].is-viewing > [title="No me interesa"] {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}

/* --- Creator/meta overlay --------------------------------------------------- */
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 72px 88px max(104px, calc(env(safe-area-inset-bottom) + 88px)) 22px !important;
    background: linear-gradient(to top, rgba(0,0,0,.94) 0%, rgba(0,0,0,.52) 48%, rgba(0,0,0,0) 100%) !important;
    color: #fff !important;
    z-index: 880 !important;
    pointer-events: none !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 > .flex.items-center {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 9px !important;
    pointer-events: auto !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 img[data-discover-profile-id] {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    object-fit: cover !important;
    border-radius: 999px !important;
    border: 2px solid #ffdd00 !important;
    background: #050505 !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.36) !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 img[data-discover-profile-id] + div {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 img[data-discover-profile-id] + div > div {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 2px !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 p[data-discover-profile-id] {
    margin: 0 !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.7) !important;
    pointer-events: auto !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 p[data-discover-profile-id] + button,
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 button[class*="follow-btn-"] {
    min-height: 24px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    background: rgba(0,0,0,.18) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    pointer-events: auto !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 img[data-discover-profile-id] + div > p[data-discover-profile-id] {
    color: #ffdd00 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 > p:not([data-discover-profile-id]) {
    max-width: min(82%, 520px) !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    font-weight: 650 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.75) !important;
    pointer-events: auto !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3;
}

/* --- Canonical right-side action rail -------------------------------------- */
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 {
    position: absolute !important;
    right: 14px !important;
    left: auto !important;
    bottom: max(124px, calc(env(safe-area-inset-bottom) + 108px)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
    width: 58px !important;
    z-index: 1410 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id]:not(.is-viewing) > .absolute.right-4.bottom-32 {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px) !important;
}
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id].is-viewing > .absolute.right-4.bottom-32 {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div {
    position: relative !important;
    width: 58px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    cursor: pointer !important;
    color: #fff !important;
    text-align: center !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > div:first-child {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    background: rgba(16,16,18,.43) !important;
    color: #fff !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    box-shadow: 0 9px 24px rgba(0,0,0,.28) !important;
    transition: transform .16s ease, background .16s ease !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > div:first-child[class*="bg-yellow-400"] {
    background: #ffdd00 !important;
    color: #050505 !important;
    border-color: rgba(255,221,0,.86) !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > div:first-child i {
    font-size: 24px !important;
    line-height: 1 !important;
    color: #fff !important;
}
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > div:first-child[class*="bg-yellow-400"] i {
    color: #050505 !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > span {
    display: block !important;
    max-width: 64px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    text-shadow: 0 2px 6px rgba(0,0,0,.86) !important;
    white-space: nowrap !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] .discover-vclip-reaction-main .vclip-main-reaction {
    font-size: 25px !important;
    line-height: 1 !important;
}

html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] .cart-badge-discover {
    position: absolute !important;
    top: -4px !important;
    right: 1px !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    border: 2px solid #fff !important;
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 3 !important;
}
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] .cart-badge-discover:not(.hidden) {
    display: flex !important;
}
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] .cart-badge-discover.hidden {
    display: none !important;
}

/* --- Heart feedback fallback ------------------------------------------------ */
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > [id^="heart-overlay-"] {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    z-index: 1430 !important;
}

/* Keep VKEY Signature below the native controls, never as their layout owner. */
html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .vkey-signature-outro {
    z-index: 1000 !important;
}

/* --- Compact phones --------------------------------------------------------- */
@media (max-width: 390px) {
    html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 {
        right: 10px !important;
        gap: 13px !important;
        width: 54px !important;
    }
    html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div { width: 54px !important; }
    html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > div:first-child {
        width: 44px !important;
        height: 44px !important;
    }
    html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.bottom-0.left-0 {
        padding-left: 16px !important;
        padding-right: 76px !important;
    }
}

@media (max-height: 720px) {
    html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 {
        bottom: max(104px, calc(env(safe-area-inset-bottom) + 88px)) !important;
        gap: 10px !important;
    }
    html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > div:first-child {
        width: 42px !important;
        height: 42px !important;
    }
    html body.mode-vclips[data-discover-view="videos"] #view-tab-videos .v-clip-container[data-post-id] > .absolute.right-4.bottom-32 > div > div:first-child i { font-size: 21px !important; }
}
