/*
 * VSL mobile product modal social layout.
 * Visual-only bridge: preserves the existing modal DOM, handlers, drag logic,
 * comments, voting, quote, sharing, profile, image and video behaviour.
 */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay {
        padding: 0 !important;
        overflow: hidden !important;
        background: rgba(16, 12, 16, 0.96) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-content-wrapper {
        width: 100% !important;
        max-width: 100vw !important;
        height: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding-top: var(--header-height, 55px) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #171318 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    /* Product media remains the full-width upper half of the modal. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-img-container {
        width: 100% !important;
        height: 48vh !important;
        min-height: 280px !important;
        max-height: 54vh !important;
        padding: 0 !important;
        background: #171318 !important;
        overflow: hidden !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-media-slider,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-slider-track,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .slider-slide {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .slider-slide img,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .slider-slide video,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-main-img {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 0 !important;
    }

    /* Keep the native slider indicators functional and easy to see. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-slider-dots.slider-dots {
        right: 14px !important;
        bottom: 14px !important;
        left: auto !important;
        width: auto !important;
        max-width: calc(100% - 28px) !important;
        min-height: 30px !important;
        padding: 7px 10px !important;
        gap: 6px !important;
        border-radius: 999px !important;
        background: rgba(18, 15, 18, 0.68) !important;
        box-shadow: 0 5px 18px rgba(0, 0, 0, 0.22) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        transform: none !important;
        z-index: 45 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-slider-dots .slider-dot {
        display: block !important;
        width: 7px !important;
        height: 7px !important;
        min-width: 7px !important;
        min-height: 7px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.55) !important;
        opacity: 1 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-slider-dots .slider-dot.active {
        width: 18px !important;
        border-radius: 999px !important;
        background: #fbc848 !important;
    }

    /*
     * Preserve the original bottom-sheet height and inline height updates.
     * Do not set top/height:auto here: the existing drag-to-top code owns height.
     */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar {
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        padding: 0 !important;
        gap: 0 !important;
        border: 0 !important;
        border-radius: 28px 28px 0 0 !important;
        background: #ffffff !important;
        box-shadow: 0 -12px 34px rgba(0, 0, 0, 0.23) !important;
        overflow: visible !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 50 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar[data-vsl-sheet-dragging="1"] {
        touch-action: none !important;
    }

    /* Full-width, visible drag target. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .modal-drag-indicator,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .modal-drag-indicator,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-drag-indicator {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        display: flex !important;
        visibility: visible !important;
        align-items: flex-start !important;
        justify-content: center !important;
        width: 100% !important;
        height: 34px !important;
        padding-top: 8px !important;
        margin: 0 !important;
        background: transparent !important;
        opacity: 1 !important;
        transform: none !important;
        cursor: grab !important;
        touch-action: none !important;
        user-select: none !important;
        -webkit-user-select: none !important;
        z-index: 120 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-drag-indicator:active {
        cursor: grabbing !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-drag-indicator .drag-bar {
        position: relative !important;
        display: block !important;
        width: 44px !important;
        height: 5px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #c8cbd2 !important;
        box-shadow: none !important;
        pointer-events: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-drag-indicator .drag-bar svg,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-drag-indicator .drag-bar::after {
        display: none !important;
        content: none !important;
    }

    /* Social card header. Existing elements and click handlers are unchanged. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) auto !important;
        grid-template-rows: 48px auto auto auto !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 7px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 28px 16px 13px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #e8eaf0 !important;
        border-radius: 28px 28px 0 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        z-index: 55 !important;
    }

    /* Owner avatar and seller name stay aligned in one row. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-owner-avatar-link,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-owner-avatar-link.modal-mobile-avatar {
        position: relative !important;
        inset: auto !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: start !important;
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1px solid #e1e4ea !important;
        border-radius: 50% !important;
        background: #f2f3f6 !important;
        box-shadow: none !important;
        overflow: hidden !important;
        transform: none !important;
        text-decoration: none !important;
        z-index: 4 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-owner-avatar-link img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transform: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-company-row {
        position: static !important;
        grid-column: 2 / 4 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 46px !important;
        padding: 0 42px 0 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        box-shadow: none !important;
        align-self: center !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-company-name,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-company-name-link {
        display: inline-flex !important;
        align-items: center !important;
        align-self: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #25091d !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-decoration: none !important;
    }

    /* Title and price share one line without covering one another. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-title-row,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-title-row {
        grid-column: 1 / 3 !important;
        grid-row: 2 !important;
        align-self: center !important;
        display: block !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-title,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-title {
        display: -webkit-box !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #25091d !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 20px !important;
        font-weight: 800 !important;
        line-height: 1.16 !important;
        letter-spacing: -0.35px !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        overflow-wrap: anywhere !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-price,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-price {
        grid-column: 3 !important;
        grid-row: 2 !important;
        align-self: center !important;
        justify-self: end !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 46vw !important;
        min-height: 34px !important;
        padding: 7px 12px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: rgba(74, 23, 75, 0.08) !important;
        color: #1d1720 !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        letter-spacing: -0.15px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-shadow: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc {
        position: relative !important;
        grid-column: 1 / 4 !important;
        grid-row: 3 !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        max-height: 34px !important;
        padding: 0 48px 0 0 !important;
        margin: 0 !important;
        color: #343248 !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        white-space: normal !important;
        overflow: hidden !important;
        overflow-wrap: anywhere !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc:not(.is-expanded):not(.is-empty):not(:empty)::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc:not(.is-expanded):not(.is-empty):not(:empty)::after {
        content: "+" !important;
        position: absolute !important;
        top: 50% !important;
        right: 12px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 18px !important;
        height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #4a174b !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        pointer-events: none !important;
        transform: translateY(-50%) !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc.is-expanded,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc.is-expanded {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: 28vh !important;
        padding-right: 0 !important;
        margin-right: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc.is-expanded::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc.is-expanded::after {
        display: none !important;
        content: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-view-count,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-meta-chip:not(.mobile-views-chip) {
        grid-column: 1 / 4 !important;
        grid-row: 4 !important;
        justify-self: start !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: auto !important;
        min-height: 24px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #7a8499 !important;
        font-size: 12px !important;
        font-weight: 650 !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    /* Floating concept controls; native onclick handlers remain intact. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .modal-inner-close-btn,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .modal-inner-close-btn {
        position: absolute !important;
        top: -118px !important;
        right: auto !important;
        left: 25px !important;
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        aspect-ratio: 1 / 1 !important;
        flex: 0 0 44px !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1 !important;
        font-size: 0 !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        border-radius: 50% !important;
        background: #ffffff !important;
        color: #25091d !important;
        box-shadow: 0 7px 20px rgba(0, 0, 0, 0.18) !important;
        opacity: 1 !important;
        transform: none !important;
        z-index: 115 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .modal-inner-close-btn svg,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .modal-inner-close-btn svg {
        display: block !important;
        flex: 0 0 auto !important;
        width: 20px !important;
        height: 20px !important;
        margin: 0 !important;
        color: currentColor !important;
        stroke-width: 4 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .btn-modal-quote-pill,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .btn-modal-quote-pill {
        position: absolute !important;
        top: -58px !important;
        right: auto !important;
        left: 25px !important;
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        aspect-ratio: 1 / 1 !important;
        flex: 0 0 44px !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1 !important;
        font-size: 0 !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        border-radius: 50% !important;
        background: #ffffff !important;
        color: #25091d !important;
        box-shadow: 0 7px 20px rgba(0, 0, 0, 0.18) !important;
        opacity: 1 !important;
        transform: none !important;
        z-index: 115 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .btn-modal-quote-pill span,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .btn-modal-quote-pill span {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .btn-modal-quote-pill svg,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .btn-modal-quote-pill svg {
        display: block !important;
        flex: 0 0 auto !important;
        width: 20px !important;
        height: 20px !important;
        margin: 0 !important;
        color: currentColor !important;
        stroke-width: 4 !important;
    }

    /* Comments fill the remaining sheet and continue to scroll normally. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-comments-wrapper {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        touch-action: pan-y !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-comments-wrapper .mobile-views-chip {
        display: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comments-section {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        background: #ffffff !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comments-list,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .comments-list-thread.comments-list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 16px 14px 18px !important;
        margin: 0 !important;
        gap: 0 !important;
        justify-content: flex-start !important;
        background: #ffffff !important;
        background-image: none !important;
        overflow-y: auto !important;
        touch-action: pan-y !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comments-list::before,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .comments-list-thread.comments-list::before {
        display: none !important;
        content: none !important;
        flex-grow: 0 !important;
    }

    /* Mobile social-comment layout. Existing reply, vote and thread handlers are untouched. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-item {
        position: relative !important;
        width: 100% !important;
        padding: 0 0 14px !important;
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f5 !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-item + .comment-item {
        padding-top: 14px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-avatar {
        top: 0 !important;
        left: 0 !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        border: 1px solid #e1e5ed !important;
        box-shadow: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-item + .comment-item > .comment-avatar {
        top: 14px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-avatar img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-bubble-row {
        grid-template-columns: minmax(0, 1fr) 42px !important;
        column-gap: 10px !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 52px !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-bubble {
        display: flex !important;
        justify-content: center !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding: 11px 14px !important;
        border: 0 !important;
        border-radius: 18px !important;
        background: #f3f5fa !important;
        color: #202033 !important;
        box-shadow: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-body {
        margin: 0 !important;
        color: #202033 !important;
        font-size: 14px !important;
        font-weight: 450 !important;
        line-height: 1.38 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .thread-toggle {
        top: 8px !important;
        right: 8px !important;
        width: 20px !important;
        height: 20px !important;
        border-color: #dfe3eb !important;
        box-shadow: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .vote-controls {
        width: 42px !important;
        min-width: 42px !important;
        min-height: 68px !important;
        border: 1px solid #e2e6ee !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .vote-controls .btn-vote {
        color: #748097 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .vote-controls .btn-vote svg {
        width: 16px !important;
        height: 16px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .vote-controls .upvote-count {
        color: #202033 !important;
        font-size: 12px !important;
        font-weight: 750 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-actions-footer {
        min-height: 18px !important;
        padding: 0 !important;
        margin: 5px 52px 0 52px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .footer-right-info {
        margin-right: 0 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-time,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .btn-action-text,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-replyto {
        font-size: 11px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .nested-comments {
        margin-top: 12px !important;
        margin-left: 52px !important;
        padding-left: 10px !important;
        border-left: 2px solid #edf0f5 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .empty-comments-state {
        width: 100% !important;
        min-height: 155px !important;
        padding: 22px 16px !important;
        margin: auto 0 !important;
        border: 0 !important;
        border-radius: 20px !important;
        background: #fafbfe !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .empty-doodle {
        width: 86px !important;
        margin-bottom: 8px !important;
        opacity: 0.76 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .empty-text {
        color: #7f8aa1 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.45 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-input-wrapper.main-comment-form {
        position: relative !important;
        bottom: auto !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
        margin: 0 !important;
        border: 0 !important;
        border-top: 1px solid #e8eaf0 !important;
        border-radius: 0 !important;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 -7px 20px rgba(37, 9, 29, 0.05) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        z-index: 80 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-form {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 4px 5px 4px 14px !important;
        margin: 0 !important;
        gap: 8px !important;
        border: 1px solid #e2e5eb !important;
        border-radius: 24px !important;
        background: #f5f6f9 !important;
        box-shadow: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-textarea {
        min-width: 0 !important;
        min-height: 36px !important;
        max-height: 92px !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #202033 !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        box-shadow: none !important;
        outline: none !important;
        resize: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .btn-comment-submit {
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #25091d !important;
        color: #fbc848 !important;
        box-shadow: none !important;
        opacity: 1 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper[data-guest-mode="true"] .comments-section > div:last-child {
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
        border: 0 !important;
        border-top: 1px solid #e8eaf0 !important;
        background: #ffffff !important;
        box-shadow: 0 -7px 20px rgba(37, 9, 29, 0.05) !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper[data-guest-mode="true"] .comments-section > div:last-child > a {
        height: 52px !important;
        min-height: 52px !important;
        border-radius: 8px !important;
        font-size: 15px !important;
        font-weight: 750 !important;
        box-shadow: none !important;
    }

    /* Do not suppress optional actions on pages where they are intentionally shown. */
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-actions:not(:empty) {
        flex: 0 0 auto !important;
    }
}

@media (max-width: 380px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-title,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-title {
        font-size: 18px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-price,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-price {
        max-width: 43vw !important;
        padding-right: 10px !important;
        padding-left: 10px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 767px) and (max-height: 680px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-img-container {
        height: 44vh !important;
        min-height: 235px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info {
        padding-top: 25px !important;
        padding-bottom: 10px !important;
        row-gap: 5px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .modal-inner-close-btn,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .modal-inner-close-btn {
        top: -108px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .btn-modal-quote-pill,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .btn-modal-quote-pill {
        top: -52px !important;
    }
}

/* Exact-class corrections for legacy mobile rules with higher specificity. */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn.modal-inner-close-btn--shift-right {
        top: -118px !important;
        right: auto !important;
        left: 25px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        aspect-ratio: 1 / 1 !important;
        flex-basis: 44px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .btn-modal-quote-pill.btn-modal-quote-pill--mobile,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .btn-modal-quote-pill.btn-modal-quote-pill--mobile {
        top: -58px !important;
        right: auto !important;
        left: 25px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        aspect-ratio: 1 / 1 !important;
        flex-basis: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
    }
}

@media (max-width: 767px) and (max-height: 680px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn.modal-inner-close-btn--shift-right {
        top: -108px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info .btn-modal-quote-pill.btn-modal-quote-pill--mobile,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info .btn-modal-quote-pill.btn-modal-quote-pill--mobile {
        top: -52px !important;
    }
}

/* Exact mobile control normalization: same circle, same icon width/weight, shifted right. */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .vsl-modal-section-info .modal-inner-close-btn,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile {
        right: 8px !important;
        left: auto !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        aspect-ratio: 1 / 1 !important;
        flex: 0 0 38px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 50% !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transform: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn svg,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .vsl-modal-section-info .modal-inner-close-btn svg,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile svg,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile svg {
        display: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn::before,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .vsl-modal-section-info .modal-inner-close-btn::before,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .vsl-modal-section-info .modal-inner-close-btn::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::before,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::before,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        display: block !important;
        width: 16px !important;
        height: 2.5px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: currentColor !important;
        opacity: 1 !important;
        pointer-events: none !important;
        transform-origin: center !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn::before,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .vsl-modal-section-info .modal-inner-close-btn::before {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .vsl-modal-section-info .modal-inner-close-btn::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::before,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::before {
        transform: translate(-50%, -50%) !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .vsl-modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill.btn-modal-quote-pill--mobile::after {
        transform: translate(-50%, -50%) rotate(90deg) !important;
    }
}


/* Final mobile control geometry: right aligned with 8px page padding. */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn.modal-inner-close-btn--shift-right,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn.btn-modal-quote-pill--mobile {
        right: 8px !important;
        left: auto !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        aspect-ratio: 1 / 1 !important;
        flex: 0 0 38px !important;
        flex-basis: 38px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-details-sidebar .modal-section-info .modal-inner-close-btn svg,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-section-info #modal-add-to-quote-btn svg {
        width: 16px !important;
        height: 16px !important;
        stroke-width: 3 !important;
    }
}

/* Compact mobile comments: fit two to three standard comments in the visible sheet. */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comments-list,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .comments-list-thread.comments-list {
        padding: 8px 10px 10px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-item {
        padding: 0 0 8px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-item + .comment-item {
        padding-top: 8px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-avatar {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-item + .comment-item > .comment-avatar {
        top: 8px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-bubble-row {
        grid-template-columns: minmax(0, 1fr) 34px !important;
        column-gap: 6px !important;
        padding-left: 40px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-bubble {
        min-height: 34px !important;
        padding: 7px 10px !important;
        border-radius: 13px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-body {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .thread-toggle {
        top: 6px !important;
        right: 6px !important;
        width: 18px !important;
        height: 18px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .vote-controls {
        width: 34px !important;
        min-width: 34px !important;
        min-height: 52px !important;
        border-radius: 13px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .vote-controls .btn-vote svg {
        width: 13px !important;
        height: 13px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .vote-controls .upvote-count {
        font-size: 10px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-actions-footer {
        min-height: 14px !important;
        margin: 3px 40px 0 40px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .footer-left-actions {
        gap: 8px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .footer-right-info {
        gap: 5px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-time,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .btn-action-text,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-replyto {
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .nested-comments {
        margin-top: 7px !important;
        margin-left: 40px !important;
        padding-left: 7px !important;
    }
}

/* Mobile comment alignment: match the info-card gutters and keep timestamps inside each comment bubble. */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comments-list,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .comments-list-thread.comments-list {
        padding: 8px 16px 10px !important;
        margin: 0 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-bubble {
        padding-bottom: 20px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-actions-footer {
        position: relative !important;
        display: block !important;
        width: auto !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 40px !important;
        overflow: visible !important;
        pointer-events: none !important;
        z-index: 4 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .footer-left-actions {
        position: absolute !important;
        top: -18px !important;
        left: 8px !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        pointer-events: auto !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .footer-right-info {
        position: absolute !important;
        top: -18px !important;
        right: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        pointer-events: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-time {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 12px !important;
        margin: 0 !important;
        color: #8b95a8 !important;
        font-size: 9px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}

/* Mobile description paragraph clearance: keep rich-description text away from the expand icon. */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc:not(.is-expanded),
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc:not(.is-expanded) {
        padding-right: 0 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc:not(.is-expanded) > p.vsl-modal-description-copy,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc:not(.is-expanded) > p.vsl-modal-description-copy {
        display: block !important;
        width: calc(100% - 56px) !important;
        max-width: calc(100% - 56px) !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc.is-expanded > p.vsl-modal-description-copy,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc.is-expanded > p.vsl-modal-description-copy {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 0.5rem !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc.is-expanded > p.vsl-modal-description-copy:last-child,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc.is-expanded > p.vsl-modal-description-copy:last-child {
        margin-bottom: 0 !important;
    }
}

/* Final mobile modal corrections: reserve description space, prevent avatar flash, and align views. */
@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc:not(.is-expanded),
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc:not(.is-expanded) {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 58px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc:not(.is-expanded) > p.vsl-modal-description-copy,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc:not(.is-expanded) > p.vsl-modal-description-copy {
        display: block !important;
        width: calc(100% - 3px) !important;
        max-width: calc(100% - 38px) !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc:not(.is-expanded):not(.is-empty):not(:empty)::after,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc:not(.is-expanded):not(.is-empty):not(:empty)::after {
        right: 16px !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-desc.is-expanded,
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .modal-product-desc.is-expanded {
        padding-right: 0 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-view-count {
        justify-self: start !important;
        align-self: center !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        transform: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay #modal-view-count .icon-eye {
        display: block !important;
        flex: 0 0 auto !important;
        width: 14px !important;
        height: 14px !important;
        margin: 0 !important;
        margin-left: -1px !important;
        padding: 0 !important;
        transform: none !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-avatar img {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-avatar.img-loaded img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (max-width: 767px) {
    html body:not(.vsl-video-pseudo-fullscreen-open) #fullscreen-overlay .universal-comments-wrapper .comment-avatar.img-loading-active:not(.img-loaded) .uc-avatar-fallback {
        display: flex !important;
    }
}
