/*
 * Bibliopolis Theme — help.bookrouter.com
 * Combined & refactored override
 * ─────────────────────────────────────────────────────
 * Paste into: Zoho Desk → Setup → Help Center →
 *             Customize Portal → Custom CSS
 *
 * REFACTOR NOTES (changes from previous version):
 *
 *  BUGS FIXED
 *  [1]  .KbCategory__boxOrange — stray semicolon before !important
 *       ( "border-color: #e8621a; !important;" ) made the whole
 *       declaration invalid. Fixed to "border-color: #e8621a !important;"
 *
 *  [2]  .BreadCrumbs__breadCrumbsLink rule was missing its opening
 *       brace "{" — the entire block was being silently ignored.
 *
 *  [3]  .footer-bottom @media (max-width: 640px) block was missing
 *       its closing brace "}" — broke everything below it.
 *
 *  [4]  .feat-card::before, .br-feature-cards, .br-card, .btn,
 *       .btn-welcome, .br-card-title, .br-card-desc all reference
 *       CSS variables (--border, --cream, --cobalt, --parchment,
 *       --orange, --ink, --muted, --serif) that are NEVER defined
 *       in :root here. They exist on bibdev.bibliopolis.com but
 *       NOT on help.bookrouter.com. Added them to :root.
 *
 *  REDUNDANCIES REMOVED
 *  [5]  .Layout__oneColumn / twoColumn / twoColumnReverse were
 *       declared twice (sections 3 and 12) with identical values.
 *       Merged into one block.
 *
 *  [6]  .TextArea__textarea appeared in both the Form Inputs block
 *       (section 11) and again as its own block (section 9 of the
 *       articles layer) with identical properties. Merged.
 *
 *  [7]  .Footer__footerQus and .Footer__footerDescription were each
 *       declared twice — once with Bibliopolis values and once at
 *       the bottom re-applying the original Zoho vars
 *       (--color-greyShade70, --size-base17/5) which are not navy/
 *       cream coloured, effectively undoing the earlier override.
 *       Removed the second duplicate declarations.
 *
 *  [8]  .commonStyle__zt3breadCrumbBg and .AppContainer__breadCrumbsBox
 *       were declared twice — first with background:#eef3fb, then
 *       again with background:#c0d0e8. The second wins; merged into
 *       one block with the intended value (#c0d0e8).
 *
 *  [9]  .Button__footerBtn:hover was set to the same colour as its
 *       default state (#e8621a both times), making the hover rule
 *       pointless. Changed hover to #c04d0f (darker orange) so the
 *       state is actually visible.
 *
 *  CONFLICTS RESOLVED
 *  [10] .Header__homeNavbarFixed .Header__navbar — was set to
 *       background:#1a2e5a in the main file but the comment said
 *       "turns white (matching Bibliopolis nav)". Kept the dark navy
 *       since that is what you actually have now, updated comment.
 *
 *  [11] .KbCategory__box — had "border: 1px solid #c0d0e8" without
 *       !important and "border-color: #c0d0e8 !important" from the
 *       earlier version. Consolidated to a single border shorthand.
 *
 *  ORGANISATION
 *  [12] Moved the @import to the very top (was buried mid-file).
 *  [13] Moved KB Category card rules (.KbCategory__box/boxOrange)
 *       to sit with the other KbCategory__ rules instead of floating
 *       at the top before the font import.
 *  [14] Consolidated all footer rules (Zoho Footer__ classes +
 *       custom .footer/.footer-grid classes) into one section.
 *  [15] Feature/card component classes grouped into one section.
 * ─────────────────────────────────────────────────────
 */


/* ══════════════════════════════════════════════════
   FONTS
   ══════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Playfair+Display:wght@400..900&display=swap');


/* ══════════════════════════════════════════════════
   DESIGN TOKENS — Zoho variables + Bibliopolis vars
   ══════════════════════════════════════════════════ */
