/**
 * 播放器响应式布局样式
 * 确保播放器在各种屏幕尺寸下都能正确居中显示
 */

/* 统一所有播放器相关容器的大小 */
.player-container,
.video-player-container,
.pc-player-layout-container,
.player-container-pc,
.player-ui-pc {
    width: 100% !important;
    max-width: var(--player-size-default, 1000px) !important;
    margin: 30px auto 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    gap: 30px !important; /* 增加组件之间的间距 */
}

/* 内部播放器容器 - 确保与外部容器大小一致 */
.video-player,
.video-player-placeholder,
.player-content,
.html5-player,
.xgplayer-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* 视频元素本身 */
.html5-player video,
.xgplayer-container video,
.player-content video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* 响应式尺寸调整 - 大屏幕 (≥1200px) */
@media screen and (min-width: 1200px) {
    .player-container,
    .video-player-container,
    .pc-player-layout-container,
    .player-container-pc,
    .player-ui-pc {
        max-width: var(--player-size-large, 1200px) !important;
    }
}

/* 响应式尺寸调整 - 中等屏幕 (768px-1199px) */
@media screen and (min-width: 768px) and (max-width: 1199px) {
    .player-container,
    .video-player-container,
    .pc-player-layout-container,
    .player-container-pc,
    .player-ui-pc {
        max-width: var(--player-size-medium, 800px) !important;
    }
}

/* 响应式尺寸调整 - 小屏幕 (≤767px) */
@media screen and (max-width: 767px) {
    .player-container,
    .video-player-container,
    .pc-player-layout-container,
    .player-container-pc,
    .player-ui-pc {
        max-width: var(--player-size-small, 100%) !important;
        margin: 20px auto 15px !important;
    }
    
    .video-player,
    .video-player-placeholder {
        padding: 0 10px;
    }
    
    /* 移除.player-content的padding，确保视频填满容器 */
    .player-content {
        padding: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }
    
    /* 确保HTML5播放器在移动端正确显示 */
    .html5-player {
        width: 100% !important;
        height: 0 !important;
        padding-bottom: 56.25% !important;
        position: relative !important;
    }
    
    .html5-player video {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .html5-player .player-content {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }
}

/* 确保播放器内容区域正确显示 */
.player-content {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 播放器占位符 */
.video-player-placeholder {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 300px;
    background: #1a1a1a;
    border-radius: 8px;
}

.video-placeholder-content {
    text-align: center;
    color: #666;
}

/* 播放器信息徽章 */
.player-info-badge {
    margin-top: 15px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.player-name {
    font-weight: 600;
    color: var(--player-color-primary, #60a5fa);
}

.player-change-tip {
    font-size: 12px;
    opacity: 0.7;
    margin-left: 8px;
}

/* 确保剧集信息和推荐列表也正确继承尺寸 */
.episode-info,
.episodes-list,
.recommendations {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

/* 强制覆盖可能影响居中的内联样式 */
.pc-player-layout-container[style*="margin"],
.pc-player-layout-container[style*="width"],
.pc-player-layout-container[style*="max-width"] {
    margin: 30px auto 20px !important;
    width: 100% !important;
    max-width: var(--player-size-default, 1000px) !important;
}

/* 动画过渡效果 */
.pc-player-layout-container,
.video-player,
.html5-player {
    transition: all 0.3s ease-in-out;
}

/* 错误状态样式 */
.video-player.error .video-placeholder-content {
    color: #ff6b6b;
}

.video-player.error .player-info-badge {
    background: rgba(255, 107, 107, 0.1);
    border-color: rgba(255, 107, 107, 0.3);
}

/* 加载状态 */
.video-player.loading .video-placeholder-content i {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* 打印样式 */
@media print {
    .pc-player-layout-container {
        max-width: 100% !important;
        margin: 20px 0 !important;
    }
    
    .video-player-placeholder,
    .player-info-badge {
        display: none !important;
    }
}