.player-wrap {
    position: relative;
    display: inline-block;
    max-width: 100%;
    line-height: 0;
}

.player-wrap video {
    display: block;
    max-width: 100%;
    height: auto;
}

.player-dl {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 34px;
    padding: 0 14px;
    box-sizing: border-box;
    background: rgba(18, 18, 18, 0.72);
    color: #e6e6e6 !important;
    text-decoration: none !important;
    border: none;
    border-radius: 17px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    opacity: 0.8;
    transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.player-dl::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23e6e6e6" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>') no-repeat center;
    background-size: contain;
    transition: filter 0.2s ease;
}

.player-wrap:hover .player-dl {
    opacity: 1;
}

.player-dl:hover {
    background: #EBBE5E;
    color: #2a2a2a !important;
    opacity: 1;
}

.player-dl:hover::before {
    filter: invert(1);
}

.player-dl:active {
    transform: translateY(1px);
}

@media (max-width: 768px) {
    .player-dl {
        top: 8px;
        right: 8px;
        height: 30px;
        gap: 6px;
        padding: 0 12px;
        font-size: 12px;
        opacity: 1;
    }

    .player-dl::before {
        width: 14px;
        height: 14px;
    }
}