:root {
    /* ── Zoho variable overrides ── */
    --color-brand:               #e8621a;
    --color-linkHover:           #e8621a;
    --color-breadCrumbTextHover: #e8621a;
    --color-buttonPrimaryBg:     #0f1e3d;
    --color-buttonPrimaryText:   #eef3fb;
    --color-link:                #2b4d9b;
    --color-breadCrumbText:      #1a2e5a;
    --color-breadCrumbBg:        #c0d0e8;
    --color-greyShade80:         #0f1e3d;   /* footer bg */
    --color-white:               #eef3fb;
    --color-greyTint90:          #eef3fb;
    --color-greyTint85:          #dce8f7;
    --color-greyTint100:         #f5f8fd;
    --color-greyTint105:         #dce8f7;
    --color-border:              #c0d0e8;
    --color-border1:             #c0d0e8;
    --color-border2:             #c0d0e8;
    --color-border3:             #c0d0e8;
    --color-border5:             #c0d0e8;
    --color-greyShade20:         #5a6e8a;
    --color-greyShade11:         #5a6e8a;
    --color-raven:               #5a6e8a;
    --color-textGreyShade35:     #5a6e8a;
    --color-grey:                #5a6e8a;
    --color-heather:             #c0d0e8;

    /* ── Bibliopolis palette (used by feature/card components) ──
       FIX [4]: these were referenced but never defined here        */
    --ink:       #1a2e5a;
    --navy:      #0f1e3d;
    --cobalt:    #2b4d9b;
    --sage:      #3a62b0;
    --muted:     #5a6e8a;
    --parchment: #dce8f7;
    --cream:     #eef3fb;
    --border:    #c0d0e8;
    --orange:    #e8621a;
    --amber:     #f0a030;
    --serif:     'Playfair Display', Georgia, serif;
    --sans:      'DM Sans', system-ui, sans-serif;
}


/* ══════════════════════════════════════════════════
   BASE
   ══════════════════════════════════════════════════ */
#portal_html,
portal,
.html {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    letter-spacing: 0.01px;
}

/* FIX [5]: merged duplicate layout background declarations */
.body,
.Layout__oneColumn,
.Layout__twoColumn,
.Layout__twoColumn2,
.Layout__twoColumnReverse {
    background-color: #eef3fb !important;
    padding: 1.125rem 0 3.125rem;
}

.AppContainer__homePage {
    background-color: #eef3fb !important;
}

h1, h2, h3 {
    font-weight: 500;
}


/* ══════════════════════════════════════════════════
   HEADER / HERO BANNER
   ══════════════════════════════════════════════════ */
.Header__header {
    background-image: linear-gradient(
        to bottom,
        rgba(15,30,61,0.88) 0%,
        rgba(43,77,155,0.75) 100%
    ) !important;
    background-color: #0f1e3d !important;
    background-size: cover !important;
}

.Header__homeContent .Header__searchSection {
    padding: 5.25rem 0 4.25rem 0;
}

.Header__searchTitle {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: clamp(2rem, 4vw, 2.3rem) !important;
    color: #ffffff !important;
    letter-spacing: 0 !important;
    text-align: left;
    text-shadow: none !important;
}

.Header__description {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    color: rgba(255,255,255,0.65) !important;
}

.Header__name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #ffffff !important;
}

.Header__logo img {
    display: block;
    max-height: 3rem;
    max-width: 11.5rem;
    min-height: auto;
}

/* FIX [10]: fixed nav is navy (not white) — updated comment */
.Header__homeContent.Header__homeNavbarFixed .Header__navbar,
.Header__homeNavbarFixed .Header__navbar {
    background-color: #1a2e5a !important;
    border-bottom: 5px solid #2b4d9b !important;
}

.Header__tabsTab {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.85) !important;
}

.Header__tabsTab.Header__active,
.Header__tabsTab:hover {
    color: #e8621a !important;
}

