/* RIP-specific layout layered onto the shared OSPF/EIGRP routing theme. */

.rip-series-page .welcome-section::before {
    background: linear-gradient(90deg, var(--ospf-teal), #86d5c1 72%, var(--ospf-gold)) !important;
}

.rip-series-page .welcome-section h1,
.rip-series-page .content-card h2,
.rip-series-page .content-card h3,
.rip-series-page .content-card h4 {
    background: none !important;
    color: var(--text-primary) !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: currentColor !important;
}

.rip-series-page .blog-article .welcome-section h1 {
    font-size: clamp(2.15rem, 4vw, 3.35rem) !important;
    line-height: 1.1 !important;
}

.rip-series-page .blog-article .welcome-section > p {
    font-size: clamp(1.02rem, 1.25vw, 1.16rem) !important;
    line-height: 1.7 !important;
}
.rip-hub-page .protocol-article-card { max-width: none; }

/* Readable lesson typography; fixes the undersized RIP Overview copy. */
.rip-series-page .rip-page-container { gap: clamp(1rem, 1.5vw, 1.5rem); padding-inline: clamp(1rem, 1.5vw, 1.5rem); }
.rip-series-page .blog-article .content-card { border-radius: .85rem; }
.rip-series-page .blog-article .content-card > p,
.rip-series-page .blog-article .content-card > ul,
.rip-series-page .blog-article .content-card > ol,
.rip-series-page .blog-article .content-card td {
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

.rip-series-page .blog-article .content-card h2 { font-size: clamp(1.4rem, 2.2vw, 1.9rem) !important; line-height: 1.25; }
.rip-series-page .blog-article .content-card h3 { font-size: clamp(1.12rem, 1.7vw, 1.34rem) !important; line-height: 1.35; }
.rip-series-page .article-kicker { font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.rip-series-page .rip-signal {
    background: color-mix(in srgb, var(--primary-color) 5%, var(--bg-card));
    border-color: color-mix(in srgb, var(--primary-color) 30%, var(--border-color));
}

.rip-series-page .rip-callout {
    background: color-mix(in srgb, var(--primary-color) 6%, var(--bg-secondary));
    border-left-color: var(--secondary-color);
}

.rip-series-page .sidebar > .content-card:has(.rip-side-menu) { margin-bottom: 0; order: 99; }
.rip-series-page .sidebar { display: flex; flex-direction: column; }
.rip-series-page .rip-side-menu { max-height: min(62vh, 34rem); overflow-y: auto; scrollbar-width: thin; }
.rip-series-page .rip-side-menu a { font-size: .88rem; padding: .72rem .8rem; }
.rip-series-page .main-content section[id] { scroll-margin-top: 6.25rem; }

.rip-series-page .lesson-outline-card .toc-list {
    column-gap: 2rem;
    columns: 2 18rem;
    margin-bottom: 0;
}

.rip-series-page .ospf-lesson-pagination { margin-top: 1.25rem; }
.rip-series-page .series-related-learning { margin-top: 1.25rem; }

@media (max-width: 760px) {
    .rip-series-page .rip-page-container { padding-inline: .75rem; }
    .rip-series-page .blog-article .welcome-section h1 { font-size: clamp(1.8rem, 9vw, 2.45rem) !important; }
    .rip-series-page .lesson-outline-card .toc-list { columns: 1; }
}
