:root {
    --brand-blue: #1451b4;
    --brand-blue-dark: #0d3a85;
}

body {
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
    background-color: #f4f6fb;
}

.site-header .navbar {
    background: var(--brand-blue-dark);
}

.nav-btn {
    background: rgba(255, 255, 255, .08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    padding: .35rem 1rem;
    font-weight: 500;
    transition: background .15s ease, color .15s ease;
}

.nav-btn:hover {
    background: #fff;
    color: var(--brand-blue-dark);
}

.nav-btn.active {
    background: #fff;
    color: var(--brand-blue-dark);
    font-weight: 600;
}

.site-footer {
    background: #101a2e;
    color: #cbd5e1;
}

.site-footer a {
    color: #cbd5e1;
    text-decoration: none;
}

.site-footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer-text {
    color: #9aa7bd;
}

.footer-quick-links {
    display: flex;
    flex-wrap: wrap;
}

.footer-quick-links .list-inline-item:not(:last-child) {
    margin-right: .5rem;
    padding-right: .5rem;
    border-right: 1px solid rgba(255, 255, 255, .2);
}

.footer-line-1 .social-icon-link {
    width: 28px;
    height: 28px;
    font-size: .85rem;
}

.social-icon-link {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #cbd5e1 !important;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease;
}

.social-icon-link:hover {
    background: var(--brand-blue);
    color: #fff !important;
}

.hero-social-icons .social-icon-link {
    background: rgba(255, 255, 255, .15);
}

.hero-social-icons .social-icon-link:hover {
    background: #fff;
    color: var(--brand-blue) !important;
}

.live-news-badge {
    background: #c8102e;
    color: #fff;
    font-weight: 600;
    letter-spacing: .3px;
    display: inline-flex;
    align-items: center;
    animation: liveNewsPulse 1.4s infinite, liveNewsFlash 1.4s infinite;
}

.live-news-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    animation: liveNewsBlink 1.4s infinite;
}

@keyframes liveNewsBlink {
    0%, 100% { opacity: 1; }
    50% { opacity: .15; }
}

@keyframes liveNewsFlash {
    0%, 100% { background: #c8102e; }
    50% { background: #8a0b1f; }
}

@keyframes liveNewsPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(200, 16, 46, .5); }
    50% { box-shadow: 0 0 0 6px rgba(200, 16, 46, 0); }
}

.edition-card {
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(20, 81, 180, .08);
    transition: transform .15s ease;
}

.edition-card:hover {
    transform: translateY(-4px);
}

.edition-card img {
    aspect-ratio: 3/4;
    object-fit: cover;
    width: 100%;
}

.hero-banner {
    background: linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-blue-dark) 100%);
    color: #fff;
    padding: 3rem 0;
}

.viewer-page-wrap {
    position: relative;
    display: inline-block;
    margin: 0 auto;
}

.viewer-page-wrap img {
    max-width: 100%;
    display: block;
}

.mapped-area {
    position: absolute;
    border: 2px solid rgba(20, 81, 180, .8);
    background: rgba(20, 81, 180, .12);
    cursor: pointer;
    transition: background .15s ease;
}

.mapped-area:hover {
    background: rgba(20, 81, 180, .28);
}

body.night-mode {
    background: #12161f;
    filter: invert(1) hue-rotate(180deg);
}

body.night-mode img {
    filter: invert(1) hue-rotate(180deg);
}
