.bg-violet-50  { background-color: #f5f3ff; }
.bg-violet-100 { background-color: #ede9fe; }
.bg-violet-200 { background-color: #ddd6fe; }
.bg-violet-300 { background-color: #c4b5fd; }
.bg-violet-400 { background-color: #a78bfa; }
.bg-violet-500 { background-color: #8b5cf6; }
.bg-violet-600 { background-color: #7c3aed; }
.bg-violet-700 { background-color: #6d28d9; }
.bg-violet-800 { background-color: #5b21b6; }
.bg-violet-900 { background-color: #4c1d95; }

.text-violet-500 { color: #8b5cf6; }
.text-violet-600 { color: #7c3aed; }
.text-violet-700 { color: #6d28d9; }
.text-violet-800 { color: #5b21b6; }
.text-violet-900 { color: #4c1d95; }

.border-violet-200 { border-color: #ddd6fe; }
.border-violet-300 { border-color: #c4b5fd; }
.border-violet-500 { border-color: #8b5cf6; }
.border-violet-600 { border-color: #7c3aed; }

.hover\:bg-violet-100:hover { background-color: #ede9fe; }
.hover\:bg-violet-200:hover { background-color: #ddd6fe; }
.hover\:bg-violet-700:hover { background-color: #6d28d9; }
.hover\:bg-violet-800:hover { background-color: #5b21b6; }
.hover\:border-violet-500:hover { border-color: #8b5cf6; }

.bg-amber-50  { background-color: #fffbeb; }
.bg-amber-100 { background-color: #fef3c7; }
.bg-amber-200 { background-color: #fde68a; }

.text-amber-700 { color: #b45309; }
.text-amber-800 { color: #92400e; }
.text-amber-900 { color: #78350f; }

.border-amber-200 { border-color: #fde68a; }

.bg-rose-50  { background-color: #fff1f2; }
.bg-rose-100 { background-color: #ffe4e6; }
.text-rose-600 { color: #e11d48; }
.text-rose-700 { color: #be123c; }
.text-rose-800 { color: #9f1239; }
.border-rose-200 { border-color: #fecdd3; }
.hover\:bg-rose-100:hover { background-color: #ffe4e6; }

.bg-emerald-50   { background-color: #ecfdf5; }
.bg-emerald-100  { background-color: #d1fae5; }
.bg-emerald-600  { background-color: #059669; }
.bg-emerald-700  { background-color: #047857; }
.text-emerald-600 { color: #059669; }
.text-emerald-700 { color: #047857; }
.text-emerald-800 { color: #065f46; }
.border-emerald-200 { border-color: #a7f3d0; }
.hover\:bg-emerald-700:hover { background-color: #047857; }

.aspect-\[16\/9\] { aspect-ratio: 16 / 9; }

.scroll-mt-6 { scroll-margin-top: 1.5rem; }

.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.list-decimal { list-style-type: decimal; }
.list-inside { list-style-position: inside; }
.marker\:text-slate-400::marker { color: #94a3b8; }
.marker\:font-semibold::marker { font-weight: 600; }

.tabular-nums { font-variant-numeric: tabular-nums; }

details[open] > summary .group-open\:rotate-180 { transform: rotate(180deg); }
.group:not([open]) .group-open\:rotate-180 { transform: rotate(0deg); }
details.group[open] .group-open\:rotate-180 { transform: rotate(180deg); }

.hover\:bg-\[\#0A66C2\]:hover { background-color: #0A66C2; }
.hover\:bg-\[\#1877F2\]:hover { background-color: #1877F2; }
.hover\:bg-black:hover { background-color: #000; }
.hover\:text-white:hover { color: #fff; }

.byline-row { font-size: 11px; }
@media (min-width: 640px) { .byline-row { font-size: 13px; } }
.byline-row .byline-update-label { display: none; }

:root {
    --bf-radius-card: 14px;
    --bf-radius-btn:  8px;
    --bf-radius-pill: 9999px;
    --bf-color-primary:    #4f46e5;
    --bf-color-primary-h:  #4338ca;
    --bf-color-secondary:  #6366f1;
    --bf-color-success:    #047857;
    --bf-color-success-bg: #ecfdf5;
    --bf-color-warning:    #b45309;
    --bf-color-warning-bg: #fffbeb;
    --bf-color-error:     #b91c1c;
    --bf-color-error-bg:  #fef2f2;
    --bf-color-slate-50:  #f8fafc;
    --bf-color-slate-200: #e2e8f0;
    --bf-color-slate-500: #64748b;
    --bf-color-slate-900: #0f172a;
}

.bf-pill-tab {
    position: relative;
    padding: 8px 14px;
    border: none;
    border-radius: var(--bf-radius-btn);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all .15s;
}
.bf-pill-tab.is-active {
    background: var(--bf-color-primary);
    color: #fff;
    box-shadow: 0 2px 6px -2px rgba(79, 70, 229, .4);
}
.bf-pill-tab.is-inactive {
    background: #fff;
    color: #475569;
}
.bf-pill-tab.is-inactive:hover {
    background: #eef2ff;
    color: var(--bf-color-primary-h);
}
.tp-locale-tab {
    position: relative;
    padding: 8px 14px;
    border: none;
    border-radius: var(--bf-radius-btn);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all .15s;
}
.tp-locale-tab.tab-active {
    background: var(--bf-color-primary);
    color: #fff;
    box-shadow: 0 2px 6px -2px rgba(79, 70, 229, .4);
}
.tp-locale-tab.tab-inactive {
    background: #fff;
    color: #475569;
}
.tp-locale-tab.tab-inactive:hover {
    background: #eef2ff;
    color: var(--bf-color-primary-h);
}
@media (min-width: 640px) { .byline-row .byline-update-label { display: inline; } }
