

.detail-container {
    background-color: #fff;

}


.detail-title {
    font-size: 16px;
    font-weight: bold;
    color: #222222;
    line-height: 1.5;
    margin-bottom: 15px;
    padding: 0 10px 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: none;
    -webkit-user-select: none;
}


.video-player-wrapper {
    width: 100%;
    max-width: 720px;

    /* 
    iframeの場合
    margin-bottomをコメントアウト
    aspect-ratioのコメントを外す
    marginのコメントを外す
    */
    margin-bottom: 16px;
    /* aspect-ratio: 720 / 540; */
    /* margin: 0 0 20px; */

}

/* iframeの場合、.video-player-wrapper videoを全部コメントアウト */
.video-player-wrapper video {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    background: #000;
    display: block;
}

/* iframeの場合.video-player-wrapper iframeのコメントを外す */
/* .video-player-wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
} */




.no-video-box {
    position: relative;
    width: 100%;
    max-width: 720px;
    /* iframeの場合
    marginをコメントアウト
    aspect-ratioを720/540にする 
    margin-bottomのコメントを外す
    */
    margin: 0 auto 16px;
    aspect-ratio: 16 / 9;
    /* aspect-ratio: 720 / 540; */
    /* margin-bottom: 20px; */

    background: #000;
    overflow: hidden;
}

.no-video-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.no-video-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
}

.no-video-title {
    color: white;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 10px;
}

.no-video-subtitle {
    color: rgba(255,255,255,0.9);
    font-size: 14px;
    line-height: 1.6;
}

.affiliate-btn {
    display: block;
    width: 90%;
    max-width: 720px;
    background: linear-gradient(90deg, #ff9900, #ff5500);
    color: white;
    text-align: center;
    padding: 16px;
    font-size: 15px;
    font-weight: bold;
    border-radius: 8px;
    margin: 0 auto 20px;
    box-shadow: 0 4px 12px rgba(255, 85, 0, 0.2);
}

.affiliate-btn.disabled {
    background: #999;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
}

.related-videos-title {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px;
}

.video-grid {
    background-color: #ededf0;
}


@media (min-width: 770px) {

    .video-player-wrapper {
        max-width: 720px;
        margin: 0 auto 20px;
    }

    .detail-title {
        max-width: 720px;
        margin: 0 auto 15px;
    }

}
