/*
 * Bibliopolis Theme — help.bookrouter.com / help.bibliopolis.com
 * Combined override — updated after screenshot review
 * ─────────────────────────────────────────────────────────────
 * Paste into: Zoho Desk → Setup → Help Center →
 *             Customize Portal → Custom CSS
 *
 * CHANGES IN THIS VERSION:
 *
 *  [A] Breadcrumb bar softened from #c0d0e8 to #dce8f7 — the
 *      solid blue-grey band was too heavy against the cream page.
 *
 *  [B] Footer background changed from cobalt #2b4d9b to navy
 *      #0f1e3d on both Footer__footerBg and the "Still Can't
 *      Find" band to match bibdev more closely.
 *
 *  [C] Article body h1–h4 headings (inside .KbDetailLtContainer__
 *      articleContent) now get Playfair Display. Zoho renders
 *      article headings as bare h1–h4 tags inside the content
 *      div, so we target them directly there.
 *
 *  [D] Category page content area background set to cream — the
 *      white content background on /kb/bookrouter-help was
 *      targeted via additional wrapper selectors.
 *
 *  [E] KB home banner callout (the "renovating" notice) — added
 *      an extra rule targeting the Zoho-generated structure on
 *      that specific page which differs from article callouts.
 *
 *  [F] KbCategory__box card title wrapping fix — reduced inner
 *      padding slightly and ensured the title link doesn't force
 *      a line break on the three-up grid.
 *
 *  [G] double semicolon on .footer-bottom a:hover removed.
 *
 *  [H] Preserved your lighter font-weight (500 not 600) on all
 *      headings throughout. No weight changes made.
 *
 *  NOT IMPLEMENTED:
 *  [~] TOC links remain orange (inherit --color-brand from Zoho).
 *      To change to cobalt-default/orange-hover would require
 *      targeting Zoho's internal TOC anchor classes which are
 *      not exposed in the provided stylesheets. Can revisit if
 *      you can share the rendered TOC HTML.
 * ─────────────────────────────────────────────────────────────
 */


/* ══════════════════════════════════════════════════
   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
   ══════════════════════════════════════════════════ */
: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:        #dce8f7;   /* [A] softened from #c0d0e8 */
    --color-greyShade80:         #0f1e3d;
    --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) */
    --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;
}

.body,
.Layout__oneColumn,
.Layout__twoColumn,
.Layout__twoColumn2,
.Layout__twoColumnReverse {
    background-color: #eef3fb !important;
    padding: 1.125rem 0 3.125rem;
}

.AppContainer__homePage,
.AppContainer__articleList,       /* [D] category listing pages */
.AppContainer__articleDetail,     /* [D] article pages */
.AppContainer__kbHome {           /* [D] kb home */
    background-color: #eef3fb !important;
}

/* [D] Content wrappers on category/subcategory pages */
.KbSubCategoryContainer__contentSec,
.LayoutListContainer__layoutListContainer,
.articleList,
.article_subcategory {
    background-color: #eef3fb !important;
    color: #1a2e5a !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;
}

.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;
}

.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
   [A] Background softened to #dce8f7
   ══════════════════════════════════════════════════ */
.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;
}

.commonStyle__zt3breadCrumbBg,
.AppContainer__breadCrumbsBox {
    background: #dce8f7 !important;   /* [A] was #c0d0e8 */
    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-color: #eef3fb !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__)
   [F] Adjusted inner padding to reduce title wrapping
   ══════════════════════════════════════════════════ */
.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 1rem 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;
}

/* [F] Tighter padding so title text has more room */
.KbCategory__boxInner {
    padding: 1rem 0.875rem;
}

/* [F] Prevent title from wrapping prematurely */
.KbCategory__topic {
    min-width: 0;
}

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

/* 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 .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
   ══════════════════════════════════════════════════ */
.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;
}

.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;
    border: 1px solid #c04d0f;
    color: var(--color-white);
}

.btn {
    border: 0.5px solid #2b4d9b;
    padding: 10px 20px;
    color: #2b4d9b;
    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
   [B] Background changed to navy #0f1e3d
   ══════════════════════════════════════════════════ */
.Footer__footerBg {
    background-color:  #2b4d9b !important;   /* [B] was #2b4d9b */
}

.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;   /* [G] removed stray double semicolon */
}

@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;
    }
}


/* ══════════════════════════════════════════════════
   FORM INPUTS
   ══════════════════════════════════════════════════ */
.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
   [C] Added h1–h4 inside article content → Playfair
   ══════════════════════════════════════════════════ */
.KbDetailLtContainer__articleTitle {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
}

/* [C] Article body headings — Zoho renders these as bare tags */
.KbDetailLtContainer__articleContent h1,
.KbDetailLtContainer__articleContent h2,
.KbDetailLtContainer__articleContent h3,
.KbDetailLtContainer__articleContent h4 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500 !important;
    color: #1a2e5a !important;
    line-height: 1.25 !important;
    margin-top: 1.75rem !important;
    margin-bottom: .5rem !important;
}

.KbDetailLtContainer__articleContent h1 { font-size: 1.6rem !important; }
.KbDetailLtContainer__articleContent h2 {
    font-size: 1.35rem;
    border-bottom: 0.5px solid #e8621a !important;
    padding-bottom: 1.0rem !important;
}
.KbDetailLtContainer__articleContent h2 { font-size: 1.35rem !important; }
.KbDetailLtContainer__articleContent h3 { font-size: 1.15rem !important; }
.KbDetailLtContainer__articleContent h4 { font-size: 1rem !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: none !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;
}

/* ── ADD TO: TABLE OF CONTENTS section ── */

/* TOC links — cobalt default, orange on hover */
.TOCContainer__tocCategories .Link__active,
.TOCContainer__tocCategories .commonStyle__zt3LinkActive {
    color: #2b4d9b !important;
    text-decoration: none !important;
    font-family: 'DM Sans', system-ui, sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    transition: color .2s !important;
}

.TOCContainer__tocCategories .Link__active:hover,
.TOCContainer__tocCategories .commonStyle__zt3LinkActive:hover {
    color: #e8621a !important;
}

/* Active/current TOC item */
.TOCContainer__tocCategories .Menu__menuItem.Menu__active .Link__active,
.TOCContainer__tocCategories .Menu__menuItem.Menu__active .commonStyle__zt3LinkActive {
    color: #e8621a !important;
    font-weight: 500 !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;
}

.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;
    opacity: 0.5;
}

.Avatar__square { opacity: 0.9; }


/* ══════════════════════════════════════════════════
   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)
   [E] Added alternate structure targeting for KB home
       banner which uses a flatter DOM than article callouts
   ══════════════════════════════════════════════════ */
.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;
}

/* Icon column */
.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;
}

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

/* [E] KB home banner: the callout there has the img as a direct
   child of the wrapper (not nested in a div), so we also handle
   that structure by making the img itself a grid item */
.KB_New_Editor_Highlights > img[data-image="contentStyle"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    justify-self: center !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
   ══════════════════════════════════════════════════ */
.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; }
}

