/* YT Lister — Frontend Shortcode Styles
   Visual values are controlled via CSS custom properties.
   Defaults here are overridden by the inline CSS generated from Display Style settings. */

.ytl-video-list-container {
    --ytl-accent:       #cc0000;
    --ytl-card-bg:      #ffffff;
    --ytl-card-radius:  6px;
    --ytl-card-shadow:  0 2px 8px rgba(0, 0, 0, 0.10);
    --ytl-card-border:  none;
    --ytl-item-gap:     16px;
    --ytl-title-color:  #333333;
    --ytl-title-size:   15px;
    --ytl-date-color:   #888888;
    --ytl-thumb-radius: 4px;
    margin: 1em 0;
}

/* List layout */
.ytl-video-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--ytl-item-gap);
}

/* Grid layout */
.ytl-grid-layout {
    display: grid;
    gap: var(--ytl-item-gap);
}

.ytl-columns-1 { grid-template-columns: repeat(1, 1fr); }
.ytl-columns-2 { grid-template-columns: repeat(2, 1fr); }
.ytl-columns-3 { grid-template-columns: repeat(3, 1fr); }
.ytl-columns-4 { grid-template-columns: repeat(4, 1fr); }

/* Video item card */
.ytl-video-item {
    background:    var(--ytl-card-bg);
    border-radius: var(--ytl-card-radius);
    box-shadow:    var(--ytl-card-shadow);
    border:        var(--ytl-card-border);
    overflow:      hidden;
}

/* Thumbnail */
.ytl-thumbnail {
    display:       block;
    max-width:     100%;
    height:        auto;
    border-radius: var(--ytl-thumb-radius) var(--ytl-thumb-radius) 0 0;
}

/* Info area */
.ytl-video-info {
    padding: 8px;
}

.ytl-video-title a {
    display:         block;
    color:           var(--ytl-accent);
    font-size:       var(--ytl-title-size);
    font-weight:     600;
    line-height:     1.3;
    text-decoration: none;
    margin-bottom:   4px;
}

.ytl-video-title a:hover {
    text-decoration: underline;
}

.ytl-date {
    display:    block;
    color:      var(--ytl-date-color);
    font-size:  12px;
    margin-top: 2px;
}

.ytl-error,
.ytl-empty {
    color:      #666;
    font-style: italic;
}

/* Responsive: collapse grid to single column on mobile */
@media (max-width: 768px) {
    .ytl-grid-layout {
        grid-template-columns: 1fr !important;
    }
}
