/* =========================================================
   DBIM (Digital Brand Identity Manual) layer
   Footer, accessibility panel, typography and display modes.
   Loaded after the legacy portal CSS from partials/header.blade.php.
   ========================================================= */

:root {
    --dbim-blue: #162F6A;          /* primary */
    --dbim-blue-900: #0B1733;
    --dbim-blue-800: #12254F;
    --dbim-blue-700: #214AAB;
    --dbim-blue-100: #D2DFFF;
    --dbim-blue-border: #A3BBF3;
    --dbim-white: #FFFFFF;
    --dbim-focus: #FFC107;
    --dbim-font: "Noto Sans", "Noto Sans Devanagari", "Segoe UI", Arial, sans-serif;
}

/* ---------- Typography ---------- */
html body,
html body *:not(i, [class*="fa-"], .fa, .fas, .far, .fab, .fal, .fad, .dbim-ico, .glyphicon) {
    font-family: var(--dbim-font) !important;
}

html body *:focus-visible {
    outline: 3px solid var(--dbim-focus);
    outline-offset: 2px;
}

.dbim-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---------- Icons (SVG used as a mask so the colour follows the text) ---------- */
.dbim-ico {
    display: inline-block;
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask: var(--dbim-icon) center / contain no-repeat;
            mask: var(--dbim-icon) center / contain no-repeat;
}
.dbim-ico--accessibility        { --dbim-icon: url("../images/dbim-icons/accessibility.svg"); }
.dbim-ico--dark-contrast        { --dbim-icon: url("../images/dbim-icons/dark-contrast.svg"); }
.dbim-ico--invert               { --dbim-icon: url("../images/dbim-icons/invert.svg"); }
.dbim-ico--saturation           { --dbim-icon: url("../images/dbim-icons/saturation.svg"); }
.dbim-ico--text-size-increase   { --dbim-icon: url("../images/dbim-icons/text-size-increase.svg"); }
.dbim-ico--text-size-decrease   { --dbim-icon: url("../images/dbim-icons/text-size-decrease.svg"); }
.dbim-ico--highlight-links      { --dbim-icon: url("../images/dbim-icons/highlight-links.svg"); }
.dbim-ico--hide-image           { --dbim-icon: url("../images/dbim-icons/hide-image.svg"); }
.dbim-ico--default-cursor       { --dbim-icon: url("../images/dbim-icons/default-cursor.svg"); }
.dbim-ico--dark-mode            { --dbim-icon: url("../images/dbim-icons/dark-mode.svg"); }
.dbim-ico--format-clear         { --dbim-icon: url("../images/dbim-icons/format-clear.svg"); }
.dbim-ico--speech               { --dbim-icon: url("../images/dbim-icons/speech.svg"); }
.dbim-ico--x                    { --dbim-icon: url("../images/dbim-icons/x.svg"); }
.dbim-ico--facebook             { --dbim-icon: url("../images/dbim-icons/facebook.svg"); }
.dbim-ico--youtube              { --dbim-icon: url("../images/dbim-icons/youtube.svg"); }
.dbim-ico--instagram            { --dbim-icon: url("../images/dbim-icons/instagram.svg"); }

/* =========================================================
   FOOTER
   ========================================================= */
html body footer.dbim-footer {
    clear: both;
    width: 100%;
    margin: 0;
    padding: 32px 16px 0;
    background: var(--dbim-blue);
    color: var(--dbim-white);
    font-size: .875rem;
    line-height: 1.6;
    text-align: center;
    box-sizing: border-box;
}
.dbim-footer *, .dbim-footer *::before, .dbim-footer *::after { box-sizing: border-box; }

.dbim-footer a,
.dbim-footer strong,
.dbim-footer b { color: var(--dbim-white); }

.dbim-footer__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 25px;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.dbim-footer__links li { margin: 0; padding: 0; float: none; }
.dbim-footer__links a {
    display: inline-block;
    padding: 4px 0;
    text-decoration: none;
}
.dbim-footer__links a:hover,
.dbim-footer__links a:focus-visible { text-decoration: underline; }

.dbim-footer__social {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin: 20px 0 24px;
    padding: 0;
    list-style: none;
}
.dbim-footer__social li { margin: 0; padding: 0; float: none; }
.dbim-footer__social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--dbim-white);
    border-radius: 50%;
    color: var(--dbim-white);
    text-decoration: none;
    transition: background-color .2s, color .2s;
}
.dbim-footer__social a .dbim-ico { width: 20px; height: 20px; }
.dbim-footer__social a:hover,
.dbim-footer__social a:focus-visible { background: var(--dbim-white); color: var(--dbim-blue); }

.dbim-footer__rule {
    height: 0;
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .4);
}

.dbim-footer__body {
    max-width: 1140px;
    margin: 0 auto;
    padding: 20px 0 16px;
}
.dbim-footer__body p { margin: 0 0 4px; color: var(--dbim-white); }
.dbim-footer__org { font-weight: 700; }
.dbim-footer__sep { display: inline-block; margin: 0 14px; opacity: .9; }

.dbim-footer__powered {
    padding: 14px 0 18px;
    border-top: 1px solid rgba(255, 255, 255, .4);
}
.dbim-footer__powered p { margin: 0; }
.dbim-footer__powered a { text-decoration: underline; cursor: pointer; }

/* =========================================================
   ACCESSIBILITY PANEL
   ========================================================= */
.dbim-a11y[hidden] { display: none !important; }
.dbim-a11y {
    position: fixed;
    top: 88px;
    right: 24px;
    z-index: 100001;
    width: 320px;
    max-width: calc(100vw - 32px);
    max-height: calc(100vh - 104px);
    overflow-y: auto;
    padding: 16px;
    border: 1px solid var(--dbim-blue-border);
    border-radius: 8px;
    background: var(--dbim-white);
    color: var(--dbim-blue);
    box-shadow: 0 8px 24px rgba(11, 23, 51, .25);
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.4;
}
.dbim-a11y *, .dbim-a11y *::before, .dbim-a11y *::after { box-sizing: border-box; }

.dbim-a11y__head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}
.dbim-a11y__title {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--dbim-blue);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}
.dbim-a11y__close {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--dbim-blue);
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}
.dbim-a11y__close:hover { background: var(--dbim-blue-100); }

.dbim-a11y__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.dbim-a11y__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 76px;
    margin: 0;
    padding: 12px 8px;
    border: 1px solid var(--dbim-blue-border);
    border-radius: 8px;
    background: var(--dbim-white);
    color: var(--dbim-blue);
    text-align: center;
    cursor: pointer;
    transition: background-color .15s, border-color .15s;
}
.dbim-a11y__btn--wide { grid-column: 1 / -1; flex-direction: row; min-height: 56px; }
.dbim-a11y__label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.25;
    text-transform: uppercase;
}
.dbim-a11y__btn:hover { background: var(--dbim-blue-100); }
.dbim-a11y__btn.is-active { background: var(--dbim-blue); border-color: var(--dbim-blue); color: var(--dbim-white); }
.dbim-a11y__btn:disabled { opacity: .45; cursor: not-allowed; }

.dbim-a11y__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin-top: 16px;
}
.dbim-a11y__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 4px 0;
    border: 0;
    background: none;
    color: var(--dbim-blue);
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}
.dbim-a11y__link .dbim-ico { width: 20px; height: 20px; }
.dbim-a11y__link:hover { color: var(--dbim-blue-700); }

/* =========================================================
   DISPLAY MODES (set on <html> by dbim-accessibility.js)
   ========================================================= */
html.dbim-invert img,
html.dbim-invert video,
html.dbim-invert iframe { filter: invert(1) hue-rotate(180deg); }

html.dbim-links body a:not(.dbim-a11y *) {
    background: #FFEB3B !important;
    color: #000 !important;
    text-decoration: underline !important;
    outline: 1px solid #000;
}

html.dbim-noimg img,
html.dbim-noimg picture,
html.dbim-noimg video { visibility: hidden !important; }

html.dbim-cursor,
html.dbim-cursor * { cursor: default !important; }
html.dbim-cursor a, html.dbim-cursor button, html.dbim-cursor input,
html.dbim-cursor select, html.dbim-cursor textarea { cursor: default !important; }

