.dms3-ytp {
    font-family: inherit;
    margin: 1rem 0;
}

.dms3-ytp-heading {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}

.dms3-ytp-grid {
    display: grid;
    gap: 15px;
}
@media (min-width:1131px){
    .dms3-ytp-grid {
        grid-template-columns: repeat(4,calc((100% - (15px * 3))/4));
    }
}
@media (max-width: 1130px) and (min-width: 831px){
    .dms3-ytp-grid {
        grid-template-columns: repeat(3,calc((100% - (15px * 2))/3));
    }
}  
@media (max-width: 830px) and (min-width: 531px){
    .dms3-ytp-grid {
        grid-template-columns: repeat(2,calc((100% - (15px * 1))/2));
    }
}

@media (max-width: 530px){
    .dms3-ytp-grid {
        grid-template-columns: repeat(1,100%);
    }
}
.dms3-ytp-card {
    border-radius: 15px;
    padding: 15px;
    background: #f7f6f4;
    overflow: hidden;
    cursor:pointer;
}
.dms3-ytp-thumb img {
    width: 100%!important;
}
.dms3-ytp-thumb {
    width: calc(100% + 30px) !important;
    height: auto;
    border-radius: 0px;
    display: block;
    margin: -15px -15px 15px;
    max-width: none;
    position: relative;
}

.dms3-ytp-thumb .overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    aspect-ratio: 16/9;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: all 0.4s ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none; 
}

.dms3-ytp-card:hover .dms3-ytp-thumb .overlay {
    opacity:1;
    transition: all 0.4s ease-in-out
}
.dms3-ytp-thumb .overlay .fa-play {
    font-size: 3rem;               
    color: white;                  
}

.dms3-ytp-title {
    font-size: 14px;
    font-weight: 600;
    margin: 8px 0 4px;
    line-height: 1.3;
}

.dms3-ytp-meta {
    font-size: 12px;
    color: #666;
}

.dms3-ytp-player iframe {
    width: 100%;
    aspect-ratio: 16/9;
    margin: 16px 0;
    border: 0;
    border-radius: 15px;
}

.dms3-ytp-btn {
    padding: 10px 16px;
    border: 1px solid #ccc;
    border-radius: 8px;
    cursor: pointer;
    background: #fafafa;
}

.dms3-ytp-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.dms3-ytp-actions {
    margin-top: 16px;
    position:relative;
    display:flex;
}

.dms3-ytp-actions:after {
    content: "";
    border-bottom: #3e4543 solid 1px !important;
    display: block;
    position: absolute;
    top: 50%;
    bottom: auto;
    right: 0;
    left: 0;
}
.dms3-ytp-loadmore {
    background-color:white;
    border:0;
    z-index: 1;
    position:relative;
    margin-right: auto;
    margin-left: auto;
    color:#3d4543;
}
.dms3-ytp-actions:has(.dms3-ytp-loadmore:disabled) {
    display:none;
}
.dms3-ytp-error {
    padding: 12px;
    border: 1px solid #e57373;
    background: #ffebee;
    border-radius: 8px;
}