.Header__tabsTab.Header__active:after,
.Header__tabsTab:hover:after {
    border-bottom-color: #e8621a !important;
}

/* Fixed-nav overrides */
.Header__homeNavbarFixed .Header__navbar .Header__tabsTab {
    color: #5a6e8a !important;
}
.Header__homeNavbarFixed .Header__navbar .Header__tabsTab:hover,
.Header__homeNavbarFixed .Header__navbar .Header__tabsTab.Header__active {
    color: #e8621a !important;
}

.Header__homeNavbarFixed .Header__menu,
.Header__homeNavbarFixed .Header__menu:after,
.Header__homeNavbarFixed .Header__menu:before {
    background-color: #e8621a !important;
}

.globalfixednav .globalSignin,
.globalfixednav .globalSignup {
    color: #1a2e5a !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
}


/* ══════════════════════════════════════════════════
   SEARCH BUTTON
   ══════════════════════════════════════════════════ */
.Button__search {
    background-color: #0f1e3d !important;
    border-radius: 0 3px 3px 0 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    transition: background 0.25s !important;
}
.Button__search:hover {
    background-color: #e8621a !important;
}


/* ══════════════════════════════════════════════════
   BREADCRUMBS
   FIX [2]: added missing opening brace
   FIX [8]: merged duplicate background declarations; #c0d0e8 wins
   ══════════════════════════════════════════════════ */
.BreadCrumbs__breadCrumbsLink,
.BreadCrumbs__breadCrumbsLastLink {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #5a6e8a !important;
    text-decoration: none !important;
}

.BreadCrumbs__breadCrumbsLink:hover {
    color: #e8621a !important;
}

.BreadCrumbs__breadcrumbsView {
    font-size: var(--size-base4);
}

.BreadCrumbs__breadcrumbsView ul li:last-child {
    color: #e8621a;
}

.AppContainer__breadCrumbsBox {
    background: #c0d0e8 !important;
    color: #e8621a !important;
    text-transform: uppercase;
}


/* ══════════════════════════════════════════════════
   PAGE HEADINGS & BODY TEXT
   ══════════════════════════════════════════════════ */
.commonStyle__detailHeader {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
    line-height: 1.3 !important;
}