/* Dark contrast: black / white / yellow */
html.dbim-contrast,
html.dbim-contrast body { background: #000 !important; }
html.dbim-contrast body *:not(.dbim-a11y, .dbim-a11y *, .dbim-ico, img, video, iframe, svg, svg *) {
    background-color: #000 !important;
    background-image: none !important;
    color: #fff !important;
    border-color: #fff !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
html.dbim-contrast body a:not(.dbim-a11y *),
html.dbim-contrast body a:not(.dbim-a11y *) * { color: #FFEB3B !important; }
html.dbim-contrast .dbim-a11y { background: #000; border-color: #fff; color: #fff; }
html.dbim-contrast .dbim-a11y__title,
html.dbim-contrast .dbim-a11y__close,
html.dbim-contrast .dbim-a11y__link { color: #FFEB3B; }
html.dbim-contrast .dbim-a11y__btn { background: #000; border-color: #fff; color: #fff; }
html.dbim-contrast .dbim-a11y__btn.is-active { background: #FFEB3B; border-color: #FFEB3B; color: #000; }
html.dbim-contrast .dbim-footer__social a:hover { background: #FFEB3B !important; }
html.dbim-contrast .dbim-footer__social a:hover .dbim-ico { background-color: #000 !important; }

/* Dark mode: DBIM blue family */
html.dbim-dark,
html.dbim-dark body { background: var(--dbim-blue-900) !important; }
html.dbim-dark body *:not(.dbim-a11y, .dbim-a11y *, .dbim-ico, img, video, iframe, svg, svg *, .embassyPartnerStrip, .embassyPartnerStrip *) {
    background-color: var(--dbim-blue-900) !important;
    background-image: none !important;
    color: #E6ECF8 !important;
    border-color: #2B4276 !important;
}
html.dbim-dark body a:not(.dbim-a11y *),
html.dbim-dark body a:not(.dbim-a11y *) * { color: #9EC1FF !important; }
html.dbim-dark .dbim-a11y { background: var(--dbim-blue-800); border-color: #2B4276; color: #E6ECF8; }
html.dbim-dark .dbim-a11y__title,
html.dbim-dark .dbim-a11y__close,
html.dbim-dark .dbim-a11y__link { color: #E6ECF8; }
html.dbim-dark .dbim-a11y__btn { background: var(--dbim-blue-900); border-color: #2B4276; color: #E6ECF8; }
html.dbim-dark .dbim-a11y__btn:hover { background: #1B3470; }
html.dbim-dark .dbim-a11y__btn.is-active { background: #9EC1FF; border-color: #9EC1FF; color: var(--dbim-blue-900); }
html.dbim-dark footer.dbim-footer { background: var(--dbim-blue-800) !important; }
html.dbim-dark .dbim-footer a { color: #fff !important; }
html.dbim-dark .dbim-footer__social a { border-color: #fff !important; }
html.dbim-dark .dbim-footer__social a:hover { background: #fff !important; }
html.dbim-dark .dbim-footer__social a:hover .dbim-ico { background-color: var(--dbim-blue) !important; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991px) {          /* tablet */
    html body footer.dbim-footer { padding-top: 28px; }
    .dbim-footer__links { gap: 6px 20px; }
}

@media (max-width: 600px) {          /* mobile */
    html body footer.dbim-footer { padding: 24px 12px 0; font-size: .8125rem; }
    .dbim-footer__links { gap: 4px 16px; }
    .dbim-footer__social { gap: 12px; margin: 16px 0 20px; }
    .dbim-footer__social a { width: 40px; height: 40px; }
    .dbim-footer__sep { display: block; height: 0; margin: 0; overflow: hidden; }
    .dbim-a11y { left: 12px; right: 12px; top: 72px; width: auto; max-width: none; padding: 12px; }
    .dbim-a11y__grid { gap: 8px; }
}

@media (max-width: 360px) {
    .dbim-a11y__label { font-size: 11px; }
}

@media print {
    .dbim-a11y { display: none !important; }
}

/* =========================================================
   PAGE FRAME, TYPE SCALE (DBIM 4.3: 36/24/20/16/14/12 px desktop)
   ========================================================= */
:root {
    --dbim-blue-600: #214AAB;
    --dbim-text: #150202;
    --dbim-gutter: 24px;
    --dbim-maxw: 1320px;
}

html body {
    font-size: 100% !important;       /* overrides the inline 75% so the 16px DBIM body size applies */
    line-height: 1.5;
    color: var(--dbim-text);
    text-align: left;
}

html body #wrapper .container {
    width: 100%;
    max-width: var(--dbim-maxw);
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--dbim-gutter);
    padding-right: var(--dbim-gutter);
    box-sizing: border-box;
}
html body #wrapper > .container.container { max-width: none; width: 100%; margin: 0; padding: 0; }
html body #wrapper > .container .container .container { padding-left: 0; padding-right: 0; }

/* =========================================================
   HEADER
   ========================================================= */
html body .header { background: #fff !important; position: relative; z-index: 1000; }
.dbim-skip {
    position: absolute; left: 8px; top: -60px; z-index: 100002;
    padding: 10px 16px; background: var(--dbim-blue); color: #fff !important;
    font-size: 14px; font-weight: 600; text-decoration: none; border-radius: 0 0 6px 6px;
}
.dbim-skip:focus { top: 0; }

.dbim-header { background: #fff; }
.dbim-header__bar {
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    min-height: 88px; padding-top: 12px !important; padding-bottom: 12px !important;
}
.dbim-header__brand { flex: 0 1 auto; min-width: 0; }
.dbim-header__brand h1 { margin: 0; padding: 0; line-height: 1; }
.dbim-header__brand img { display: block; width: auto; max-width: 100%; height: auto; max-height: 64px; }

.dbim-header__tools { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }

.dbim-search {
    display: flex; align-items: center; width: 304px; height: 44px; margin: 0;
    border: 1px solid var(--dbim-blue-border); border-bottom: 2px solid var(--dbim-blue-600);
    border-radius: 6px; background: #fff; box-shadow: 0 1px 4px rgba(22, 47, 106, .08);
}
.dbim-search:focus-within { border-color: var(--dbim-blue-600); }
.dbim-search__input {
    flex: 1 1 auto; min-width: 0; height: 100%; margin: 0; padding: 0 12px;
    border: 0; background: transparent; color: var(--dbim-text);
    font-size: 14px; outline: 0; box-shadow: none;
}
.dbim-search__input::placeholder { color: #606060; opacity: 1; }
.dbim-search__go {
    display: flex; align-items: center; justify-content: center; width: 40px; height: 100%;
    margin: 0; padding: 0; border: 0; background: transparent; color: var(--dbim-blue); cursor: pointer;
}
.dbim-search__go .dbim-ico { width: 20px; height: 20px; }

.dbim-header__icons { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.dbim-header__icons > li { position: relative; margin: 0; padding: 0 6px; float: none; }
.dbim-header__icons > li + li::before {
    content: ""; position: absolute; left: 0; top: 50%; height: 24px; margin-top: -12px;
    border-left: 1px solid var(--dbim-blue-border);
}
.dbim-iconbtn {
    display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    margin: 0; padding: 0; border: 0; border-radius: 6px; background: transparent;
    color: var(--dbim-blue); cursor: pointer; text-decoration: none;
}
.dbim-iconbtn:hover, .dbim-iconbtn[aria-expanded="true"], .dbim-iconbtn[aria-pressed="true"] { background: var(--dbim-blue-100); }
.dbim-iconbtn .dbim-ico { width: 24px; height: 24px; }

.dbim-ico--search          { --dbim-icon: url("../images/dbim-icons/search.svg"); }
.dbim-ico--skip-to-content { --dbim-icon: url("../images/dbim-icons/skip-to-content.svg"); }
.dbim-ico--language        { --dbim-icon: url("../images/dbim-icons/language.svg"); }
.dbim-ico--light-mode      { --dbim-icon: url("../images/dbim-icons/light-mode.svg"); }
.dbim-ico--chevron-right   { --dbim-icon: url("../images/dbim-icons/chevron-right.svg"); }
.dbim-ico--menu            { --dbim-icon: url("../images/dbim-icons/menu.svg"); }

/* Language menu */
.dbim-lang__menu {
    position: absolute; right: 0; top: calc(100% + 12px); z-index: 100003; width: 224px; padding: 8px 0;
    border: 1px solid var(--dbim-blue-border); border-radius: 8px; background: #fff;
    box-shadow: 0 8px 24px rgba(11, 23, 51, .2);
}
.dbim-lang__menu[hidden] { display: none; }
.dbim-lang__title { margin: 0; padding: 8px 16px 12px; border-bottom: 1px solid var(--dbim-blue-100); color: var(--dbim-blue); font-size: 14px; font-weight: 700; }
.dbim-lang__menu ul { margin: 0; padding: 4px 0 0; list-style: none; }
.dbim-lang__menu li { margin: 0; padding: 0; float: none; }
.dbim-lang__opt {
    position: relative; display: block; width: 100%; margin: 0; padding: 10px 16px; border: 0;
    background: transparent; color: var(--dbim-blue); font-size: 16px; font-weight: 500; text-align: left; cursor: pointer;
}
.dbim-lang__opt:hover { background: var(--dbim-blue-100); }
.dbim-lang__opt.is-current { background: #EEF3FC; font-weight: 700; }
.dbim-lang__opt.is-current::after {
    content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; margin-top: -4px;
    border-radius: 50%; background: var(--dbim-blue-600);
}
.dbim-translate-engine, .goog-te-banner-frame, #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
html body { top: 0 !important; }

/* =========================================================
   MAIN NAVIGATION (navy bar, chevrons on items with sub-menus)
   ========================================================= */
html body .mainNavigation { background: var(--dbim-blue) !important; border: 0; padding: 0; margin: 0; }
html body .mainNavigation .menuPart { padding: 0; }
html body #nav {
    display: flex; flex-wrap: wrap; align-items: stretch; width: auto !important;
    margin: 0; padding: 0; list-style: none; background: transparent;
}
html body #nav > li { float: none; position: relative; margin: 0; padding: 0; background: transparent; border: 0; }
html body #nav > li > a,
html body #nav > li > a.menuFirstNode {
    display: flex; align-items: center; gap: 8px; height: auto; margin: 0;
    padding: 16px 14px; border: 0; background: transparent !important;
    color: #fff !important; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none; white-space: nowrap;
}
html body #nav > li:has(> ul) > a::after {
    content: ""; flex: 0 0 auto; width: 12px; height: 12px; background: currentColor;
    -webkit-mask: url("../images/dbim-icons/chevron-right.svg") center / contain no-repeat;
            mask: url("../images/dbim-icons/chevron-right.svg") center / contain no-repeat;
    transform: rotate(90deg);
}
html body #nav > li:hover > a,
html body #nav > li.hover > a,
html body #nav > li:focus-within > a { background: var(--dbim-blue-700) !important; color: #fff !important; }
html body #nav > li.is-current > a { background: var(--dbim-blue-600) !important; box-shadow: inset 0 -3px 0 #fff; }
html body #nav a:focus-visible { outline: 3px solid var(--dbim-focus); outline-offset: -3px; }
html body .menuSearchBox { display: none; }

/* sub-menus: keep legacy show/hide + positioning, restyle colours/type only */
html body #nav ul.menuSubUl { background: #fff; border: 1px solid var(--dbim-blue-border); border-radius: 0 0 6px 6px; box-shadow: 0 8px 24px rgba(11, 23, 51, .18); padding: 4px 0; }
html body #nav ul.menuSubUl li { background: #fff; margin: 0; }
html body #nav ul.menuSubUl li a {
    display: block; padding: 10px 16px; background: #fff !important; color: var(--dbim-blue) !important;
    font-size: 14px; font-weight: 500; line-height: 1.4; text-decoration: none; border: 0;
}
html body #nav ul.menuSubUl li:hover > a,
html body #nav ul.menuSubUl li a:hover { background: var(--dbim-blue-100) !important; color: var(--dbim-blue) !important; }

/* =========================================================
   HOME PAGE: left / right columns share one grid, equal heights
   ========================================================= */
html body .container:has(> .indexright) {
    display: grid; grid-template-columns: minmax(0, 1fr) 360px; grid-template-rows: auto 1fr;
    column-gap: 32px; row-gap: 32px; align-items: stretch;
}
html body .container:has(> .indexright) > .indexright { grid-column: 2; grid-row: 1 / span 2; float: none; width: auto; display: flex; flex-direction: column; margin: 0; }
html body .container:has(> .indexright) > .contentleftBlock { float: none; width: auto; margin: 0; padding: 0 !important; grid-column: 1; min-width: 0; }
html body .container:has(> .indexright) > .contentleftBlock:not(.embassyInfo) { grid-row: 1; }
html body .container:has(> .indexright) > .embassyInfo { grid-row: 2; }
html body .container:has(> .indexright) > .botimg { grid-column: 1 / -1; grid-row: 3; float: none; }
html body .indexright .cgiRight { flex: 1 1 auto; width: 100%; max-width: none; display: flex; flex-direction: column; gap: 16px; }
html body .indexright .cgiRight > section { margin: 0 !important; }
html body .indexright .cgiRight > .cgiRight__linksCard { flex: 1 1 auto; margin-bottom: 0; }

/* =========================================================
   DBIM TYPE SCALE applied to the home-page components
   desktop: H1 36 / H2 24 / H3 20 / P1 16 / P2 14 / small 12
   mobile (<=600px): 24 / 20 / 16 / 14 / 12 / 12
   ========================================================= */
html body .latestHub__card-title,
html body .resourcesHub__title,
html body .embassyResources__title,
html body .cgi-popup-header { font-size: 24px; line-height: 1.25; font-weight: 700; }

html body .cgiRight__profileName,
html body .cgiRight__sectionTitle h3,
html body .embassyInfo__header-title,
html body .cgi-popup-fraud h3 { font-size: 20px; line-height: 1.3; font-weight: 700; }

html body .cgiRight__registrationText,
html body .latestHub__item-title,
html body .embassyInfo__contact-item,
html body .embassyInfo__link,
html body .embassyInfo__link-text,
html body .mar,
html body .cgi-popup-text { font-size: 16px; line-height: 1.5; }

html body .latestHub__tab,
html body .cgiRight__linksList li a,
html body .cgiRight__profileDesignation,
html body .cgiRight__profileButton,
html body .cgiRight__viewAll,
html body .latestHub__card-description,
html body .resourcesHub__name,
html body .resourcesHub__subtitle,
html body .embassyResources__intro,
html body .cgi-popup-phone { font-size: 14px; line-height: 1.45; }

html body .cgiRight__sectionTitle p,
html body .cgiRight__linksList small,
html body .latestHub__new,
html body .embassyInfo__contact-label { font-size: 12px; line-height: 1.4; }

html body .cgiRight__linkArrow,
html body .cgiRight__viewAll span,
html body .latestHub__arrow,
html body .latestHub__tab-icon,
html body .embassyInfo__link-arrow { font-size: 16px; }

html body .cgi-popup-close { font-size: 24px; }

/* uniform vertical rhythm between home sections */
html body .container:has(> .indexright) { margin-bottom: 0; }
html body .embassyResources { padding-top: 48px; }

@media (max-width: 991px) {
    html body .container:has(> .indexright) { display: flex; flex-direction: column; gap: 32px; }
    html body .container:has(> .indexright) > .indexright { grid-column: 1; grid-row: auto; order: 3; }
    html body .container:has(> .indexright) > .contentleftBlock { grid-column: 1; }
    html body .container:has(> .indexright) > .contentleftBlock:not(.embassyInfo) { grid-row: auto; order: 1; }
    html body .container:has(> .indexright) > .embassyInfo { grid-row: auto; order: 2; }
    html body .container:has(> .indexright) > .botimg { order: 4; }
    .dbim-header__bar { flex-wrap: wrap; gap: 12px; }
}

@media (max-width: 600px) {
    :root { --dbim-gutter: 16px; }
    html body { font-size: 14px !important; }
    html body .latestHub__card-title,
    html body .resourcesHub__title,
    html body .embassyResources__title,
    html body .cgi-popup-header,
    html body .cgiRight__profileName,
    html body .cgiRight__sectionTitle h3,
    html body .embassyInfo__header-title { font-size: 20px; }
    html body .cgiRight__registrationText,
    html body .latestHub__item-title,
    html body .embassyInfo__contact-item,
    html body .embassyInfo__link,
    html body .embassyInfo__link-text,
    html body .mar,
    html body .cgi-popup-text { font-size: 14px; }
    html body .latestHub__tab,
    html body .cgiRight__linksList li a,
    html body .latestHub__card-description,
    html body .resourcesHub__name,
    html body .resourcesHub__subtitle,
    html body .embassyResources__intro { font-size: 12px; }
    html body .cgiRight__profileDesignation,
    html body .cgiRight__profileButton,
    html body .cgiRight__viewAll,
    html body .cgi-popup-phone { font-size: 14px; }
    .dbim-header__bar { min-height: 64px; }
    .dbim-header__brand img { max-height: 48px; }
    .dbim-header__tools { width: 100%; justify-content: space-between; gap: 8px; }
    .dbim-search { flex: 1 1 auto; width: auto; min-width: 0; }
    .dbim-header__icons > li { padding: 0 2px; }
    .dbim-header__icons > li + li::before { display: none; }
    .dbim-lang__menu { right: -56px; }
    html body #nav { flex-direction: column; flex-wrap: nowrap; }
    html body #nav > li > a { padding: 12px 16px; }
}

/* header brand: neutralise legacy .logo offsets; hide legacy duplicate tab tiles on small screens */
html body .dbim-header h1.logo,
html body .dbim-header .logo { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; text-align: left; }
html body .dbim-header__brand img { margin: 0 !important; }
html body .resTabIcons { display: none !important; }
html body .dbim-header__bar::before,
html body .dbim-header__bar::after { display: none !important; content: none !important; }

/* =========================================================
   INNER PAGES: DBIM type scale + equal-height content / sidebar
   ========================================================= */
html body .innerContentPart > .container {
    display: flex; align-items: stretch; gap: 32px; padding-top: 24px; padding-bottom: 48px;
}
html body .innerContentPart > .container::before,
html body .innerContentPart > .container::after { display: none !important; content: none !important; }
html body .innerContentPart .leftPartInner { flex: 1 1 0; min-width: 0; float: none; width: auto; margin: 0; }
html body .innerContentPart .rightPart {
    flex: 0 0 320px; width: 320px; float: none; margin: 0; padding: 0 0 0 24px;
    border-left: 1px solid var(--dbim-blue-border); box-sizing: border-box;
}

/* banner = H1 */
html body .innerBanner .container { display: flex; align-items: center; justify-content: space-between; min-height: 120px; }
html body .innerBanner .container::before, html body .innerBanner .container::after { display: none !important; }
html body .innerBanner .container > span {
    font-size: 36px; font-weight: 700; line-height: 1.2; color: #fff; order: 1; margin-right: auto;
}
html body .innerBanner .container > img { order: 2; max-height: 72px; width: auto; }

/* headings */
html body #innerContent h2,
html body .innerContentPart h2 { font-size: 24px; font-weight: 700; line-height: 1.25; color: var(--dbim-blue); margin: 0 0 16px; }
html body #innerContent h3 { font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--dbim-blue); margin: 24px 0 12px; }
html body #innerContent h4,
html body #innerContent h5 { font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--dbim-blue); margin: 16px 0 8px; }

/* body copy: 16px, left aligned (DBIM 4.1.1 i) */
html body #innerContent,
html body #innerContent p,
html body #innerContent li,
html body #innerContent td,
html body #innerContent div { font-size: 16px; line-height: 1.6; text-align: left !important; }
html body #innerContent p,
html body #innerContent li { margin-bottom: 12px; }
html body #innerContent strong,
html body #innerContent b { font-size: inherit; font-weight: 700; }
html body #innerContent a { color: var(--dbim-blue-700); }
html body #innerContent a:hover { color: var(--dbim-blue-600); text-decoration: underline; }

/* tables */
html body #innerContent table.web th,
html body #innerContent table th { font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--dbim-blue); text-align: left !important; }
html body #innerContent table.web td,
html body #innerContent table td { font-size: 14px; line-height: 1.5; }
html body #innerContent p.Caption { font-size: 16px; font-weight: 600; }
html body #innerContent .implabel { font-size: 14px; }

/* breadcrumb = navigation text 14px */
html body .breadcrumb,
html body .breadcrumb li,
html body .breadcrumb a,
html body .breadcrumb span { font-size: 14px; line-height: 1.4; }

/* side menu */
html body .rightPart .menuTitle,
html body .rightPart #leftMenu .menuTitle,
html body #leftMenu .menuTitle { font-size: 24px; font-weight: 700; line-height: 1.25; color: var(--dbim-blue); }
html body #leftMenu li a,
html body #leftMenu li .subNoLink,
html body .seeAlsoNav li a,
html body a.innerLink { font-size: 16px; line-height: 1.4; }
html body #leftMenu li { margin-bottom: 4px; }

@media (max-width: 991px) {
    html body .innerContentPart > .container { flex-direction: column; gap: 24px; }
    html body .innerContentPart .rightPart { flex: 1 1 auto; width: 100%; padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--dbim-blue-border); }
}

@media (max-width: 600px) {
    html body .innerBanner .container { min-height: 88px; }
    html body .innerBanner .container > span { font-size: 24px; }
    html body .innerBanner .container > img { max-height: 48px; }
    html body #innerContent h2,
    html body .innerContentPart h2 { font-size: 20px; }
    html body #innerContent h3 { font-size: 16px; }
    html body #innerContent h4, html body #innerContent h5 { font-size: 14px; }
    html body #innerContent,
    html body #innerContent p,
    html body #innerContent li,
    html body #innerContent div,
    html body #innerContent p.Caption { font-size: 14px; }
    html body #innerContent table th,
    html body #innerContent table td,
    html body #innerContent .implabel,
    html body .breadcrumb,
    html body .breadcrumb li,
    html body .breadcrumb a,
    html body .breadcrumb span { font-size: 12px; }
    html body .rightPart .menuTitle, html body #leftMenu .menuTitle { font-size: 20px; }
    html body #leftMenu li a, html body #leftMenu li .subNoLink, html body .seeAlsoNav li a, html body a.innerLink { font-size: 14px; }
}
html body .rightPart a,
html body .rightPart li a,
html body .rightPart a.innerLink { font-size: 16px !important; line-height: 1.4; }
html body #innerContent li p { margin: 0; }
html body #innerContent li { margin-bottom: 8px; }
@media (max-width: 600px) {
    html body .rightPart a, html body .rightPart li a, html body .rightPart a.innerLink { font-size: 14px !important; }
}

/* cards grow with their content instead of clipping */
html body .latestHub__card { height: auto; min-height: 490px; }

/* slider: lazy placeholders must not collapse/expand the carousel (images are ~7:3) */
html body .indexBanner .sliderImg img { width: 100%; height: auto !important; aspect-ratio: 7 / 3; object-fit: cover; }
html body .indexBanner .dataSlider { min-height: 0; }

/* home: spacing comes from margins, not stacked <br> tags */
html body .meaInfoBlock > br { display: none; }
html body .meaInfoBlock > .container { margin-top: 16px; margin-bottom: 16px; }
html body .container:has(> .indexright)::before,
html body .container:has(> .indexright)::after { display: none !important; content: none !important; }
html body .latestHub { padding-top: 0; }

/* header logo built as code: emblem + two-line title */
html body .dbim-brand { margin: 0 !important; padding: 0 !important; line-height: 1; }
.dbim-brand__link { display: flex; align-items: flex-end; gap: 5px; color: var(--dbim-blue); text-decoration: none; }
.dbim-brand__emblem { display: block; flex: 0 0 auto; width: auto; height: 64px; margin: 0 !important; }
.dbim-brand__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dbim-brand__title { color: var(--dbim-blue-700); font-size: 20px; font-weight: 700; line-height: 1.2; }
.dbim-brand__sub { color: #606060; font-size: 16px; font-weight: 500; line-height: 1.3; }
@media (max-width: 600px) {
    .dbim-brand__emblem { height: 48px; }
    .dbim-brand__title { font-size: 16px; }
    .dbim-brand__sub { font-size: 14px; }
}

/* search box: one clean bordered field (legacy input styles removed) */
html body .dbim-search {
    border: 1px solid var(--dbim-blue-border); border-bottom: 1px solid var(--dbim-blue-border);
    border-radius: 8px; box-shadow: none; overflow: hidden; background: #fff;
}
html body .dbim-search:focus-within { border-color: var(--dbim-blue-600); box-shadow: 0 0 0 3px rgba(40, 81, 176, .18); }
html body .dbim-search .dbim-search__input {
    height: 100% !important; width: auto; margin: 0 !important; padding: 0 12px !important;
    border: 0 !important; border-radius: 0 !important; background: transparent !important;
    box-shadow: none !important; outline: 0 !important; color: var(--dbim-text);
}
html body .dbim-search .dbim-search__go { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
html body .dbim-search .dbim-search__go:hover { background: var(--dbim-blue-100) !important; }

/* =========================================================
   HOME CARDS: one DBIM card language (radius 12, border, 24px rhythm, DBIM blue)
   ========================================================= */
html body .latestHub { --lh-primary: #162F6A; --lh-primary-dark: #0B1733; --lh-text: #150202; --lh-muted: #606060; --lh-border: #A3BBF3; }
html body .embassyInfo { --ei-primary: #162F6A; --ei-primary-dark: #0B1733; --ei-text: #150202; --ei-muted: #606060; --ei-border: #A3BBF3; --ei-light: #E8EEF9; }
html body .resourcesHub { --rh-primary: #162F6A; --rh-primary-dark: #0B1733; --rh-text: #150202; --rh-muted: #606060; --rh-border: #A3BBF3; }

html body .latestHub__card,
html body .embassyInfo__card,
html body .cgiRight__profile,
html body .cgiRight__socialCard,
html body .cgiRight__linksCard {
    border: 1px solid var(--dbim-blue-border); border-radius: 12px; box-shadow: none; background: #fff;
}
html body .cgiRight__registrationCard { border-radius: 12px; border-color: var(--dbim-blue-border); color: var(--dbim-blue); background: var(--dbim-blue-100); }

/* spacing: 24px between every card, both columns */
html body .container:has(> .indexright) { column-gap: 24px; row-gap: 24px; }
html body .indexright .cgiRight { gap: 24px; }
html body .cgiRight__registration { display: flex; flex-direction: column; gap: 12px; margin: 0; }
html body .cgiRight__registration > * { margin: 0 !important; }
html body .latestHub__tabs { gap: 12px; margin-bottom: 24px; }
html body .embassyInfo__grid { gap: 24px; }

/* DBIM blue for every accent that was the old #195c9f */
html body .cgiRight__profileName,
html body .cgiRight__sectionTitle h3,
html body .cgiRight__linksHeader h3,
html body .cgiRight__linksTitle { color: var(--dbim-blue); }
html body .cgiRight__profileButton,
html body .cgiRight__viewAll { background: var(--dbim-blue); color: #fff; border-radius: 8px; }
html body .cgiRight__viewAll:hover,
html body .cgiRight__profileButton:hover { background: var(--dbim-blue-700); }
html body .cgiRight__registrationText { color: var(--dbim-blue); }
html body .cgiRight__profile { position: relative; overflow: hidden; }

/* equal inner padding + regular-weight body copy (DBIM: bold only for emphasis) */
html body .embassyInfo__contact { padding: 24px; }
html body .embassyInfo__links { padding-left: 24px; padding-right: 24px; }
html body .embassyInfo__contact-item { font-weight: 400; color: var(--dbim-text); }
html body .embassyInfo__contact-label { font-weight: 600; color: var(--dbim-blue); letter-spacing: .02em; }
html body .embassyInfo__contact-item a { color: var(--dbim-blue-700); font-weight: 600; text-decoration: underline; }
html body .latestHub__item-title { font-weight: 500; color: var(--dbim-text); }
html body .latestHub__card-title { color: var(--dbim-blue); }
html body .latestHub__card-head { padding: 24px; }

/* fill the card so both columns end on the same line with no dead space */
html body .embassyInfo__grid { align-items: stretch; }
html body .embassyInfo__card { display: flex; flex-direction: column; height: 100%; }
html body .embassyInfo__contact,
html body .embassyInfo__links { flex: 1 1 auto; }
html body .embassyInfo__contact { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
html body .embassyInfo__contact-item:last-child { padding-bottom: 0; }
html body .latestHub__card { display: flex; flex-direction: column; }
html body .latestHub__list { flex: 1 1 auto; }

@media (max-width: 600px) {
    html body .container:has(> .indexright) { row-gap: 16px; }
    html body .indexright .cgiRight { gap: 16px; }
    html body .embassyInfo__contact { padding: 16px; }
    html body .embassyInfo__links { padding-left: 16px; padding-right: 16px; }
    html body .latestHub__card-head { padding: 16px; }
}

/* stretch the Important Contact / About Us row to the full height of the right column */
html body .container:has(> .indexright) > .embassyInfo { display: flex; flex-direction: column; }
html body .embassyInfo__container { flex: 1 1 auto; display: flex; flex-direction: column; height: auto; }
html body .embassyInfo__grid { flex: 1 1 auto; }
html body .embassyInfo__contact-item,
html body .embassyInfo__contact-item * { font-weight: 400; }
html body .embassyInfo__contact-item .embassyInfo__contact-label { font-weight: 600; }
html body .embassyInfo__contact-item a { font-weight: 600; }

/* =========================================================
   HOME ROWS: each row has a left block and a right block of identical height
   row 1: tabs + Press Releases  |  profile + registration + Stay Connected
   row 2: Important Contact + About Us  |  Stay Connected MEA + Important Links
   ========================================================= */
html body .container:has(> .indexright) { grid-template-rows: auto auto; }
html body .container:has(> .indexright) > .indexright,
html body .indexright .cgiRight { display: contents; }
html body .cgiRight__group { display: flex; flex-direction: column; gap: 24px; min-width: 0; grid-column: 2; }
html body .cgiRight__group--top { grid-row: 1; }
html body .cgiRight__group--bottom { grid-row: 2; }
html body .cgiRight__group > section { width: 100%; margin: 0 !important; }
html body .cgiRight__group--top > .cgiRight__profile { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }
html body .cgiRight__group--bottom > .cgiRight__linksCard { flex: 1 1 auto; }

@media (max-width: 991px) {
    html body .cgiRight__group { grid-column: auto; grid-row: auto; }
    html body .cgiRight__group--top { order: 3; }
    html body .cgiRight__group--bottom { order: 4; }
    html body .container:has(> .indexright) > .botimg { order: 5; }
}
@media (max-width: 600px) { html body .cgiRight__group { gap: 16px; } }

/* row 1: let the Press Releases card absorb the extra height so it ends level with the right block */
html body .container:has(> .indexright) > .contentleftBlock:not(.embassyInfo) { display: flex; flex-direction: column; }
html body .latestHub,
html body .latestHub__container,
html body .latestHub__content { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
html body .latestHub__panel.is-active { flex: 1 1 auto; display: flex; flex-direction: column; }
html body .latestHub__panel.is-active > .latestHub__card { flex: 1 1 auto; }
html body .latestHub__tabs { flex: 0 0 auto; }

/* =========================================================
   MORE DBIM ICONS (mask-based, colour follows text) + legacy GIF replacement
   ========================================================= */
.dbim-ico--pdf            { --dbim-icon: url("../images/dbim-icons/pdf.svg"); }
.dbim-ico--open-in-new    { --dbim-icon: url("../images/dbim-icons/open-in-new.svg"); }
.dbim-ico--arrow-left     { --dbim-icon: url("../images/dbim-icons/arrow-left.svg"); }
.dbim-ico--arrow-right    { --dbim-icon: url("../images/dbim-icons/arrow-left.svg"); transform: rotate(180deg); }
.dbim-ico--calendar-month { --dbim-icon: url("../images/dbim-icons/calendar-month.svg"); }
.dbim-ico--phone          { --dbim-icon: url("../images/dbim-icons/phone.svg"); }
.dbim-ico--account-circle { --dbim-icon: url("../images/dbim-icons/account-circle.svg"); }
.dbim-ico--play           { --dbim-icon: url("../images/dbim-icons/play.svg"); }
.dbim-ico--pause          { --dbim-icon: url("../images/dbim-icons/pause.svg"); }
.dbim-ico--chevron-left   { --dbim-icon: url("../images/dbim-icons/chevron-left.svg"); }

.dbim-ico--sm { width: 16px; height: 16px; vertical-align: -3px; }
a > .dbim-ico--pdf, a > .dbim-ico--open-in-new { margin-left: 6px; }
html body .latestHub__tab-icon .dbim-ico { width: 20px; height: 20px; vertical-align: middle; }
html body .latestHub__arrow, html body .embassyInfo__link-arrow, html body .cgiRight__linkArrow { display: inline-flex; align-items: center; justify-content: center; }
html body .latestHub__arrow .dbim-ico, html body .embassyInfo__link-arrow .dbim-ico, html body .cgiRight__linkArrow .dbim-ico { width: 16px; height: 16px; vertical-align: 0; }
html body .cgiRight__profileButton .dbim-ico, html body .cgiRight__viewAll .dbim-ico { width: 16px; height: 16px; vertical-align: -3px; }

/* NEW badge replaces the animated "new" GIFs */
.dbim-badge-new {
    display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 4px;
    background: #DC3545; color: #fff !important; font-size: 12px; font-weight: 700; line-height: 1.4;
    letter-spacing: .02em; text-transform: uppercase; vertical-align: middle;
}

/* social tiles: DBIM icons on DBIM blue */
html body .cgiRight__socialGrid { display: flex; justify-content: center; gap: 16px; }
html body .cgiRight__socialItem { width: 40px; height: 40px; border-radius: 50%; background: var(--dbim-blue); color: #fff; }
html body .cgiRight__socialItem .dbim-ico { width: 20px; height: 20px; }
html body .cgiRight__socialItem:hover { background: var(--dbim-blue-700); }

/* CMS-authored content still contains <img src=".../PDF-icon.gif"> etc: swap to the DBIM SVG without touching the database */
img[src$="PDF-icon.gif"], img[src$="ext-link-icon.gif"] {
    box-sizing: content-box; width: 0 !important; height: 0 !important; padding: 20px 20px 0 0 !important;
    margin: 0 0 0 6px; vertical-align: -4px; overflow: hidden; border: 0 !important;
    background: center / contain no-repeat;
}
img[src$="PDF-icon.gif"] { background-image: url("../images/dbim-icons/pdf.svg"); }
img[src$="ext-link-icon.gif"] { background-image: url("../images/dbim-icons/open-in-new.svg"); }
html.dbim-dark img[src$="PDF-icon.gif"], html.dbim-dark img[src$="ext-link-icon.gif"],
html.dbim-contrast img[src$="PDF-icon.gif"], html.dbim-contrast img[src$="ext-link-icon.gif"] { filter: invert(1) brightness(2); }

/* DBIM chevron/arrow artwork has built-in padding: render at 24px so it reads like the old glyphs */
html body .latestHub__arrow .dbim-ico, html body .embassyInfo__link-arrow .dbim-ico, html body .cgiRight__linkArrow .dbim-ico { width: 24px; height: 24px; }
html body .cgiRight__viewAll .dbim-ico, html body .cgiRight__profileButton .dbim-ico { width: 20px; height: 20px; }
html body .latestHub__card-head a .dbim-ico, html body .latestHub__view-all .dbim-ico { width: 20px; height: 20px; vertical-align: -5px; }
html body .embassyInfo__header-icon .dbim-ico { width: 22px; height: 22px; color: #fff; }
html body .latestHub__tab-icon .dbim-ico { width: 24px; height: 24px; }
html body .dbim-ico--sm.dbim-ico--chevron-right { width: 20px; height: 20px; vertical-align: -5px; }

/* line icons downloaded from Material Symbols (Outlined) where DBIM has no equivalent */
.dbim-ico--newspaper     { --dbim-icon: url("../images/dbim-icons/newspaper.svg"); }
.dbim-ico--campaign      { --dbim-icon: url("../images/dbim-icons/campaign.svg"); }
.dbim-ico--info          { --dbim-icon: url("../images/dbim-icons/info.svg"); }
.dbim-ico--photo-library { --dbim-icon: url("../images/dbim-icons/photo_library.svg"); }
html body .embassyInfo__header-icon .dbim-ico--info { width: 22px; height: 22px; }
html body .latestHub__card-icon .dbim-ico, html body .embassyInfo__header-icon .dbim-ico { width: 24px; height: 24px; }

/* =========================================================
   DBIM COLOUR SYSTEM
   Blue group  #162F6A #214AAB #5279D7 #A3BBF3 #D2DFFF
   Text over light  #150202   |   Linen #EBEAEA   |   Inclusive white #FFFFFF
   Functional  error #DC3545 · success #198754 · warning #FFC107 · info/hyperlink-on-key #0D6EFD
   Greys  #C6C6C6 #8E8E8E #606060
   ========================================================= */
:root { --dbim-link: #214AAB; --dbim-link-hover: #162F6A; --dbim-muted: #606060; --dbim-linen: #EBEAEA; --dbim-error: #DC3545; --dbim-success: #198754; --dbim-warning: #FFC107; }

html body { color: var(--dbim-text); }
html body p, html body li, html body td, html body th, html body dd, html body dt, html body label, html body address { color: inherit; }

/* links: #214AAB, hover #162F6A (class-less anchors; zero specificity so components can override) */
html body :where(a:not([class])) { color: var(--dbim-link); text-decoration: underline; text-underline-offset: 2px; }
html body :where(a:not([class]):hover) { color: var(--dbim-link-hover); }

/* link components that carry a class */
html body #innerContent a,
html body .breadcrumb a,
html body .rightPart a,
html body #leftMenu li a,
html body .seeAlsoNav li a,
html body a.innerLink,
html body .mar,
html body .latestHub__item .latestHub__item-title,
html body .latestHub__item,
html body .embassyInfo__link,
html body .embassyInfo__link-text,
html body .cgiRight__linksList li a,
html body .cgiRight__linksList li a span,
html body .embassyInfo__contact-item a { color: var(--dbim-link); }
html body #innerContent a:hover,
html body .breadcrumb a:hover,
html body .rightPart a:hover,
html body #leftMenu li a:hover,
html body .seeAlsoNav li a:hover,
html body a.innerLink:hover,
html body a.mar:hover,
html body .latestHub__item:hover .latestHub__item-title,
html body .latestHub__item:hover,
html body .embassyInfo__link:hover,
html body .embassyInfo__link:hover .embassyInfo__link-text,
html body .cgiRight__linksList li a:hover,
html body .cgiRight__linksList li a:hover span,
html body .embassyInfo__contact-item a:hover { color: var(--dbim-link-hover); }
html body .rightPart a:hover, html body #leftMenu li a:hover { text-decoration: underline; }


/* text on light */
html body #innerContent, html body #innerContent p, html body #innerContent li, html body #innerContent td, html body #innerContent div { color: var(--dbim-text); }
html body #innerContent strong, html body #innerContent b { color: inherit; }
html body .cgiRight__profileDesignation, html body .cgiRight__linksList small,
html body .latestHub__card-description, html body .cgiRight__sectionTitle p { color: var(--dbim-muted); }
html body .latestHub__tab, html body .embassyInfo__contact-item { color: var(--dbim-text); }
html body .latestHub__tab.is-active { color: #fff; }

/* home surfaces */
html body .indexBanner .bannerCaption, html body .bannerCaption { background: #162F6A; }
html body .cgiRight__registrationCard { background: var(--dbim-blue-100); }
html body .latestHub__card-icon, html body .embassyInfo__link-icon, html body .cgiRight__linkArrow { background: var(--dbim-blue-100); color: var(--dbim-blue); }
html body .cgiRight__profileImage { background: var(--dbim-linen); }
html body .embassyResources__visual, html body .embassyResources__governmentLink { background: var(--dbim-linen); }
html body .embassyResources { --ers-navy: #162F6A; --ers-blue: #214AAB; --ers-text: #150202; --ers-muted: #606060; --ers-border: #D2DFFF; }
html body .embassyResources__governmentButton { background: #162F6A; }
html body .latestHub__new { background: var(--dbim-error); }
html body .embassyInfo__contact-item { background: transparent; }
html body .embassyInfo__contact-item:first-of-type { border-left-color: var(--dbim-error); }
html body .embassyInfo__contact-label { color: var(--dbim-blue); }
html body .embassyInfo__contact-item:first-of-type .embassyInfo__contact-label { color: var(--dbim-error); }
html body .latestHub { --lh-border: #D2DFFF; --lh-text: #150202; --lh-muted: #606060; }
html body .embassyInfo { --ei-border: #D2DFFF; --ei-text: #150202; --ei-muted: #606060; }

/* keyboard focus: info blue on light, warning yellow on dark surfaces */
html body a:focus-visible, html body button:focus-visible, html body input:focus-visible,
html body select:focus-visible, html body textarea:focus-visible, html body [tabindex]:focus-visible {
    outline: 3px solid #0D6EFD; outline-offset: 2px; border-radius: 2px;
}
html body #nav a:focus-visible, html body .dbim-footer a:focus-visible, html body .mainNavigation a:focus-visible,
html body .embassyInfo__header a:focus-visible, html body .cgiRight__viewAll:focus-visible,
html body .cgiRight__profileButton:focus-visible, html body .latestHub__tab.is-active:focus-visible { outline-color: #FFC107; }

/* buttons share one DBIM state model: enabled / hover / focus / disabled */
html body .cgiRight__profileButton, html body .cgiRight__viewAll, html body .button, html body button.button,
html body input[type="submit"].button { background: #162F6A; color: #fff; }
html body .cgiRight__profileButton:hover, html body .cgiRight__viewAll:hover { background: #214AAB; color: #fff; }
html body button:disabled, html body .button[disabled], html body input[type="submit"]:disabled { background: #C6C6C6; color: #606060; cursor: not-allowed; }

/* legacy #menuLeft / #menuRight ids (injected theme styles target these) */
html body #menuLeft li a, html body #menuLeft li .subNoLink, html body .rightPart #menuLeft a, html body .breadcrumb li a { color: var(--dbim-link); }
html body #menuLeft li a:hover, html body #menuLeft li a:focus, html body .breadcrumb li a:hover { color: var(--dbim-link-hover); text-decoration: underline; }

/* banners on form / registration pages have no .container wrapper: give them the same frame */
html body .innerBanner:not(:has(> .container)) {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 120px;
    padding: 0 max(var(--dbim-gutter), calc((100% - var(--dbim-maxw)) / 2 + var(--dbim-gutter))); box-sizing: border-box;
}
html body .innerBanner:not(:has(> .container)) > span { font-size: 36px; font-weight: 700; line-height: 1.2; color: #fff; order: 1; margin-right: auto; }
html body .innerBanner:not(:has(> .container)) > img { order: 2; max-height: 72px; width: auto; }
@media (max-width: 600px) {
    html body .innerBanner:not(:has(> .container)) { min-height: 88px; }
    html body .innerBanner:not(:has(> .container)) > span { font-size: 24px; }
    html body .innerBanner:not(:has(> .container)) > img { max-height: 48px; }
}

/* =========================================================
   FORMS (DBIM): labels, fields, buttons
   ========================================================= */
html body .innerContentPart label { color: var(--dbim-text); font-size: 16px; font-weight: 500; }
html body .innerContentPart label .req, html body .innerContentPart span.red, html body .innerContentPart font[color="red"] { color: var(--dbim-error); }
html body .innerContentPart input[type="text"], html body .innerContentPart input[type="email"], html body .innerContentPart input[type="tel"],
html body .innerContentPart input[type="number"], html body .innerContentPart input[type="password"], html body .innerContentPart input[type="date"],
html body .innerContentPart select, html body .innerContentPart textarea {
    box-sizing: border-box; min-height: 44px; padding: 8px 12px; border: 1px solid #8E8E8E; border-radius: 6px;
    background: #fff; color: var(--dbim-text); font-size: 16px; line-height: 1.4; max-width: 100%;
}
html body .innerContentPart textarea { min-height: 120px; }
html body .innerContentPart input:focus, html body .innerContentPart select:focus, html body .innerContentPart textarea:focus {
    border-color: var(--dbim-blue-700); outline: 3px solid rgba(33, 74, 171, .35); outline-offset: 0;
}
html body .innerContentPart input[type="submit"], html body .innerContentPart input[type="button"], html body .innerContentPart input[type="reset"],
html body .innerContentPart button[type="submit"], html body .innerContentPart button[type="reset"], html body .innerContentPart .btn-primary {
    min-height: 44px; padding: 10px 24px; border: 1px solid var(--dbim-blue); border-radius: 6px;
    background: var(--dbim-blue); color: #fff; font-size: 16px; font-weight: 600; line-height: 1.2; cursor: pointer;
}
html body .innerContentPart input[type="reset"], html body .innerContentPart button[type="reset"] { background: #fff; color: var(--dbim-blue); }
html body .innerContentPart input[type="submit"]:hover, html body .innerContentPart input[type="button"]:hover,
html body .innerContentPart button[type="submit"]:hover { background: var(--dbim-blue-700); border-color: var(--dbim-blue-700); color: #fff; }
html body .innerContentPart input[type="reset"]:hover, html body .innerContentPart button[type="reset"]:hover { background: var(--dbim-blue-100); }
html body .innerContentPart input[type="submit"]:focus-visible, html body .innerContentPart button:focus-visible { outline: 3px solid #0D6EFD; outline-offset: 2px; }
html body .innerContentPart input:disabled, html body .innerContentPart select:disabled, html body .innerContentPart textarea:disabled { background: var(--dbim-linen); color: var(--dbim-muted); border-color: #C6C6C6; }
html body .innerContentPart .error, html body .innerContentPart label.error { color: var(--dbim-error); font-size: 14px; }
html body .innerContentPart .success { color: var(--dbim-success); }
@media (max-width: 600px) {
    html body .innerContentPart label { font-size: 14px; }
    html body .innerContentPart input[type="text"], html body .innerContentPart input[type="email"], html body .innerContentPart input[type="tel"],
    html body .innerContentPart select, html body .innerContentPart textarea { width: 100%; font-size: 16px; }
}

/* legacy theme-injection leftovers: keep DBIM colours authoritative */
html body .Ractive { color: var(--dbim-link) !important; }
html body .Ractive:hover { color: var(--dbim-link-hover) !important; }
html body .innerContentPart input[type="submit"], html body .innerContentPart input[type="button"],
html body .innerContentPart button[type="submit"] { background: var(--dbim-blue) !important; color: #fff !important; border-color: var(--dbim-blue) !important; }
html body .innerContentPart input[type="submit"]:hover, html body .innerContentPart input[type="button"]:hover,
html body .innerContentPart button[type="submit"]:hover { background: var(--dbim-blue-700) !important; border-color: var(--dbim-blue-700) !important; }
html body .innerContentPart input[type="reset"], html body .innerContentPart button[type="reset"] { background: #fff !important; color: var(--dbim-blue) !important; border: 1px solid var(--dbim-blue) !important; }
html body .innerContentPart input[type="reset"]:hover, html body .innerContentPart button[type="reset"]:hover { background: var(--dbim-blue-100) !important; }

/* no underline on hover or keyboard focus, anywhere (colour change is the hover cue) */
html body a:hover, html body a:focus, html body a:active,
html body a:hover *, html body a:focus * { text-decoration: none !important; }

/* =========================================================
   ICONS: one size / style / alignment for every PDF + external-link marker
   ========================================================= */
html body .dbim-ico--pdf, html body .dbim-ico--open-in-new,
html body img[src$="PDF-icon.gif"], html body img[src$="ext-link-icon.gif"] {
    display: inline-block; flex: 0 0 auto; width: 20px; height: 20px; margin-left: 6px; vertical-align: -4px; color: inherit;
}
html body img[src$="PDF-icon.gif"], html body img[src$="ext-link-icon.gif"] { width: 0 !important; height: 0 !important; padding: 20px 20px 0 0 !important; box-sizing: content-box; }
html body #nav .dbim-ico--pdf, html body #nav .dbim-ico--open-in-new { margin-left: 6px; }

/* =========================================================
   ANNOUNCEMENTS TICKER (DBIM red group: #A72626 label, #FCDADA track)
   ========================================================= */
html body .dbim-ann {
    display: flex; align-items: stretch; min-height: 48px; margin-top: 16px !important; margin-bottom: 0;
    border-radius: 6px; overflow: hidden; background: #FCDADA;
}
.dbim-ann__label {
    display: flex; align-items: center; gap: 12px; flex: 0 0 auto; padding: 0 16px;
    background: #A72626; color: #fff;
}
.dbim-ann__title { color: #fff; font-size: 16px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.dbim-ann__toggle {
    display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; padding: 0;
    border: 1px solid #fff; border-radius: 2px; background: transparent; color: #fff; cursor: pointer;
}
.dbim-ann__toggle .dbim-ico { width: 18px; height: 18px; }
.dbim-ann__toggle:hover { background: rgba(255, 255, 255, .18); }
html body .dbim-ann__toggle:focus-visible { outline: 3px solid #FFC107; outline-offset: 2px; }
.dbim-ann__track { flex: 1 1 auto; min-width: 0; overflow: hidden; display: flex; align-items: center; }
html body .dbim-ann marquee { display: block; width: 100%; height: 48px; line-height: 48px; color: var(--dbim-text); font-weight: 500; }
.dbim-ann__item { display: inline-flex; align-items: center; gap: 8px; margin-right: 40px; font-size: 16px; line-height: 48px; white-space: nowrap; vertical-align: top; height: 48px; }
.dbim-ann__dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: #A72626; }
html body .dbim-ann .mar { font-size: 16px; font-weight: 500; }
html body .dbim-ann .dbim-ico { color: #A72626; margin-left: 0; }
html body .dbim-ann a.mar { color: var(--dbim-link); }
html body .dbim-ann a.mar:hover { color: var(--dbim-link-hover); }
html body .dbim-ann .dbim-badge-new { margin-left: 0; }
@media (max-width: 600px) {
    html body .dbim-ann { min-height: 40px; }
    .dbim-ann__label { padding: 0 10px; gap: 8px; }
    .dbim-ann__title { font-size: 14px; }
    .dbim-ann__toggle { width: 24px; height: 24px; }
    .dbim-ann__toggle .dbim-ico { width: 16px; height: 16px; }
    html body .dbim-ann marquee, .dbim-ann__item { height: 40px; line-height: 40px; }
    .dbim-ann__item, html body .dbim-ann .mar { font-size: 14px; }
}

/* ticker: keep the strip inside the page frame; icons red only inside items */
html body .dbim-ann { background: transparent; overflow: visible; border-radius: 0; }
.dbim-ann__label { border-radius: 6px 0 0 6px; }
html body .dbim-ann__track { background: #FCDADA; border-radius: 0 6px 6px 0; }
html body .dbim-ann .dbim-ico { color: inherit; }
html body .dbim-ann .dbim-ann__item .dbim-ico { color: #A72626; }
html body .dbim-ann .dbim-ann__toggle .dbim-ico { color: #fff; }

/* links on dark surfaces stay white (or yellow in contrast mode) on hover/focus */
html body .dbim-footer a:hover, html body .dbim-footer a:focus,
html body .dbim-footer__links a:hover, html body .dbim-footer__powered a:hover { color: #fff; }
html body .dbim-footer__social a:hover { color: var(--dbim-blue); }

/* =========================================================
   DARK MODE FIXES (artwork that is dark-on-transparent, light strips)
   ========================================================= */
html.dbim-dark .dbim-brand__emblem,
html.dbim-contrast .dbim-brand__emblem { filter: invert(1) brightness(1.15); }
html.dbim-dark .dbim-brand__title { color: #9EC1FF !important; }
html.dbim-dark .dbim-brand__sub { color: #E6ECF8 !important; }

html.dbim-dark body .embassyPartnerStrip { background: var(--dbim-blue-900) !important; border-top-color: #2B4276 !important; }
html.dbim-dark body .embassyPartnerStrip__title { color: #E6ECF8 !important; }
html.dbim-dark body .embassyPartnerStrip__item,
html.dbim-contrast body .embassyPartnerStrip__item { background: #fff !important; border-color: #A3BBF3 !important; }
html.dbim-contrast body .embassyPartnerStrip { background: #000 !important; }
html.dbim-dark body .embassyPartnerStrip__viewport,
html.dbim-contrast body .embassyPartnerStrip__viewport { background: transparent !important; }

html.dbim-dark body .cgiRight__registrationIcon img,
html.dbim-dark body .cgiRight__linkIcon img { filter: invert(1) brightness(1.1); }

/* ---- dark mode: restore component fills that the blanket dark rule flattened.
   ":not(#d)" lifts specificity above the blanket "body *:not(...)" rule. ---- */
html.dbim-dark:not(#d) body .dbim-ann__label { background: #A72626 !important; }
html.dbim-dark:not(#d) body .dbim-ann__track { background: #3A1519 !important; }
html.dbim-dark:not(#d) body .dbim-ann__item, html.dbim-dark:not(#d) body .dbim-ann marquee { background: transparent !important; color: #E6ECF8 !important; }
html.dbim-dark:not(#d) body .dbim-ann a.mar { color: #9EC1FF !important; }
html.dbim-dark:not(#d) body .dbim-ann__dot { background: #FF8A8A !important; }
html.dbim-dark:not(#d) body .dbim-ann__item .dbim-ico { background-color: #FF8A8A !important; }
html.dbim-dark:not(#d) body .dbim-ann__toggle { background: transparent !important; border-color: #fff !important; }

html.dbim-dark:not(#d) body .bannerCaption { background: #162F6A !important; }
html.dbim-dark:not(#d) body .latestHub__tab.is-active { background: #214AAB !important; border-color: #214AAB !important; color: #fff !important; }
html.dbim-dark:not(#d) body .latestHub__tab.is-active * { color: #fff !important; }
html.dbim-dark:not(#d) body .cgiRight__profileButton,
html.dbim-dark:not(#d) body .cgiRight__viewAll { background: #214AAB !important; color: #fff !important; }
html.dbim-dark:not(#d) body .cgiRight__profileButton *, html.dbim-dark:not(#d) body .cgiRight__viewAll * { color: #fff !important; }
html.dbim-dark:not(#d) body .latestHub__new, html.dbim-dark:not(#d) body .embassyInfo__new, html.dbim-dark:not(#d) body .dbim-badge-new { background: #DC3545 !important; color: #fff !important; }
html.dbim-dark:not(#d) body .embassyInfo__header { background: #162F6A !important; }
html.dbim-dark:not(#d) body .embassyInfo__header * { color: #fff !important; }
html.dbim-dark:not(#d) body .embassyInfo__header-icon { background: rgba(255, 255, 255, .16) !important; }
html.dbim-dark:not(#d) body .cgiRight__socialItem { background: #9EC1FF !important; color: #0B1733 !important; }
html.dbim-dark:not(#d) body .cgiRight__socialItem .dbim-ico { background-color: #0B1733 !important; }
html.dbim-dark:not(#d) body .latestHub__card-icon, html.dbim-dark:not(#d) body .cgiRight__linkArrow, html.dbim-dark:not(#d) body .embassyInfo__link-icon { background: #1B3470 !important; }

/* footer: one flat dark surface, white links */
html.dbim-dark:not(#d) body footer.dbim-footer { background: #12254F !important; }
html.dbim-dark:not(#d) body footer.dbim-footer * { background-color: transparent !important; }
html.dbim-dark:not(#d) body footer.dbim-footer a, html.dbim-dark:not(#d) body footer.dbim-footer strong, html.dbim-dark:not(#d) body footer.dbim-footer p { color: #fff !important; }
html.dbim-dark:not(#d) body footer.dbim-footer .dbim-footer__social a:hover { background-color: #fff !important; }
html.dbim-dark:not(#d) body footer.dbim-footer .dbim-footer__social a:hover .dbim-ico { background-color: #162F6A !important; }
html.dbim-dark:not(#d) body footer.dbim-footer .dbim-ico { background-color: currentColor !important; }
html.dbim-dark:not(#d) body footer.dbim-footer .dbim-footer__social a:hover { color: #162F6A !important; }
html.dbim-dark:not(#d) body .dbim-ann__title,
html.dbim-dark:not(#d) body .embassyInfo__header-title,
html.dbim-dark:not(#d) body .embassyInfo__header span:not(.embassyInfo__header-icon):not(.dbim-ico),
html.dbim-dark:not(#d) body .latestHub__tab-icon,
html.dbim-dark:not(#d) body .latestHub__tab span:not(.dbim-ico),
html.dbim-dark:not(#d) body .cgiRight__profileButton span:not(.dbim-ico),
html.dbim-dark:not(#d) body .cgiRight__viewAll span:not(.dbim-ico) { background: transparent !important; }
html.dbim-dark:not(#d) body .rightPartShadow, html.dbim-dark:not(#d) body .rightPartShadow::before, html.dbim-dark:not(#d) body .rightPartShadow::after { background: none !important; box-shadow: none !important; border-color: #2B4276 !important; }
html.dbim-dark:not(#d) body .rightPartShadow { border-left: 1px solid #2B4276 !important; }
html.dbim-dark:not(#d) body .dbim-ann a, html.dbim-dark:not(#d) body .dbim-ann .mar { background: transparent !important; }
html.dbim-dark:not(#d) body .innerBanner { background: #162F6A !important; }
html.dbim-dark:not(#d) body .innerBanner * { background: transparent !important; }

/* =========================================================
   SLIDER CONTROLS: DBIM icons instead of the old PNG sprite (works in light, dark and contrast modes)
   ========================================================= */
html body .sliderControls .spriteHomeIcon {
    width: 28px; height: 28px; margin: 0 2px; vertical-align: middle;
    background: #fff !important; text-indent: -9999px; overflow: hidden; white-space: nowrap;
    -webkit-mask: var(--dbim-icon) center / contain no-repeat; mask: var(--dbim-icon) center / contain no-repeat;
    cursor: pointer;
}
html body .sliderControls .prevIcon    { --dbim-icon: url("../images/dbim-icons/chevron-left.svg"); }
html body .sliderControls .nextIcon    { --dbim-icon: url("../images/dbim-icons/chevron-right.svg"); }
html body .sliderControls .sliderPlay  { --dbim-icon: url("../images/dbim-icons/play.svg"); }
html body .sliderControls .sliderPause { --dbim-icon: url("../images/dbim-icons/pause.svg"); }
html body .sliderControls .spriteHomeIcon:hover { background: var(--dbim-blue-100) !important; }
html body .sliderControls .spriteHomeIcon:focus-visible { outline: 3px solid #FFC107; outline-offset: 2px; }
html.dbim-dark:not(#d) body .sliderControls .spriteHomeIcon { background-color: #fff !important; }
html.dbim-dark:not(#d) body .sliderControls .spriteHomeIcon:hover { background-color: #A3BBF3 !important; }
html.dbim-contrast:not(#d) body .sliderControls .spriteHomeIcon { background-color: #FFEB3B !important; }
html.dbim-dark:not(#d) body .view-updates a.textview, html.dbim-dark:not(#d) body .view-updates a.textview:hover { color: #fff !important; background: transparent !important; }
html body .view-updates a.textview { color: #fff; font-size: 16px; font-weight: 600; }
html body .view-updates a.textview:hover { color: var(--dbim-blue-100); }
html.dbim-dark:not(#d) body .sliderControlLinks, html.dbim-dark:not(#d) body .sliderControlWrap, html.dbim-dark:not(#d) body .sliderControls, html.dbim-dark:not(#d) body .view-updates { background: #162F6A !important; }

/* dark mode: menu dropdowns */
html.dbim-dark:not(#d) body #nav ul.menuSubUl { background: #12254F !important; border-color: #2B4276 !important; }
html.dbim-dark:not(#d) body #nav ul.menuSubUl li, html.dbim-dark:not(#d) body #nav ul.menuSubUl li a { background: #12254F !important; color: #fff !important; }
html.dbim-dark:not(#d) body #nav ul.menuSubUl li:hover > a, html.dbim-dark:not(#d) body #nav ul.menuSubUl li a:hover { background: #1B3470 !important; color: #fff !important; }
html.dbim-dark:not(#d) body #nav ul.menuSubUl .dbim-ico { background-color: #fff !important; }

/* =========================================================
   MOBILE MENU (legacy push-menu restyled with DBIM colours + icons)
   ========================================================= */
html body .menu-triggers {
    display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 0; padding: 0 16px;
    color: #fff; text-decoration: none; background: transparent;
}
html body .menu-triggers em { color: #fff; font-size: 16px; font-weight: 600; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
html body .menu-triggers:focus-visible { outline: 3px solid #FFC107; outline-offset: -3px; }

html body .mp-menu, html body .mp-menu .mp-level { background: #162F6A; }
html body .mp-menu h2 {
    margin: 0; padding: 16px; background: #0B1733; color: #fff; text-shadow: none;
    font-size: 16px; font-weight: 700; line-height: 1.35; letter-spacing: 0; text-transform: none;
}
html body .mp-menu ul > li { padding-right: 0; box-shadow: inset 0 -1px rgba(255, 255, 255, .16); }
html body .mp-menu ul li > a {
    display: flex; align-items: center; min-height: 48px; padding: 12px 48px 12px 16px;
    color: #fff; font-size: 16px; font-weight: 500; line-height: 1.35; text-shadow: none; text-decoration: none;
}
html body .mp-menu ul li > a:hover, html body .mp-menu ul li > a:focus { background-color: #214AAB; color: #fff; }
html body .mp-menu ul li > a:focus-visible { outline: 3px solid #FFC107; outline-offset: -3px; }
html body .mp-menu ul li.icon-arrow-left { background: none; }
html body .mp-menu ul li.icon-arrow-left > a { background-image: url("../images/dbim-icons/chevron-right-white.svg"); background-repeat: no-repeat; background-position: right 12px center; background-size: 24px 24px; }
html body .mp-back {
    display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 12px 16px; background: #214AAB;
    color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; box-shadow: none;
}
html body .mp-back::before {
    content: ""; flex: 0 0 auto; width: 24px; height: 24px; background: #fff;
    -webkit-mask: url("../images/dbim-icons/chevron-left.svg") center / contain no-repeat; mask: url("../images/dbim-icons/chevron-left.svg") center / contain no-repeat;
}
html body .mp-menu .dbim-ico { background-color: #fff; }
html body .mp-menu .mp-level.mp-level-overlay li > a { background-image: none; }

/* home columns: inner wrappers fill their column (legacy min(100% - 20px) made left cards narrower than the rest) */
html body .latestHub__container, html body .embassyInfo__container { width: 100% !important; max-width: none !important; margin: 0 !important; }
html body .sliderControlLinks { background: #162F6A; }
@media (max-width: 600px) {
    html body .indexBanner .contentWidthSlider, html body .sliderControlLinks .container { padding-left: var(--dbim-gutter); padding-right: var(--dbim-gutter); }
}
@media (max-width: 991px) {
    html body .container:has(> .indexright) > .contentleftBlock, html body .container:has(> .indexright) > .embassyInfo { width: 100% !important; max-width: 100% !important; }
    html body .embassyInfo__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) { html body .embassyInfo__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 991px) {
    html body .container:has(> .indexright) > .contentleftBlock, html body .latestHub, html body .latestHub__container, html body .latestHub__content,
    html body .embassyInfo, html body .embassyInfo__container { height: auto !important; min-height: 0; overflow: visible; }
}
@media (min-width: 601px) and (max-width: 991px) {
    html body .latestHub__tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
    html body .latestHub__tab { min-width: 0; white-space: normal; text-align: left; justify-content: flex-start; }
}
@media (max-width: 600px) {
    html body .latestHub__tabs { display: flex; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 4px; }
    html body .latestHub__tab { flex: 0 0 auto; min-width: 0; white-space: nowrap; scroll-snap-align: start; }
}

/* the hamburger trigger belongs to the mobile/tablet menu only (legacy breakpoint: nav hidden at <=1023px) */
@media (min-width: 1024px) { html body .menu-triggers { display: none; } }
@media (min-width: 601px) and (max-width: 991px) {
    html body .dbim-header__bar { flex-wrap: nowrap; }
    html body .dbim-header__tools { margin-left: auto; }
    html body .dbim-search { width: 240px; }
}
