/* Bổ sung riêng cho kdb2 (đầu trang kiểu cổng thông tin cơ quan nhà nước, khối văn bản, video). */
.masthead { background: linear-gradient(90deg, #0b3d7a 0%, #1560b0 60%, #2c7fd6 100%); color: #fff; }
.masthead-logo { height: 72px; width: auto; background: #fff; border-radius: 50%; padding: 3px; }
.masthead-text { display: flex; flex-direction: column; line-height: 1.2; }
.masthead-sup { color: #ffe08a; font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; }
.masthead-name { color: #fff; font-weight: 800; font-size: clamp(1.15rem, 3vw, 1.9rem); text-transform: uppercase; text-shadow: 0 2px 6px rgba(0,0,0,.25); }
@media (max-width: 575px) { .masthead-logo { height: 52px; } }
.site-header { background: #fff; }
.site-header .nav-link { font-size: .88rem; padding: .85rem .6rem !important; }
.footer-logo-sm { height: 54px; background: #fff; border-radius: 50%; padding: 2px; }

.ticker-bar { background: #fff; border-bottom: 1px solid #e3e8f0; font-size: .9rem; }
.ticker-bar .label { background: var(--brand-red); color: #fff; font-weight: 700; padding: .45rem .9rem; white-space: nowrap; }
.ticker-bar .items { overflow: hidden; white-space: nowrap; }
.ticker-bar .items a { margin-right: 2rem; }

.featured .carousel-item img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius); }
.featured .carousel-caption { left: 0; right: 0; bottom: 0; text-align: left; padding: 2.5rem 1.25rem 1rem;
    background: linear-gradient(transparent, rgba(0,0,0,.75)); border-radius: 0 0 var(--radius) var(--radius); }
.featured .carousel-caption a { color: #fff; font-weight: 700; font-size: 1.15rem; }

.news-list-compact li { padding: .45rem 0; border-bottom: 1px dashed #dbe2ec; }
.news-list-compact li:last-child { border-bottom: 0; }

.doc-table td, .doc-table th { vertical-align: top; font-size: .92rem; }
.doc-table th { background: #eef3fa; white-space: nowrap; }
.doc-file { display: inline-flex; align-items: center; gap: .35rem; }

.video-frame { position: relative; aspect-ratio: 16/9; background: #000; border-radius: var(--radius); overflow: hidden; }
.video-frame iframe, .video-frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 10px; }

.support-item { display: flex; justify-content: space-between; gap: .5rem; padding: .4rem 0; border-bottom: 1px dashed #dbe2ec; font-size: .9rem; }
.internal-badge { background: #fff3cd; color: #7a5600; border-radius: 999px; padding: .15rem .7rem; font-size: .75rem; font-weight: 600; }