.commonStyle__headerMid {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.commonStyle__widgetHeading {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #5a6e8a !important;
    border-bottom: 0rem solid #d7d6d6;
    border-bottom-color: #c0d0e8 !important;
}

.commonStyle__tAlignCenter {
    text-align: left;
}

.commonStyle__zt3Link,
.themeLink {
    color: #2b4d9b !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}
.commonStyle__zt3Link:hover,
.themeLink:hover {
    color: #e8621a !important;
}

.DepartmentList__title,
.Departmentcontainer__title,
.LayoutListContainer__title,
.LayoutListContainer__departmentTitle {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.DepartmentList__description,
.LayoutListContainer__description {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    color: #5a6e8a !important;
    line-height: 1.7 !important;
}


/* ══════════════════════════════════════════════════
   DEPARTMENT / CATEGORY CARDS (DepartmentList__)
   ══════════════════════════════════════════════════ */
.DepartmentList__deptListItem {
    border-color: #c0d0e8 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.DepartmentList__deptListItem:hover {
    border-color: #2b4d9b !important;
    box-shadow: 0 4px 20px rgba(26,46,90,0.08) !important;
}

.DepartmentList__departmentContent {
    border-top-color: #c0d0e8 !important;
}

.DepartmentList__formCount {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #5a6e8a !important;
}


/* ══════════════════════════════════════════════════
   KB CATEGORY CARDS (KbCategory__)
   FIX [1]:  removed stray semicolon in KbCategory__boxOrange
   FIX [11]: consolidated border shorthand in KbCategory__box
   ══════════════════════════════════════════════════ */
.KbCategory__box {
    border: 1px solid #c0d0e8 !important;
    box-shadow: none !important;
    border-radius: 2px !important;
    transition: border-color .2s, box-shadow .2s !important;
    margin: 0 1rem 1 0;
}

.KbCategory__box:hover {
    border-color: #2b4d9b !important;
    box-shadow: 0 4px 20px rgba(26,46,90,0.08) !important;
}

/* Variant with orange border accent */
.KbCategory__boxOrange {
    border: 1px solid #f0a030 !important;
    box-shadow: none !important;
    border-radius: 2px !important;
    transition: border-color .2s, box-shadow .2s !important;
    width: calc(99%);
    margin: 0 .5rem .5rem 0;
}

.KbCategory__boxOrange:hover {
    border-color: #e8621a !important;
    box-shadow: 0 4px 20px rgba(26,46,90,0.08) !important;
}

.KbCategory__boxInner {
    padding: 1.25rem 1rem;
}

/* Every 3rd card — remove right margin on desktop */
@media only screen and (min-width: 1025px) {
    .KbCategory__box:nth-child(3n-3) {
        margin-right: 0;
    }
}

.KbCategory__topic a {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #2b4d9b !important;
    text-decoration: none !important;
}

.KbCategory__topic .KbCategory__deptText {
    color: #1a2e5a !important;
}

.KbCategory__topic .KbCategory__deptText:hover {
    color: #e8621a !important;
}

.KbCategory__topicContent {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    color: #5a6e8a !important;
    margin: .2rem .5rem 0 0;
}

.KbCategory__followCount {
    background: #dce8f7 !important;
    border-radius: 0 !important;
    color: #5a6e8a !important;
}
.KbCategory__followCount:hover {
    background: #e8621a !important;
    color: #fff !important;
}

.KbCategory__followTxt {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 400 !important;
    color: #1a2e5a !important;
}

.KbCategory__priveteDept {
    background-color: #dce8f7 !important;
    border-color: #c0d0e8 !important;
    border-radius: 0 !important;
    color: #5a6e8a !important;
}

.KbCategory__popupList:hover {
    background: #eef3fb !important;
    color: #e8621a !important;
}
.KbCategory__popupList:hover svg {
    color: #e8621a !important;
}


/* ══════════════════════════════════════════════════
   BUTTONS
   FIX [9]: footerBtn hover was identical to default state;
            changed to a darker shade so hover is visible
   ══════════════════════════════════════════════════ */
.Button__primary,
.commonStyle__zt3buttonPrimaryBg {
    background-color: #0f1e3d !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    transition: background 0.25s, transform 0.2s !important;
}
.Button__primary:hover {
    background-color: #e8621a !important;
    transform: translateY(-2px) !important;
}

.Button__default,
.Button__secondary {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    border-color: #c0d0e8 !important;
    color: #1a2e5a !important;
    border-radius: 0 !important;
}
.Button__default:hover,
.Button__secondary:hover {
    border-color: #e8621a !important;
    color: #e8621a !important;
}

.Button__footerBtn {
    border-radius: 2px !important;
    background: #e8621a !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    text-transform: uppercase !important;
}
.Button__footerBtn:hover {
    background: #c04d0f !important;   /* darker on hover so state is visible */
}

.Button__footerBtn2 {
    background: transparent !important;
    border: 1px solid #e8621a;
    border-radius: 2px !important;
    color: #e8621a;
    font-size: var(--size-base14);
    letter-spacing: normal;
    padding: .7rem 1rem;
    transition: all .15s ease;
}
.Button__footerBtn2:hover {
    background: #c04d0f !important;   /* darker on hover so state is visible */
    border: 1px solid #c04d0f;
    color: var(--color-white);
}

.btn {
    border: 0.5px solid #e8621a;
    padding: 10px 20px;
    color: #e8621a;
    border-radius: 2px;
}

.btn-welcome {
    background-color: #e8621a;
    color: white;
}


/* ══════════════════════════════════════════════════
   READING PROGRESS BAR
   ══════════════════════════════════════════════════ */
.Readingprogress__progressBar {
    background: linear-gradient(90deg, #e8621a 0%, #f0a030 100%) !important;
}


/* ══════════════════════════════════════════════════
   FOOTER — Zoho Footer__ classes
   FIX [7]: removed second duplicate declarations of
            footerQus and footerDescription that were
            re-applying Zoho vars and undoing overrides
   ══════════════════════════════════════════════════ */
.Footer__footerBg {
    background-color: #2b4d9b !important;
}

.Footer__footerContent {
    font-family: 'DM Sans', system-ui, sans-serif !important;
}

.Footer__footerQus {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #ffffff !important;
}

.Footer__footerDescription {
    font-size: var(--size-base5);
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    color: rgba(255,255,255,0.6) !important;
}

.Footer__footerInfo {
    color: rgba(255,255,255,0.5) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

.Footer__footerLink {
    color: rgba(255,255,255,0.5) !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.Footer__footerLink:hover {
    color: #e8621a !important;
}

.Footer__footerCopyrigt {
    color: rgba(255,255,255,0.4) !important;
    font-size: 0.78rem !important;
    border-top-color: rgba(255,255,255,0.08) !important;
}


/* ══════════════════════════════════════════════════
   FOOTER — custom Bibliopolis layout classes
   ══════════════════════════════════════════════════ */
.footer {
    background-color: #0f1e3d !important;
    color: rgba(255,255,255,0.55);
}

.footer-grid {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 60px;
    padding: 80px 48px 60px;
}

.footer-logo {
    margin-bottom: 20px;
}

.footer-logo img {
    height: 32px;
    width: auto;
    display: block;
}

.footer-logo-text {
    color: #ffffff;
    font-family: var(--serif);
    font-size: 1.2rem;
    font-weight: 600;
}

.footer-tagline {
    font-size: .85rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.6);
    max-width: 280px;
}

.footer-col-title {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-bottom: 20px;
}

.footer-links {
    list-style: none;
    padding-left: 0;
}

.footer-links li + li {
    margin-top: 12px;
}

.footer-links a {
    font-size: .88rem;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color .2s;
}
.footer-links a:hover {
    color: var(--orange);
}

.footer-bottom {
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 48px;
    border-top: 1px solid rgba(255,255,255,0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: .78rem;
    color: rgba(255,255,255,0.55);
}

.footer-bottom a {
    color: #3a62b0;
    text-decoration: none;
}
.footer-bottom a:hover {
    color: #e8621a;;
}

@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        padding: 60px 40px 40px;
    }
}

@media (max-width: 640px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        padding: 48px 24px 32px;
    }

    .footer-bottom {
        padding: 20px 24px;
        flex-direction: column;
        align-items: flex-start;
    }
}  /* FIX [3]: was missing this closing brace */


/* ══════════════════════════════════════════════════
   FORM INPUTS
   FIX [6]: merged duplicate TextArea__textarea block
   ══════════════════════════════════════════════════ */
.Input__formInput,
.Input__searchBox,
.Input__productInput,
.Input__countryInput,
.TextArea__textarea {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    border-color: #c0d0e8 !important;
    border-radius: 0 !important;
    color: #1a2e5a !important;
    background: #ffffff !important;
}
.Input__formInput:focus,
.Input__searchBox:focus,
.TextArea__textarea:focus {
    border-color: #2b4d9b !important;
    box-shadow: 0 0 0 3px rgba(43,77,155,0.12) !important;
    outline: none !important;
}

.FormElement__labelStyle {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.FormElement__formLabelvertical2 {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    color: #5a6e8a !important;
}

.FormElement__mandatoryStar .FormElement__required:after {
    color: #e8621a !important;
}

.FormElement__description,
.FormElement__msgInfo,
.FormElement__fieldFormat {
    color: #5a6e8a !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}

.FormElement__inline .FormElement__formLabelvertical {
    color: #1a2e5a !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}

.CheckBox__inputCheckbox:checked + .CheckBox__checkbox {
    background-color: #e8621a !important;
    border-color: #e8621a !important;
}

.CheckBox__checkbox {
    border-color: #c0d0e8 !important;
    border-radius: 0 !important;
}

.CheckBox__labelRemember > label {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    color: #1a2e5a !important;
}


/* ══════════════════════════════════════════════════
   ARTICLE DETAIL
   ══════════════════════════════════════════════════ */
.KbDetailLtContainer__articleTitle {
    font-family: 'Playfair Display', Georgia, serif !important;
}

.KbDetailLtContainer__articleContent p.KbDetailLtContainer__description {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    line-height: 1.8 !important;
    color: #1a2e5a !important;
}

.KbDetailLtContainer__articleContent a {
    color: #2b4d9b !important;
    text-decoration: underline !important;
    transition: color .2s !important;
}
.KbDetailLtContainer__articleContent a:hover {
    color: #e8621a !important;
}

.KbDetailLtContainer__column {
    border-bottom-color: #c0d0e8 !important;
}

.KbDetailLtContainer__review {
    background-color: #eef3fb !important;
    border-color: #c0d0e8 !important;
    border-radius: 0 !important;
}

.KbDetailLtContainer__updateTime {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: .78rem !important;
    color: #5a6e8a !important;
}

#articleReview {
    display: none;
}

.Attachment__attachmentHeading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.Attachment__attachName {
    color: #1a2e5a !important;
}

.Attachment__attachSize {
    color: #5a6e8a !important;
}

.Attachment__imgviewerContent {
    border-color: #c0d0e8 !important;
    border-radius: 0 !important;
}


/* ══════════════════════════════════════════════════
   TABLE OF CONTENTS
   ══════════════════════════════════════════════════ */
.TOCContainer__tocContainer {
    border-color: #c0d0e8 !important;
    border-style: solid !important;
    border-left: 3px solid #e8621a !important;
    border-right: none !important;
}

.TOCContainer__tocHeading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}


/* ══════════════════════════════════════════════════
   LIST HEADERS
   ══════════════════════════════════════════════════ */
.ListHeader__header1 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
    letter-spacing: 0 !important;
}

.ListHeader__header2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.ListHeader__header3,
.ListHeader__header4 {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.ListHeader__description {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    color: #5a6e8a !important;
    line-height: 1.7 !important;
}

.ListHeader__listHeader1,
.ListHeader__headerType1,
.ListHeader__listHeader3 {
    border-bottom-color: #c0d0e8 !important;
}

.ListHeader__followCount {
    background: #dce8f7 !important;
    border-radius: 0 !important;
    color: #5a6e8a !important;
}
.ListHeader__followCount:hover {
    background: #e8621a !important;
    color: #fff !important;
}

.ListHeader__popupList:hover {
    background: #eef3fb !important;
    color: #e8621a !important;
}
.ListHeader__popupList:hover svg {
    color: #e8621a !important;
}


/* ══════════════════════════════════════════════════
   CONTENT LIST / SIDEBAR LINKS
   ══════════════════════════════════════════════════ */
.ContentList__activeLink,
.ContentList__listLink {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    color: #2b4d9b !important;
    text-decoration: none !important;
    transition: color .2s !important;
}
.ContentList__activeLink:hover,
.ContentList__listLink:hover {
    color: #e8621a !important;
}

.KbSubCategoryContainer__contentSec {
    background-color: #eef3fb !important;
    color: #1a2e5a !important;
}

.WidgetContainer__contentList + .WidgetContainer__contentList {
    margin-top: .5rem;
}


/* ══════════════════════════════════════════════════
   COMMENTS
   ══════════════════════════════════════════════════ */
.ArticleCommentsContainer__showmore {
    color: #2b4d9b !important;
    border-bottom-color: #c0d0e8 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
}

.ArticleCommentsContainer__rplyBdr {
    border-bottom-color: #c0d0e8 !important;
}

.ThreadedComment__articleContent p {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 300 !important;
    line-height: 1.75 !important;
    color: #1a2e5a !important;
}

.ThreadedComment__commentContent a {
    color: #2b4d9b !important;
}
.ThreadedComment__commentContent a:hover {
    color: #e8621a !important;
}

.ThreadedComment__userName {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.ThreadedComment__edited {
    color: #e8621a !important;
}

.ThreadedComment__cardModeHeader {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.ThreadedComment__userLastPost {
    color: #5a6e8a !important;
}

.ThreadedComment__popUpList + .ThreadedComment__popUpList {
    border-top-color: #c0d0e8 !important;
}

.CommentForm__difTitle {
    background-color: #eef3fb !important;
    border-color: #c0d0e8 !important;
}

.CommentForm__title,
.CommentForm__titleBlock {
    background-color: #eef3fb !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}

.CommentForm__notifyPl15 {
    color: #5a6e8a !important;
}


/* ══════════════════════════════════════════════════
   PAGINATION
   ══════════════════════════════════════════════════ */
.Pagination__arrowBox {
    background: #dce8f7 !important;
    color: #5a6e8a !important;
    border-radius: 0 !important;
}

.Pagination__nrmalTab {
    color: #5a6e8a !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
}

.Pagination__nrmalTab:hover,
.Pagination__pgNvLtHv:hover,
.Pagination__pgNvRtHv:hover {
    color: #e8621a !important;
}

.Pagination__active {
    color: #0f1e3d !important;
    font-weight: 500 !important;
}

.Pagination__pageNavLft,
.Pagination__pageNavRight {
    color: #1a2e5a !important;
}


/* ══════════════════════════════════════════════════
   TAGS
   ══════════════════════════════════════════════════ */
.Tag__tag {
    background: #dce8f7 !important;
    border-radius: 0 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: .72rem !important;
    font-weight: 500 !important;
    letter-spacing: .06em !important;
    color: #1a2e5a !important;
}
.Tag__tag:hover {
    background: #c0d0e8 !important;
}


/* ══════════════════════════════════════════════════
   MISCELLANEOUS COMPONENTS
   ══════════════════════════════════════════════════ */
.DottedMenuPopup__content {
    border-radius: 0 !important;
    border-color: #c0d0e8 !important;
    box-shadow: 0 4px 20px rgba(26,46,90,0.08) !important;
    background: #fff !important;
}

.NoContent__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.NoContent__contentDescription {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    color: #5a6e8a !important;
}

.ArticleListRightContainer__deskHeading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
    line-height: 1.3 !important;
}

.ArticleListRightContainer__subscribeDescription,
.ArticleListRightContainer__followerCount,
.KbDetailRtContainer__subscribeDescription,
.KbDetailRtContainer__followerCount {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    color: #5a6e8a !important;
}

.ViewMore__viewmore a {
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color: #2b4d9b !important;
    text-decoration: none !important;
    transition: color .2s !important;
}
.ViewMore__viewmore a:hover {
    color: #e8621a !important;
}

.Avatar__xmedium {
    border-radius: 2%;
    height: 5rem;
    width: 5rem;
}

.Avatar__square {
    opacity: 0.4;
}


/* ══════════════════════════════════════════════════
   HIDDEN ELEMENTS
   ══════════════════════════════════════════════════ */
.articleDetail .KBArticleRightContainer__userFollowOption,
.articleList .KBArticleRightContainer__userFollowOption,
.article_subcategory .KBArticleRightContainer__userFollowOption,
.articleDetail .KBArticleRightContainer__followerCount,
.article_subcategory .KBArticleRightContainer__followerCount,
.articleList .KBArticleRightContainer__followerCount,
.ContentList__subCategory .ListHeader__dottedPopup,
.KbCategory__box .KbCategory__dottedPopup,
.KbDetailRtContainer__widgetRight .KbDetailRtContainer__widgetSection:nth-child(1),
.articleList .ArticleListRightContainer__widgetRight .ArticleListRightContainer__widgetSection:nth-child(1) .ArticleListRightContainer__followOption,
.articleList .ArticleListRightContainer__widgetRight .ArticleListRightContainer__widgetSection:nth-child(1) .ArticleListRightContainer__subscribeDescription,
.ArticleListRightContainer__categoryDescription {
    display: none;
}


/* ══════════════════════════════════════════════════
   CALLOUT HIGHLIGHTS (KB_New_Editor_Highlights)
   ══════════════════════════════════════════════════ */
.KB_New_Editor_Highlights {
    display: grid !important;
    grid-template-columns: 28px 1fr !important;
    gap: 12px !important;
    align-items: start !important;
    border-radius: 0 !important;
    border-left: 4px solid #e8621a !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background-color: #fff3ec !important;
    padding: 14px 18px !important;
    margin: 1.25rem 0 !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: .95rem !important;
    line-height: 1.7 !important;
    color: #1a2e5a !important;
}

.KB_New_Editor_Highlights > div:first-child {
    grid-column: 1 !important;
    width: 28px !important;
    padding-top: 3px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

.KB_New_Editor_Highlights > div:not(:first-child) {
    grid-column: 2 !important;
}

.KB_New_Editor_Highlights img[data-image="contentStyle"] {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    flex-shrink: 0 !important;
    opacity: .85 !important;
}

.KB_New_Editor_Highlights b,
.KB_New_Editor_Highlights strong {
    font-weight: 500 !important;
    color: #1a2e5a !important;
}

.KB_New_Editor_Highlights a {
    color: #2b4d9b !important;
    text-decoration: underline !important;
}
.KB_New_Editor_Highlights a:hover {
    color: #e8621a !important;
}


/* ══════════════════════════════════════════════════
   FEATURE / CARD COMPONENTS
   FIX [4]: var() references now work — tokens defined in :root
   ══════════════════════════════════════════════════ */
.page-bookrouter .features-section {
    padding: 100px 0;
    background: #fff;
}

.page-bookrouter .features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
}

.feat-card {
    padding: 40px 36px;
    border: 1px solid var(--border);
    background: var(--cream);
    transition: background .2s, border-color .2s;
    position: relative;
    overflow: hidden;
}

.feat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 0;
    background: var(--cobalt);
    transition: height .3s;
}

.feat-card:hover {
    background: #fff;
    border-color: var(--cobalt);
}

.feat-card:hover::before {
    height: 100%;
}

.feat-icon {
    width: 52px;
    height: 52px;
    background: var(--parchment);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.feat-icon .fa-duotone {
    font-size: 1.4rem;
    --fa-primary-color: var(--cobalt);
    --fa-secondary-color: var(--orange);
    --fa-secondary-opacity: .5;
}

.feat-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 10px;
}

.feat-desc {
    font-size: .88rem;
    line-height: 1.65;
    color: var(--muted);
}

.br-feature-row {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    margin-bottom: 2rem;
}

.br-feature-image {
    flex: 0 0 40%;
    border-radius: 2px;
    overflow: hidden;
}

.br-feature-image img {
    border: 0.5px solid #e8621a;
    border-radius: 2px;
    width: 100%;
    height: auto;
    display: block;
}

.br-feature-cards {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.br-card {
    border: 0.5px solid #e8621a;
    padding: 1rem 1.125rem;
    border-radius: 2px;
    font-family: 'DM Sans', sans-serif;
}

.br-card-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 4px;
    color: #2b4d9b;
}

.br-card-desc {
    font-size: 15px;
    color: #666666;
    line-height: 1.5;
}

@media (max-width: 640px) {
    .br-feature-row {
        flex-direction: column;
    }

    .br-feature-image {
        flex: 0 0 100%;
    }

    .br-feature-cards {
        grid-template-columns: 1fr;
    }
}
