/*
 * BPR&D additions to the DBIM theme (assets/dbim/css/style.css).
 * Only what the CodeIgniter views need on top of the static design.
 */

/* Site title in the header: same look as the design's <h1>, but not a heading,
   so each page keeps a single <h1> (the page title). */
header .header-top-area .logoArea a .siteTitle {
    display: block;
    font-size: 26px;
    color: #000;
    font-weight: 700;
    line-height: 30px;
    text-align: left;
}
header .header-top-area .logoArea a .siteTitle span {
    display: block;
    font-size: 15px;
    font-weight: 400;
    color: #3b3b3b;
    line-height: 21px;
}
header .header-top-area .logoArea a img { max-height: 90px; width: auto; }
@media (max-width: 991px) {
    header .header-top-area .logoArea a .siteTitle { font-size: 20px; line-height: 29px; }
}
@media (max-width: 575px) {
    header .header-top-area .logoArea a .siteTitle { font-size: 19px; line-height: 22px; }
}

/* Skip-link target */
#main-content:focus { outline: none; }

/* Footer address block */
.footerAddress { font-style: normal; font-size: 14px; line-height: 22px; }

/* Empty states */
.noData { padding: 16px 0; color: #5a5a5a; }

/* Rich text coming from the CMS (page.description) */
.cmsContent img { max-width: 100%; height: auto; }
.cmsContent table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.cmsContent table td, .cmsContent table th { border: 1px solid #d9d9d9; padding: 8px 10px; vertical-align: top; }
.cmsContent iframe { max-width: 100%; }
.cmsContent .table-responsive, .cmsContent { overflow-x: auto; }

/* Inner page side menu (pages deeper than the sub-menu bar) */
.sideMenu { border: 1px solid #e3e3e3; border-radius: 12px; padding: 16px; }
.sideMenu h2 { font-size: 18px; font-weight: 700; margin-bottom: 12px; }
.sideMenu ul { list-style: none; padding-left: 0; margin: 0; }
.sideMenu ul ul { padding-left: 16px; }
.sideMenu li a { display: block; padding: 6px 0; text-decoration: none; }
.sideMenu li a[aria-current="page"] { font-weight: 700; }

/* PDF size label added by master.php */
.pdfSize { font-size: 0.85em; white-space: nowrap; }

/* Engage cards on the home page use the BPR&D SVG icons */
.personasImgArea img.engageIcon { width: 120px; height: 120px; object-fit: contain; padding: 22px; background: #fff; }

/* Social media cards link to the official profiles */
.socialBox .socialLink { display: flex; align-items: center; justify-content: center; min-height: 120px; font-size: 48px; }

/* Search results */
.searchResult { padding: 14px 0; border-bottom: 1px solid #e3e3e3; }
.searchResult h2 { font-size: 18px; margin-bottom: 4px; }
.searchResult .hlight { background: #fff3a6; }

/* Feedback / forms */
.dbimForm .form-label { font-weight: 600; }
.dbimForm .captchaBox img { border: 1px solid #d9d9d9; border-radius: 6px; }

/* Main menu: BPR&D has 8 CMS-driven items with longer labels than the
   design's 6, so keep them on one line and tighten the spacing. */
.menuSection .header-nav-list { gap: 0 36px; flex-wrap: wrap; }
.menuSection .header-nav-link { white-space: nowrap; font-size: 17px; }
@media (max-width: 1350px) {
    .menuSection .header-nav-list { gap: 0 24px; }
    .menuSection .header-nav-link { font-size: 15px; }
}

/* Banner images uploaded through the CMS come in mixed sizes */
.bannerSection .bannerSlider img { width: 100%; max-height: 600px; object-fit: cover; }

/* Social cards without an embedded feed */
.socialSection .socialBox .socialPostArea:has(> .socialLink) { height: auto; overflow: visible; }

/* ==========================================================================
   DBIM 3.0 compliance additions
   ========================================================================== */

/* Typeface: Noto Sans for every script (DBIM 4.1, 4.2). Icon fonts keep their own family. */
html { -webkit-text-size-adjust: 100%; }
body,
h1, h2, h3, h4, h5, h6,
p, li, td, th, label, legend, address, blockquote,
button, input, select, textarea,
.btn-02, .btn-03, .btn-04, .header-nav-link, .dropdown-menu-link, .dropdown-item {
    font-family: "Noto Sans", "Noto Sans Devanagari", sans-serif;
}

/* Type scale for websites (DBIM 4.3.1, desktop): H1 36, H2 24, H3 20, paragraph 16 / 14, small 12.
   Line height 1.2-1.5 times the type size (DBIM 4.5 iii). Body text is left aligned (DBIM 4.1.1). */
body { font-size: 16px; line-height: 1.5; text-align: left; }
.maincontent h1, .cmsContent h1, .innerBannerSection h1 { font-size: 36px; line-height: 1.3; font-weight: 700; }
.maincontent h2, .cmsContent h2 { font-size: 24px; line-height: 1.35; font-weight: 600; }
.maincontent h3, .cmsContent h3 { font-size: 20px; line-height: 1.4; font-weight: 600; }
.maincontent p, .maincontent li, .cmsContent td, .cmsContent th { font-size: 16px; line-height: 1.5; }
.maincontent small, .small, .pdfSize { font-size: 12px; }
.cmsContent table th { text-align: center; }          /* column names centre aligned */
.cmsContent table td.num, .cmsContent table td[data-type="number"] { text-align: right; } /* numbers right aligned */
@media (max-width: 767px) {                            /* DBIM 4.3.2, mobile */
    body { font-size: 14px; }
    .maincontent h1, .cmsContent h1, .innerBannerSection h1 { font-size: 24px; }
    .maincontent h2, .cmsContent h2 { font-size: 20px; }
    .maincontent h3, .cmsContent h3 { font-size: 16px; }
    .maincontent p, .maincontent li, .cmsContent td, .cmsContent th { font-size: 14px; }
    .maincontent small, .small, .pdfSize { font-size: 10px; }
}

/* Links inside content are not identified by colour alone (WCAG 1.4.1, GIGW 5.2.12) */
.cmsContent a:not(.btn-02):not(.btn-03), .aboutcontent p a, .noData a, .searchResult a, .footerLineage a, .cookieBanner a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.cmsContent a:hover, .aboutcontent p a:hover { text-decoration-thickness: 2px; }

/* Long URLs / words must wrap instead of forcing horizontal scrolling at 320 px (WCAG 1.4.10) */
.maincontent, .cmsContent, .aboutcontent { overflow-wrap: break-word; }
img, video, iframe, svg { max-width: 100%; }
img { height: auto; }

/* Skip link: first focusable element, visible on focus (GIGW 5.2.27) */
.skip-link {
    position: absolute; left: 8px; top: -60px; z-index: 3000;
    padding: 10px 16px; background: #fff; color: #0d315c; font-weight: 600;
    border: 2px solid #0d315c; border-radius: 4px; text-decoration: underline;
}
.skip-link:focus, .skip-link:focus-visible { top: 8px; outline: 3px solid #ffbf00; outline-offset: 2px; }

/* Form instructions / mandatory marker (DBIM Annexure B) */
.formInstructions { padding: 10px 14px; background: #ebeaea; border-left: 4px solid #0d315c; border-radius: 4px; }
.dbimForm .form-label span[aria-hidden="true"] { color: #b02a37; font-weight: 700; }
.captchaAlt { color: #3b3b3b; }

/* Cookie consent banner: bottom of the page, white background (DBIM 7.6, functional palette) */
.cookieBanner {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 2500;
    background: #ffffff; color: #150202;
    border-top: 4px solid #0d315c; box-shadow: 0 -4px 18px rgba(0, 0, 0, .18);
    padding: 16px 0; max-height: 80vh; overflow-y: auto;
}
.cookieBanner[hidden], .cookieBanner [hidden] { display: none !important; }
.cookieBanner .cookieTitle { font-size: 20px; font-weight: 600; margin: 0 0 6px; }
.cookieBanner .cookieText { margin: 0 0 10px; font-size: 14px; }
.cookieBanner .cookieCustom { margin: 0 0 12px; }
.cookieBanner .cookieActions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookieBanner .cookieActions button { min-height: 44px; min-width: 120px; }
.cookieSettingsLink { background: none; border: 0; padding: 0 0 0 10px; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
.cookieSettingsLink:hover { text-decoration-thickness: 2px; }
.footerLineage { margin-bottom: 6px; font-weight: 600; }

/* Feedback of mouse hover on clickable items (DBIM 4.5 iv) */
.footer-nav a:hover, .sideMenu li a:hover, .importantLinksArea a:hover { text-decoration: underline; }

/* Pointer targets and reduced motion (WCAG 2.5.5-ish comfort, 2.3.3) */
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* Print on A4 (GIGW 3.0 5.1.20) */
@page { size: A4; margin: 15mm; }
@media print {
    header, nav, .menuSection, .offcanvas, .scroll-to-top, .cookieBanner, .skip-link, footer .social-menu,
    .govtImgArea, .announcementsSection, .bannerSection, .accessibility-panel, .cookieSettingsLink, form[role="search"] { display: none !important; }
    body { font-size: 12pt; line-height: 1.4; color: #000; background: #fff; }
    .maincontent, .container, .row > [class*="col"] { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 !important; }
    a { color: #000; text-decoration: underline; }
    .cmsContent a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 10pt; word-break: break-all; }
    .cmsContent img, img { max-width: 100% !important; page-break-inside: avoid; }
    table { page-break-inside: auto; width: 100% !important; }
    tr, img { page-break-inside: avoid; }
    h1, h2, h3 { page-break-after: avoid; }
    .footer { border-top: 1px solid #000; background: #fff !important; color: #000 !important; }
    .footer a, .footer p, .footer address { color: #000 !important; }
}

/* External link indicator (GIGW 3.0) */
a.externalLink:not(:has(img))::after{content:"\2197";display:inline-block;margin-left:.2em;font-size:.85em;text-decoration:none}

