/* WVL Media Appearances — Frontend Styles */

/* ── Table of contents ── */
.wvl-media-toc {
    background: #f8f9fa;
    border-left: 4px solid #0073aa;
    border-radius: 0 4px 4px 0;
    padding: 12px 16px;
    margin-bottom: 28px;
}

.wvl-media-toc ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
}

.wvl-media-toc li {
    margin: 0;
    padding: 0;
}

.wvl-media-toc a {
    font-size: 0.9em;
    text-decoration: none;
    color: #0073aa;
}

.wvl-media-toc a:hover {
    text-decoration: underline;
}

.wvl-toc-count {
    color: #888;
    font-size: 0.85em;
}

/* ── Group sections ── */
.wvl-media-group {
    margin-bottom: 36px;
}

.wvl-media-group-title {
    font-size: 1.15em;
    font-weight: 700;
    border-bottom: 2px solid #0073aa;
    padding-bottom: 6px;
    margin-bottom: 16px;
    color: #1d2327;
}

.wvl-group-count {
    font-size: 0.8em;
    color: #888;
    font-weight: 400;
}

/* ── Items list ── */
.wvl-media-list .wvl-media-items,
.wvl-media-list-flat .wvl-media-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ── Single media item ── */
.wvl-media-item {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 0 16px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    align-items: start;
}

.wvl-media-item:last-child {
    border-bottom: none;
}

.wvl-media-item-date {
    display: block;
    font-size: 0.82em;
    color: #888;
    padding-top: 2px;
    white-space: nowrap;
}

.wvl-media-item-body {
    min-width: 0;
}

.wvl-media-item-meta {
    font-size: 0.85em;
    color: #555;
    margin-bottom: 3px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

.wvl-media-item-outlet {
    font-weight: 600;
    color: #1d2327;
}

.wvl-appearance-type {
    font-style: italic;
    color: #666;
}

.wvl-media-item-title {
    font-size: 0.95em;
    line-height: 1.4;
}

.wvl-media-item-title a {
    color: inherit;
    text-decoration: none;
}

.wvl-media-item-title a:hover {
    text-decoration: underline;
    color: #0073aa;
}

.wvl-media-item-desc {
    font-size: 0.85em;
    color: #666;
    margin-top: 4px;
    line-height: 1.5;
}

/* ── Badges ── */
.wvl-badge {
    display: inline-block;
    padding: 1px 6px;
    border-radius: 3px;
    font-size: 0.75em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    vertical-align: middle;
}

.wvl-badge-newspaper  { background: #e8f0fe; color: #1a56a0; }
.wvl-badge-magazine   { background: #f3e8ff; color: #7a30a0; }
.wvl-badge-tv         { background: #fee8e8; color: #a01a1a; }
.wvl-badge-radio      { background: #fff3e0; color: #8a4e00; }
.wvl-badge-online     { background: #e0f7fa; color: #006064; }
.wvl-badge-podcast    { background: #e8f5e9; color: #1b5e20; }
.wvl-badge-agency     { background: #f5f5f5; color: #444;    }
.wvl-badge-other      { background: #f0f0f0; color: #555;    }

/* ── Language label ── */
.wvl-lang-label {
    display: inline-block;
    font-size: 0.72em;
    background: #f0f0f0;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 2px;
    padding: 1px 4px;
    vertical-align: middle;
}

/* ── Empty state ── */
.wvl-media-empty {
    color: #888;
    font-style: italic;
}

/* ── Latest media widget ── */
.wvl-latest-media {
    margin: 0;
}

.wvl-latest-media-title {
    font-size: 1.05em;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 10px;
}

.wvl-latest-media-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wvl-latest-media-item {
    padding: 6px 0;
    border-bottom: 1px solid #eee;
    font-size: 0.9em;
    line-height: 1.45;
}

.wvl-latest-media-item:last-child {
    border-bottom: none;
}

.wvl-latest-media-item .wvl-media-item-date {
    display: inline;
    font-size: inherit;
}

.wvl-latest-media-item .wvl-media-item-title a {
    color: inherit;
    text-decoration: none;
}

.wvl-latest-media-item .wvl-media-item-title a:hover {
    text-decoration: underline;
    color: #0073aa;
}

.wvl-aptype-small {
    font-size: 0.85em;
    color: #888;
}

.wvl-latest-media-more {
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 0.9em;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .wvl-media-item {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .wvl-media-item-date {
        font-size: 0.78em;
    }

    .wvl-media-toc ul {
        flex-direction: column;
        gap: 4px;
    }
}
