.shot-main-thumbnail {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    overflow: hidden;
}

.video-content img.shot-thumbnail,
.video-content video.shot-player {
    width: 100%;
    height: auto;
    display: block;
}

/* Right overlay container */
.video-overlay-buttons {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Left overlay container */
.video-overlay-buttons.left {

    color: var(--color-white1);

    position: absolute;
    top: 50%;
    left: 10px;
    /* Position 10px from the left edge */
    right: auto;
    /* Ensure no right offset */
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 10;
}

/* Overlay button styling (applies to both left and right buttons) */
.overlay-button,
.left-button {
    color: var(--color-white1);
    font-size: 1.2rem;
    background: rgba(0, 0, 0, 0.3);
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 2px solid var(--color-white1);
    width: 20px;
    height: 20px;
    z-index: 50;
    opacity: 0.7;
}

/* Font Awesome icon styling */
.overlay-button i {
    font-size: 20px;
    color: var(--color-white1);
}

/* Copy message styling with fly in/out animation */
.copy-message {
    display: none;
    /* Hidden by default */
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
    background: var(--color-shreddyorange);
    color: var(--color-white1);
    padding: 0.3rem 0.7rem;
    border-radius: 1rem;
    white-space: nowrap;
    font-size: 1.2rem;
    opacity: 0;
}

.copy-message.show {
    display: block;
    animation: flyInOut 1.8s forwards;
}

@keyframes flyInOut {
    0% {
        transform: translate(0, -50%);
        opacity: 0;
    }

    10% {
        transform: translate(-40%, -50%);
        opacity: 1;
    }

    90% {
        transform: translate(-40%, -50%);
        opacity: 1;
    }

    100% {
        transform: translate(0, -50%);
        opacity: 0;
    }
}

/* Prevent pointer events on the icons themselves */
.button-download i,
.button-share i {
    pointer-events: none;
}

/* Play icon overlay (centered on thumbnail) */
.play-icon-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.9);
    pointer-events: none;
    z-index: 5;
    transition: opacity 0.2s ease;
}

/* Hide play icon when video element exists */
.shot-main-thumbnail:has(video) .play-icon-overlay {
    display: none;
}

/* Play icon overlay on paused video */
.video-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.9);
    pointer-events: none;
    z-index: 5;
    display: none;
}

.video-play-overlay.visible {
    display: block;
}

/* Loading spinner overlay */
.video-loading-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    color: rgba(255, 255, 255, 0.9);
    z-index: 10;
    pointer-events: none;
    display: none;
}

.video-loading-spinner.visible {
    display: block;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.video-loading-spinner i {
    animation: spin 1s linear infinite;
}