/* ==========================================================================
   Embassy of India, Washington D.C. - Homepage (DBIM v3.0 aligned)
   Loaded by resources/views/layouts/dbim.blade.php only. All selectors are dbim- prefixed.
   Palette  : DBIM blue #162F6A / #214AAB / #5297D7 / #A3BBF3 / #D2DFFF + functional colours
   Type     : Noto Sans (self-hosted, Portal/fonts/noto-sans.css); 36/24/20/16/14/12 desktop, 24/20/16/14/12/10 mobile
   Width    : content never wider than 1440px, centred, fluid gutters below that
   ========================================================================== */

:root {
    /* DBIM brand blues */
    --dbim-blue-900: #162F6A;
    --dbim-blue-700: #214AAB;
    --dbim-blue-500: #5297D7;
    --dbim-blue-300: #A3BBF3;
    --dbim-blue-100: #D2DFFF;
    /* DBIM functional colours (used only for their meaning) */
    --dbim-error: #DC3545;
    --dbim-info: #0D6EFD;
    --dbim-success: #198754;
    --dbim-warning: #FFC107;

    /* semantic tokens (overridden by the high-contrast view) */
    --c-bg: #FFFFFF;
    --c-surface: #FFFFFF;
    --c-alt: #F2F5FB;
    --c-text: #1C2333;
    --c-muted: #4A5568;
    --c-border: #C9D2E4;
    --c-link: #214AAB;
    --c-primary: #162F6A;
    --c-on-primary: #FFFFFF;
    --c-accent: #214AAB;
    --c-hover: #D2DFFF;
    --c-panel: #EDEDEE;
    --focus: #0D6EFD;

    --fs-h1: 2.25rem;
    --fs-h2: 1.5rem;
    --fs-h3: 1.25rem;
    --fs-p1: 1rem;
    --fs-p2: .875rem;
    --fs-sm: .75rem;

    --gutter: clamp(16px, 2.5vw, 40px);
    --container: 1440px;
    --radius: 4px;
    --radius-lg: 8px;   /* containers: cards, panels, pop-overs, dialogs; controls use --radius (4px); circles and pills stay round */
    --section-gap: clamp(32px, 4vw, 56px);
    --font: 'Noto Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans Devanagari', sans-serif;
}

@media (max-width: 767.98px) {
    :root {
        --fs-h1: 1.5rem;
        --fs-h2: 1.25rem;
        --fs-h3: 1rem;
        --fs-p1: .875rem;
        --fs-p2: .75rem;
        --fs-sm: .625rem;
    }
}

/* user text-size preference (A- / A / A+) */
html[data-text="-1"] { font-size: 87.5%; }
html[data-text="1"] { font-size: 112.5%; }
html[data-text="2"] { font-size: 125%; }

/* high-contrast view */
html.dbim-contrast {
    --c-bg: #000;
    --c-surface: #000;
    --c-alt: #0b0b0b;
    --c-text: #FFFFFF;
    --c-muted: #E8E8E8;
    --c-border: #FFFFFF;
    --c-link: #FFEB3B;
    --c-primary: #000000;
    --c-on-primary: #FFFFFF;
    --c-accent: #FFEB3B;
    --c-hover: #1f1f1f;
    --c-panel: #0b0b0b;
    --focus: #FFEB3B;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
body.dbim-home {
    margin: 0;
    font-family: var(--font);
    font-size: var(--fs-p1);
    line-height: 1.5;
    color: var(--c-text);
    background: var(--c-bg);
    overflow-x: clip;
}
body.dbim-home img { max-width: 100%; height: auto; }
:where(body.dbim-home a) { color: var(--c-link); text-decoration: none; }
/* links are not underlined at rest; hover and keyboard focus show it (zero specificity, so component rules can still override) */
:where(body.dbim-home a:hover, body.dbim-home a:focus-visible) { text-decoration: none; }
:where(body.dbim-home h1, body.dbim-home h2, body.dbim-home h3, body.dbim-home p, body.dbim-home ul) { margin-top: 0; }
[hidden] { display: none !important; }
html.dbim-lock { overflow: hidden; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}
.dbim-footer, .dbim-hero__controls, .dbim-nav .dbim-submenu { --focus: #FFC107; }
html.dbim-contrast .dbim-hero__controls { --focus: #FFEB3B; }

.dbim-sr-only {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.dbim-skip {
    position: absolute; left: 8px; top: -100px; z-index: 2000; padding: 12px 20px;
    background: var(--c-primary); color: var(--c-on-primary) !important; font-weight: 600; border-radius: 0 0 var(--radius) var(--radius);
}
.dbim-skip:focus { top: 0; }

.dbim-container { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }

/* ---------- icons (DBIM line icons, coloured through currentColor) ---------- */
.dbim-icon {
    display: inline-block; flex: none; width: 1.25em; height: 1.25em; vertical-align: -.25em;
    background-color: currentColor;
    -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat;
}
.dbim-icon--search { --i: url('../../images/dbim/icons/search.svg'); }
.dbim-icon--speech { --i: url('../../images/dbim/icons/speech.svg'); }
.dbim-icon--menu { --i: url('../../images/dbim/icons/menu.svg'); }
.dbim-icon--text-size-decrease { --i: url('../../images/dbim/icons/text-size-decrease.svg'); }
.dbim-icon--text-size-increase { --i: url('../../images/dbim/icons/text-size-increase.svg'); }
.dbim-icon--dark-contrast { --i: url('../../images/dbim/icons/dark-contrast.svg'); }
.dbim-icon--chevron-left { --i: url('../../images/dbim/icons/chevron-left.svg'); }
.dbim-icon--chevron-right { --i: url('../../images/dbim/icons/chevron-right.svg'); }
.dbim-icon--chevron-down { --i: url('../../images/dbim/icons/chevron-right.svg'); transform: rotate(90deg); }
.dbim-icon--arrow-up { --i: url('../../images/dbim/icons/chevron-right.svg'); transform: rotate(-90deg); }
.dbim-icon--pause { --i: url('../../images/dbim/icons/pause.svg'); }
.dbim-icon--play { --i: url('../../images/dbim/icons/play.svg'); }
.dbim-icon--pdf { --i: url('../../images/dbim/icons/pdf.svg'); }
.dbim-icon--open-in-new { --i: url('../../images/dbim/icons/external-link.svg'); }   /* one external-link icon everywhere */
.dbim-icon--calendar-month { --i: url('../../images/dbim/icons/calendar-month.svg'); }
.dbim-icon--account-circle { --i: url('../../images/dbim/icons/account-circle.svg'); }
.dbim-icon--facebook { --i: url('../../images/dbim/icons/facebook.svg'); }
.dbim-icon--instagram { --i: url('../../images/dbim/icons/instagram.svg'); }
.dbim-icon--x { --i: url('../../images/dbim/icons/x.svg'); }
.dbim-icon--youtube { --i: url('../../images/dbim/icons/youtube.svg'); }
.dbim-icon--passport { --i: url('../../images/dbim/icons/passport.svg'); }
.dbim-icon--language { --i: url('../../images/dbim/icons/language.svg'); }
.dbim-icon--monitor { --i: url('../../images/dbim/icons/monitor.svg'); }
.dbim-icon--emblem { --i: url('../../images/dbim/icons/emblem-of-india.svg'); }
.dbim-icon--skip { --i: url('../../images/dbim/icons/skip-to-content.svg'); }
.dbim-icon--pdf-alt { --i: url('../../images/dbim/icons/pdf-alt.svg'); }
.dbim-icon--external-link { --i: url('../../images/dbim/icons/external-link.svg'); }
/* DBIM toolkit iconography (line style) used by the homepage sections */
.dbim-icon--schedule { --i: url('../../images/dbim/icons/schedule.svg'); }
.dbim-icon--job-opportunity { --i: url('../../images/dbim/icons/job-opportunity.svg'); }
.dbim-icon--payments { --i: url('../../images/dbim/icons/payments.svg'); }
.dbim-icon--tenders { --i: url('../../images/dbim/icons/tenders-2.svg'); }
.dbim-icon--ministry { --i: url('../../images/dbim/icons/ministry.svg'); }
.dbim-icon--location { --i: url('../../images/dbim/icons/location.svg'); }
.dbim-icon--archive { --i: url('../../images/dbim/icons/archive.svg'); }
.dbim-icon--org-chart { --i: url('../../images/dbim/icons/ministry-or-department.svg'); }
.dbim-icon--helpdesk { --i: url('../../images/dbim/icons/helpdesk.svg'); }
.dbim-icon--handshake { --i: url('../../images/dbim/icons/global-handshake.svg'); }
.dbim-icon--directory { --i: url('../../images/dbim/icons/directory.svg'); }
.dbim-icon--offerings { --i: url('../../images/dbim/icons/offerings.svg'); }
.dbim-icon--whats-new { --i: url('../../images/dbim/icons/whats-new.svg'); }
.dbim-icon--documents { --i: url('../../images/dbim/icons/multiple-documents.svg'); }
.dbim-icon--users { --i: url('../../images/dbim/icons/users.svg'); }
.dbim-icon--important-links { --i: url('../../images/dbim/icons/highlight-link.svg'); }
.dbim-icon--share { --i: url('../../images/dbim/icons/share.svg'); }
.dbim-icon--id-card { --i: url('../../images/dbim/icons/id-card-2.svg'); }
.dbim-icon--certificate { --i: url('../../images/dbim/icons/certificate.svg'); }
.dbim-icon--apply { --i: url('../../images/dbim/icons/apply.svg'); }
.dbim-icon--aggregator { --i: url('../../images/dbim/icons/aggregator.svg'); }
.dbim-icon--scholarship { --i: url('../../images/dbim/icons/scholarship.svg'); }
.dbim-icon--vacancy { --i: url('../../images/dbim/icons/vacancy.svg'); }
.dbim-icon--photo-gallery { --i: url('../../images/dbim/icons/photo-gallery.svg'); }
.dbim-icon--download { --i: url('../../images/dbim/icons/download.svg'); }
.dbim-icon--chat { --i: url('../../images/dbim/icons/chat.svg'); }
.dbim-icon--smartphone { --i: url('../../images/dbim/icons/smartphone.svg'); }
.dbim-icon--announcement { --i: url('../../images/dbim/icons/announcement.svg'); }
.dbim-icon--accessibility { --i: url('../../images/dbim/icons/accessibility.svg'); }
.dbim-icon--invert { --i: url('../../images/dbim/icons/invert.svg'); }
.dbim-icon--saturation { --i: url('../../images/dbim/icons/saturation.svg'); }
.dbim-icon--highlight-links { --i: url('../../images/dbim/icons/highlight-links.svg'); }
.dbim-icon--hide-image { --i: url('../../images/dbim/icons/hide-image.svg'); }
.dbim-icon--default-cursor { --i: url('../../images/dbim/icons/default-cursor.svg'); }
.dbim-icon--dark-mode { --i: url('../../images/dbim/icons/dark-mode.svg'); }
.dbim-icon--format-clear { --i: url('../../images/dbim/icons/format-clear.svg'); }

/* ---------- header ---------- */
.dbim-header { position: relative; z-index: 70; background: var(--c-surface); }
/* top bar: one date/time clock on each side */
.dbim-topbar { background: var(--c-alt); border-bottom: 1px solid var(--c-border); font-size: var(--fs-p2); }
.dbim-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 4px 24px; min-height: 36px; padding-block: 4px; flex-wrap: wrap; }
.dbim-clock { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--c-text); }
.dbim-clock strong { color: var(--c-primary); }
html.dbim-contrast .dbim-clock strong { color: var(--c-link); }
.dbim-clock time { font-variant-numeric: tabular-nums; }
.dbim-clock img { flex: none; width: 28px; height: 17px; object-fit: cover; }
@media (max-width: 575.98px) { .dbim-topbar__inner { justify-content: center; } .dbim-clock { font-size: var(--fs-sm); gap: 6px; } }

/* brand bar: emblem + text logo (built in code), search, tools */
.dbim-brandbar { position: relative; background: var(--c-surface); }
.dbim-brandbar__inner {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 400px) auto; justify-content: space-between;
    align-items: center; gap: 12px 32px; padding-block: 12px;
}
.dbim-brand { display: inline-flex; align-items: flex-end; gap: 14px; min-width: 0; color: var(--c-primary); text-decoration: none; }   /* emblem left, text block bottom-aligned with it */
.dbim-brand__emblem { flex: none; display: block; width: 52px; height: auto; aspect-ratio: 63 / 100; }
html.dbim-contrast .dbim-brand__emblem, html.dbim-dark .dbim-brand__emblem { filter: invert(1); }
.dbim-brand__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; align-self: flex-end; }
.dbim-brand__title { font-size: clamp(1.5rem, 1rem + 1.2vw, 1.875rem); font-weight: 700; line-height: 1.15; color: var(--c-primary); }
.dbim-brand__sub { font-size: clamp(1rem, .85rem + .5vw, 1.125rem); font-weight: 600; line-height: 1.3; color: var(--c-text); }
html.dbim-contrast .dbim-brand__title { color: #fff; }

.dbim-search { display: flex; align-items: center; width: 100%; padding-left: 4px; border: 1px solid var(--c-border); border-bottom: 2px solid var(--c-primary); border-radius: var(--radius); background: var(--c-surface); }
html.dbim-contrast .dbim-search { border-color: #fff; }
.dbim-search__input {
    flex: 1; min-width: 0; height: 46px; padding: 0 12px 0 4px; border: 0; background: transparent; color: var(--c-text);
    font: inherit; font-size: var(--fs-p1); border-radius: 0;
}
.dbim-search__input::placeholder { color: var(--c-muted); opacity: 1; }
.dbim-search__input:focus-visible { outline-offset: -3px; }
.dbim-search__btn {
    flex: none; width: 40px; height: 40px; display: grid; place-items: center; border: 0; background: transparent; cursor: pointer; color: var(--c-primary);
}
html.dbim-contrast .dbim-search__btn { color: var(--c-link); }
.dbim-search__btn .dbim-icon { width: 1.4rem; height: 1.4rem; }

/* tools: skip link, language, accessibility; thin dividers between them */
.dbim-tools { display: flex; align-items: center; gap: 0; }
.dbim-tools > * + * { margin-left: 8px; padding-left: 8px; border-left: 1px solid var(--c-border); }
html.dbim-contrast .dbim-tools > * + * { border-color: #fff; }
.dbim-tool {
    width: 44px; height: 44px; display: inline-grid; place-items: center; padding: 0; border: 1px solid transparent;
    background: transparent; color: var(--c-primary); border-radius: var(--radius); cursor: pointer; text-decoration: none; font: inherit;
}
html.dbim-contrast .dbim-tool { color: var(--c-link); }
.dbim-tool:hover { background: var(--c-hover); }
.dbim-tool .dbim-icon { width: 1.6rem; height: 1.6rem; }
.dbim-tool[aria-expanded="true"] { background: var(--c-hover); border-color: var(--c-primary); }

/* pop-over panels (language list, accessibility controls) */
.dbim-pop { position: relative; }
.dbim-popover {
    position: absolute; right: 0; top: calc(100% + 10px); z-index: 120; background: var(--c-surface); color: var(--c-text);
    border: 1px solid var(--c-border); border-radius: var(--radius-lg); box-shadow: 0 14px 40px rgba(22, 47, 106, .28);
}
html.dbim-contrast .dbim-popover { border-color: #fff; box-shadow: none; }
.dbim-popover__title { margin: 0; font-size: var(--fs-p2); font-weight: 700; color: var(--c-primary); }
html.dbim-contrast .dbim-popover__title { color: #fff; }
.dbim-popover__title--lg { display: flex; align-items: center; gap: 10px; font-size: var(--fs-h3); }
.dbim-popover__title .dbim-icon { width: 1.5rem; height: 1.5rem; }
.dbim-popover--lang { width: 270px; max-width: calc(100vw - 2 * var(--gutter)); overflow: hidden; }
.dbim-popover--lang .dbim-popover__title { padding: 14px 16px 10px; }
.dbim-lang { list-style: none; margin: 0; padding: 0 0 6px; }
.dbim-lang__opt {
    display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 10px 16px; border: 0;
    background: transparent; color: var(--c-primary); font: inherit; font-weight: 600; text-align: left; cursor: pointer;
}
html.dbim-contrast .dbim-lang__opt { color: var(--c-link); }
.dbim-lang__opt:hover { background: var(--c-hover); }
.dbim-lang__opt.is-selected { background: var(--c-hover); }
.dbim-lang__opt.is-selected::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--c-primary); }
.dbim-lang__opt:focus-visible { outline-offset: -3px; }
.dbim-popover--a11y { width: min(420px, calc(100vw - 2 * var(--gutter))); padding: 16px; }
.dbim-popover__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.dbim-popover__close { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--c-primary); font-size: 1.8rem; line-height: 1; cursor: pointer; }
.dbim-popover__close:hover { background: var(--c-hover); }
html.dbim-contrast .dbim-popover__close { color: var(--c-link); }
.dbim-a11y { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dbim-a11y__opt {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 88px; padding: 12px 8px;
    border: 1px solid var(--dbim-blue-300); border-radius: var(--radius); background: var(--c-surface); color: var(--c-primary);
    font: inherit; font-size: var(--fs-p2); font-weight: 700; letter-spacing: .02em; text-transform: uppercase; text-align: center; cursor: pointer;
}
.dbim-a11y__opt .dbim-icon { width: 1.6rem; height: 1.6rem; }
.dbim-a11y__opt:hover { background: var(--c-hover); }
.dbim-a11y__opt[aria-pressed="true"] { background: var(--c-hover); border-color: var(--dbim-blue-700); box-shadow: inset 0 0 0 1px var(--dbim-blue-700); }
.dbim-a11y__opt--wide { grid-column: 1 / -1; }
html.dbim-contrast .dbim-a11y__opt { color: var(--c-link); border-color: #fff; }
html.dbim-contrast .dbim-a11y__opt[aria-pressed="true"] { background: #1f1f1f; box-shadow: inset 0 0 0 2px var(--c-link); }
.dbim-popover__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 16px; font-size: var(--fs-p1); }
.dbim-popover__foot a, .dbim-popover__foot .dbim-link-btn { display: inline-flex; align-items: center; gap: 8px; color: var(--c-primary); font-weight: 500; }
html.dbim-contrast .dbim-popover__foot a, html.dbim-contrast .dbim-popover__foot .dbim-link-btn { color: var(--c-link); }
.dbim-popover__foot .dbim-icon { width: 1.3rem; height: 1.3rem; }


.dbim-menu-btn {
    display: none; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border: 2px solid var(--c-primary);
    background: var(--c-surface); color: var(--c-primary); font: inherit; font-weight: 600; border-radius: var(--radius); cursor: pointer;
}
html.dbim-contrast .dbim-menu-btn { color: var(--c-link); }

/* ---------- navigation (sticky on desktop) ---------- */
.dbim-nav {
    position: sticky; top: 0; z-index: 60; background: var(--c-surface);
    border-top: 1px solid var(--c-border); border-bottom: 3px solid var(--c-primary);
}
html.dbim-contrast .dbim-nav { border-bottom-color: #fff; }
.dbim-menu { display: flex; flex-wrap: wrap; justify-content: space-between; list-style: none; margin: 0; padding: 0; }
.dbim-menu > .dbim-menu__item { position: relative; display: flex; align-items: stretch; }
.dbim-menu__link {
    display: block; padding: 14px 6px 12px 12px; color: var(--c-primary) !important; font-weight: 600; text-decoration: none;
    border-bottom: 3px solid transparent; margin-bottom: -3px; line-height: 1.35;
}
html.dbim-contrast .dbim-menu__link { color: var(--c-link) !important; }
.dbim-menu > .dbim-menu__item:not(.has-sub) > .dbim-menu__link { padding-right: 12px; }
.dbim-menu__item.is-current > .dbim-menu__link { border-bottom-color: var(--c-primary); }
html.dbim-contrast .dbim-menu__item.is-current > .dbim-menu__link { border-bottom-color: var(--c-link); }
.dbim-menu__link:hover { background: var(--c-hover); }
.dbim-menu__toggle {
    width: 26px; padding: 0; border: 0; background: transparent; color: var(--c-primary); cursor: pointer; display: grid; place-items: center;
}
html.dbim-contrast .dbim-menu__toggle { color: var(--c-link); }
.dbim-menu__toggle:hover { background: var(--c-hover); }
.dbim-menu__toggle .dbim-icon { width: 1.1rem; height: 1.1rem; transition: transform .15s; }
.is-open > .dbim-menu__toggle .dbim-icon--chevron-down { transform: rotate(-90deg); }

.dbim-submenu {
    display: none; position: absolute; left: 0; top: 100%; z-index: 80; min-width: 270px; max-width: min(360px, 90vw);
    margin: 0; padding: 6px 0; list-style: none; background: var(--c-surface); border: 1px solid var(--c-border);
    border-top: 3px solid var(--c-accent); box-shadow: 0 10px 28px rgba(22, 47, 106, .22);
}
.dbim-menu__item.is-open > .dbim-submenu { display: block; }
.dbim-submenu .dbim-menu__item { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; }
.dbim-submenu .dbim-menu__link { flex: 1; padding: 10px 12px 10px 16px; font-weight: 500; margin: 0; border: 0; }
.dbim-submenu .dbim-menu__toggle .dbim-icon--chevron-down { transform: none; }
.dbim-submenu .is-open > .dbim-menu__toggle .dbim-icon--chevron-down { transform: none; }
.dbim-submenu .dbim-submenu { left: 100%; top: -6px; }
.dbim-submenu.dbim-flip, .dbim-submenu .dbim-submenu.dbim-flip { left: auto; right: 0; }
.dbim-submenu .dbim-submenu.dbim-flip { right: 100%; }

.dbim-no-js .dbim-submenu { display: block; position: static; box-shadow: none; }

/* ---------- section scaffolding ---------- */
.dbim-section { padding-block: var(--section-gap); }
.dbim-section--alt { background: var(--c-alt); border-block: 1px solid var(--c-border); }
.dbim-h2 { font-size: var(--fs-h2); line-height: 1.3; font-weight: 700; color: var(--c-primary); margin: 0 0 16px; }
html.dbim-contrast .dbim-h2 { color: #fff; }
.dbim-h2--icon { display: flex; align-items: center; gap: 12px; }
.dbim-h2--icon .dbim-icon { width: 1.6em; height: 1.6em; color: var(--c-accent); }

.dbim-card { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius-lg); padding: clamp(16px, 2vw, 28px); box-shadow: 0 1px 3px rgba(22, 47, 106, .08); }
.dbim-card__foot { display: flex; justify-content: flex-end; margin-top: 16px; }

.dbim-btn {
    display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 16px; border: 2px solid var(--c-primary);
    border-radius: var(--radius); font: inherit; font-size: var(--fs-p2); font-weight: 700; text-transform: uppercase; letter-spacing: .02em;
    text-decoration: none; cursor: pointer; background: transparent; color: var(--c-primary) !important;
}
.dbim-btn .dbim-icon { width: 1.1em; height: 1.1em; }
.dbim-btn--outline:hover, .dbim-btn--primary-outline:hover { background: var(--c-primary); color: var(--c-on-primary) !important; }
html.dbim-contrast .dbim-btn { color: var(--c-link) !important; border-color: var(--c-link); }
.dbim-btn--primary { background: var(--c-primary); color: var(--c-on-primary) !important; }
.dbim-btn--primary:hover { background: var(--dbim-blue-700); }
html.dbim-contrast .dbim-btn--primary { background: var(--c-link); color: #000 !important; }
.dbim-btn--ghost { border-color: transparent; text-transform: none; }

.dbim-link-btn { background: none; border: 0; padding: 4px 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }

.dbim-alert { margin: 16px 0 0; padding: 12px 16px; border: 1px solid var(--dbim-warning); border-left-width: 6px; background: #FFF8E1; color: #4D3B00; text-align: center; font-weight: 600; font-size: var(--fs-p2); border-radius: var(--radius-lg); }
.dbim-alert__label { display: inline-block; margin-right: 8px; padding: 2px 8px; background: var(--dbim-warning); color: #1c1c1c; font-size: var(--fs-sm); text-transform: uppercase; border-radius: var(--radius); }
html.dbim-contrast .dbim-alert { background: #000; color: #FFEB3B; border-color: #FFEB3B; }

.dbim-badge { display: inline-block; margin-left: 8px; padding: 1px 8px; font-size: var(--fs-sm); font-weight: 700; text-transform: uppercase; background: var(--dbim-error); color: #fff; border-radius: 999px; vertical-align: middle; }
.dbim-tag { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; font-size: var(--fs-sm); font-weight: 600; background: var(--c-hover); color: var(--c-primary); border-radius: 999px; }
html.dbim-contrast .dbim-tag { color: var(--c-link); border: 1px solid var(--c-link); }
.dbim-tag .dbim-icon { width: 1em; height: 1em; }

/* ---------- hero slider (CBPS banner is slide 1) ---------- */
.dbim-hero { padding-block: clamp(16px, 2vw, 28px) 0; background: var(--c-surface); }
.dbim-hero__frame { position: relative; background: var(--c-primary); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--c-border); }
.dbim-hero__viewport { display: grid; }
.dbim-slide {
    grid-area: 1 / 1; display: flex; flex-direction: column; min-width: 0; background: var(--c-primary); color: #fff;
    opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility 0s linear .6s;
}
.dbim-slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; z-index: 1; }
.dbim-slide__media { position: relative; aspect-ratio: 1170 / 500; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #0f1e47; }
.dbim-slide__media > a { display: block; width: 100%; height: 100%; }
.dbim-slide__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* CBPS 1800x500: shown whole, never cropped or stretched */
.dbim-slide--cbps .dbim-slide__media { background: #403785; }
.dbim-slide--cbps .views-field, .dbim-slide--cbps .field-content, .dbim-slide--cbps a.csp-db-16 { display: block; width: 100%; }
.dbim-slide--cbps img.cbps_banner { width: 100%; height: auto; aspect-ratio: 1800 / 500; object-fit: contain; }
.dbim-slide__caption { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 14px clamp(16px, 2vw, 28px); min-height: 4.25rem; background: var(--c-primary); }
html.dbim-contrast .dbim-slide__caption { border-top: 1px solid #fff; }
.dbim-slide__title { margin: 0; color: #fff !important; font-size: var(--fs-p1); font-weight: 600; line-height: 1.4; text-decoration: none; }
a.dbim-slide__title:hover { text-decoration: none; }
.dbim-slide__date { margin: 0; font-size: var(--fs-p2); color: var(--dbim-blue-100); }
html.dbim-contrast .dbim-slide__date { color: #fff; }

/* controls sit on an overlay that has exactly the image box, so captions never move them */
.dbim-hero__controls { position: absolute; inset: 0 0 auto 0; aspect-ratio: 1170 / 500; pointer-events: none; z-index: 5; }
.dbim-hero__controls > * { pointer-events: auto; }
.dbim-hero__arrow {
    position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; padding: 0;
    background: rgba(0, 0, 0, .72); color: #fff; border: 2px solid rgba(255, 255, 255, .85); border-radius: var(--radius); cursor: pointer;
}
.dbim-hero__arrow:hover { background: #000; }
.dbim-hero__arrow--prev { left: 12px; }
.dbim-hero__arrow--next { right: 12px; }
/* Pause / Play: round button in the caption bar, bottom-right corner (the caption keeps room for it on the right) */
.dbim-hero__frame { --focus: #FFC107; }
.dbim-hero__toggle {
    position: absolute; z-index: 6; right: clamp(16px, 2vw, 28px); bottom: 14px; width: 40px; height: 40px; display: grid; place-items: center; padding: 0;
    background: #fff; color: #162F6A; border: 0; border-radius: 50%; cursor: pointer;
}
.dbim-hero__toggle::after { content: ""; position: absolute; inset: -4px; }   /* 48px touch area */
.dbim-hero__toggle .dbim-icon { width: 1.2rem; height: 1.2rem; }
.dbim-hero__toggle:hover { background: var(--dbim-blue-100); }
html.dbim-contrast .dbim-hero__toggle { background: #FFEB3B; color: #000; }
.dbim-slide__caption { padding-right: calc(clamp(16px, 2vw, 28px) + 56px); }
@media (max-width: 575.98px) {
    .dbim-hero__arrow { width: 36px; height: 36px; }
    .dbim-hero__arrow--prev { left: 6px; } .dbim-hero__arrow--next { right: 6px; }
    .dbim-hero__toggle { width: 36px; height: 36px; bottom: 16px; }
}

/* no JavaScript: show the slides as a stacked list */
.dbim-no-js .dbim-hero__viewport { display: block; }
.dbim-no-js .dbim-slide { opacity: 1; visibility: visible; margin-bottom: 8px; }
.dbim-no-js .dbim-hero__controls { display: none; }

/* ---------- announcements ticker ---------- */
/* announcements / notice bar (mea.gov.in pattern): a solid label block with the Pause/Play button, a tinted band, bulleted items with a "New" pill */
.dbim-ticker { --tk-head: var(--dbim-blue-900); --tk-band: var(--dbim-blue-100); --tk-ink: var(--c-text); --tk-dot: var(--dbim-blue-700); background: var(--tk-band); border-block: 1px solid var(--c-border); margin-top: clamp(16px, 2vw, 28px); }
.dbim-ticker--notice { --tk-head: var(--dbim-error); --tk-band: #FDECEE; --tk-dot: var(--dbim-error); margin-top: 0; border-block-color: #F3B8BE; }
html.dbim-contrast .dbim-ticker, html.dbim-contrast .dbim-ticker--notice { --tk-head: #000; --tk-band: #000; --tk-ink: #fff; --tk-dot: #FFEB3B; border-color: #fff; }
html.dbim-dark .dbim-ticker { --tk-head: #162F6A; --tk-band: #101829; --tk-ink: var(--c-text); --tk-dot: var(--dbim-blue-300); }
html.dbim-dark .dbim-ticker--notice { --tk-head: #B02A37; --tk-band: #2A1217; --tk-dot: #F3B8BE; }
.dbim-ticker__inner { display: flex; align-items: stretch; gap: 0; min-height: 52px; }
.dbim-ticker__head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 240px; padding: 0 18px 0 20px; background: var(--tk-head); color: #fff; --focus: #FFC107; }
html.dbim-contrast .dbim-ticker__head { border: 2px solid #FFEB3B; color: #FFEB3B; }
.dbim-ticker__label { display: flex; align-items: center; gap: 8px; margin: 0; white-space: nowrap; font-size: var(--fs-p1); font-weight: 700; line-height: 1.2; color: inherit; }
.dbim-ticker__label .dbim-icon { width: 1.25rem; height: 1.25rem; }
.dbim-ticker__window { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; overflow: hidden; padding-left: 20px; }
.dbim-ticker__track { display: flex; width: max-content; }
.dbim-ticker__list { display: flex; flex: none; margin: 0; padding: 0; list-style: none; }
.dbim-ticker__item { position: relative; flex: none; display: flex; align-items: center; gap: 8px; margin-right: 3rem; font-size: var(--fs-p2); font-weight: 500; color: var(--tk-ink); white-space: nowrap; }
.dbim-ticker__item::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--tk-dot); }
.dbim-ticker__item a { color: var(--tk-ink); }
html.dbim-contrast .dbim-ticker__item a { color: var(--c-link); }
.dbim-ticker__item a .dbim-icon { width: 1em; height: 1em; margin-left: 6px; vertical-align: -.15em; }
.dbim-ticker__item .dbim-badge { margin: 0; padding: 1px 9px; }
.dbim-ticker.is-moving .dbim-ticker__track { animation: dbim-ticker var(--dur, 40s) linear infinite; }
.dbim-ticker.is-moving.is-paused .dbim-ticker__track,
.dbim-ticker.is-moving .dbim-ticker__window:hover .dbim-ticker__track,
.dbim-ticker.is-moving .dbim-ticker__window:focus-within .dbim-ticker__track { animation-play-state: paused; }   /* pause while a link in the text has focus, not while the Play/Pause button has it */
@keyframes dbim-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* fits without scrolling: centre it; reduced motion: scroll by hand */
.dbim-ticker.is-static .dbim-ticker__window { justify-content: center; padding-right: 20px; }
.dbim-ticker.is-manual .dbim-ticker__window { overflow-x: auto; padding-block: 4px; scrollbar-width: thin; }
/* small square Pause/Play button inside the label block (44px touch area through the ::after) */
.dbim-ticker__toggle { position: relative; flex: none; width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 2px solid #fff; border-radius: var(--radius); background: transparent; color: #fff; cursor: pointer; }
.dbim-ticker__toggle::after { content: ""; position: absolute; inset: -8px; }
.dbim-ticker__toggle:hover { background: rgba(255, 255, 255, .22); }
html.dbim-contrast .dbim-ticker__toggle { color: #FFEB3B; border-color: #FFEB3B; }
.dbim-ticker__toggle .dbim-icon { width: 1rem; height: 1rem; }
@media (max-width: 575.98px) {
    .dbim-ticker__head { gap: 10px; min-width: 150px; padding: 0 12px; }
    .dbim-ticker__label { font-size: var(--fs-p2); }
    .dbim-ticker__label .dbim-icon { display: none; }
    .dbim-ticker__window { padding-left: 12px; }
}

/* ---------- updates + ambassador (equal-height split) ---------- */
.dbim-split { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--gutter); align-items: stretch; }
.dbim-split__main { display: flex; flex-direction: column; gap: clamp(16px, 2vw, 28px); min-width: 0; }
.dbim-split__main > .dbim-card:last-child { flex: 1 1 auto; }
.dbim-split__side { display: flex; flex-direction: column; gap: clamp(16px, 2vw, 28px); align-self: start; min-width: 0; }
.dbim-card--side { display: flex; flex-direction: column; background: var(--c-panel); border: 0; border-radius: var(--radius-lg); box-shadow: none; text-align: center; }
.dbim-card--side > .dbim-h2 { justify-content: flex-start; text-align: left; margin-bottom: 20px; color: var(--c-primary); }
html.dbim-contrast .dbim-card--side > .dbim-h2 { color: #fff; }
.dbim-card--side > .dbim-blob { display: flex; flex-direction: column; }
@media (max-width: 991.98px) { .dbim-split { grid-template-columns: minmax(0, 1fr); } .dbim-split__side { align-self: stretch; } }

/* what's new card: navy folder-tab header, then a plain list (title + file icon on the left, date on the right) */
.dbim-card--tabs { padding: 0; overflow: hidden; border-radius: var(--radius-lg); }
/* tabs: all panels share one grid cell so the box keeps the height of the tallest panel when switching */
.dbim-tabs { display: grid; grid-template-columns: minmax(0, 1fr); }
.dbim-tabs__bar { grid-area: 1 / 1; padding: clamp(10px, 1.2vw, 16px) 0 0; background: linear-gradient(135deg, var(--dbim-blue-900), var(--dbim-blue-700)); }
html.dbim-contrast .dbim-tabs__bar { background: #000; border-bottom: 2px solid #FFEB3B; }
/* folder tabs: the active tab is white and flares into the content below it */
.dbim-tabs__list { display: flex; align-items: flex-end; gap: 6px; list-style: none; margin: 0; padding: 0 clamp(16px, 2vw, 28px); overflow-x: auto; scrollbar-width: none; }
.dbim-tabs__list::-webkit-scrollbar { display: none; }
.dbim-tabs__list li { flex: 1 1 0; display: flex; min-width: 0; }
.dbim-tabs__tab {
    position: relative; flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 18px 14px; border: 0;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: transparent; color: var(--dbim-blue-100);
    font: inherit; font-size: var(--fs-p1); font-weight: 600; line-height: 1.3; cursor: pointer; white-space: normal; overflow-wrap: anywhere;
    transition: background-color .2s ease, color .2s ease;
}
html.dbim-contrast .dbim-tabs__tab { color: var(--c-link); }
.dbim-tabs__tab:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.dbim-tabs__ico { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .16); transition: background-color .2s ease, color .2s ease; }
.dbim-tabs__ico .dbim-icon { width: 1.1rem; height: 1.1rem; }
.dbim-tabs__tab[aria-selected="true"] { background: var(--c-surface); color: var(--c-primary); }
.dbim-tabs__tab[aria-selected="true"] .dbim-tabs__ico { background: var(--dbim-blue-700); color: #fff; }
html.dbim-contrast .dbim-tabs__tab[aria-selected="true"] { color: var(--c-link); text-decoration: underline; text-underline-offset: 6px; }
html.dbim-contrast .dbim-tabs__ico { background: #1f1f1f; }
/* curved flares joining the active tab to the content */
.dbim-tabs__tab[aria-selected="true"]::before, .dbim-tabs__tab[aria-selected="true"]::after { content: ""; position: absolute; bottom: 0; width: 8px; height: 8px; pointer-events: none; }
.dbim-tabs__tab[aria-selected="true"]::before { left: -8px; background: radial-gradient(circle at 0 0, transparent 7.5px, var(--c-surface) 8px); }
.dbim-tabs__tab[aria-selected="true"]::after { right: -8px; background: radial-gradient(circle at 100% 0, transparent 7.5px, var(--c-surface) 8px); }
.dbim-tabs__tab:focus-visible { outline-color: #fff; outline-offset: -4px; }
.dbim-tabs__tab[aria-selected="true"]:focus-visible { outline-color: var(--focus); }
@media (min-width: 768px) { .dbim-tabs__tab { font-size: 1.125rem; } }
@media (max-width: 575.98px) {
    /* phones: tabs share the row and their labels wrap, so nothing scrolls sideways */
    .dbim-tabs__list { gap: 4px; padding-inline: 8px; overflow-x: visible; }
    .dbim-tabs__tab { flex-direction: column; gap: 6px; padding: 10px 6px 12px; font-size: var(--fs-p2); line-height: 1.25; }
    .dbim-tabs__ico { width: 28px; height: 28px; }
    .dbim-tabs__tab[aria-selected="true"]::before, .dbim-tabs__tab[aria-selected="true"]::after { display: none; }
    .dbim-tabs__tab[aria-selected="true"] { border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
}
.dbim-tabs__panel { grid-area: 2 / 1; display: flex; flex-direction: column; min-width: 0; padding: clamp(8px, 1vw, 12px) clamp(16px, 2vw, 28px) clamp(16px, 2vw, 24px); opacity: 1; transition: opacity .25s ease, visibility .25s; }
.dbim-tabs__panel[hidden] { display: flex !important; visibility: hidden; opacity: 0; }
.dbim-tabs__panel .dbim-card__foot { margin-top: auto; padding-top: 16px; }
.dbim-no-js .dbim-tabs__panel[hidden] { display: flex !important; visibility: visible; grid-area: auto; }
.dbim-tabs__panel .dbim-embeds { margin-top: 16px; }
.dbim-card--tabs .dbim-btn--primary { border-color: var(--dbim-blue-700); background: var(--dbim-blue-700); text-transform: none; font-size: var(--fs-p1); }
.dbim-card--tabs .dbim-btn--primary:hover { border-color: var(--c-primary); background: var(--c-primary); }
html.dbim-contrast .dbim-card--tabs .dbim-btn--primary { border-color: var(--c-link); background: var(--c-link); }

.dbim-news { list-style: none; margin: 0; padding: 0; }
.dbim-news__item { border-bottom: 1px solid var(--c-border); }
.dbim-news__item:last-child { border-bottom: 0; }
.dbim-news__link { display: block; padding: 14px 0; color: var(--c-text) !important; text-decoration: none; }
a.dbim-news__link:hover .dbim-news__title { color: var(--c-link); text-decoration: none; }
html.dbim-contrast a.dbim-news__link:hover .dbim-news__title { color: var(--c-link); }
.dbim-news__body { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-width: 0; }
.dbim-news__title { font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.dbim-news__title p { margin: 0; }
.dbim-news__file { flex: none; display: inline-flex; color: var(--c-primary); }
html.dbim-contrast .dbim-news__file { color: var(--c-link); }
.dbim-news__date { margin-left: auto; padding-left: 12px; font-size: var(--fs-p2); color: var(--c-muted); white-space: nowrap; }
@media (max-width: 575.98px) { .dbim-news__date { margin-left: 0; padding-left: 0; flex-basis: 100%; } }

.dbim-docs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.dbim-doc { display: flex; flex-direction: column; justify-content: space-between; gap: 8px; height: 100%; padding: 16px; background: var(--c-surface); border: 1px solid var(--c-border); border-left: 4px solid var(--c-accent); border-radius: var(--radius); text-decoration: none; color: var(--c-text) !important; }
a.dbim-doc:hover { background: var(--c-hover); }
.dbim-doc__title { font-weight: 600; color: var(--c-primary); line-height: 1.4; overflow-wrap: anywhere; }
html.dbim-contrast .dbim-doc__title { color: var(--c-link); }
.dbim-doc__title p { margin: 0; }
.dbim-doc__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--fs-p2); color: var(--c-muted); }
.dbim-docs__item { display: flex; }
.dbim-docs__item > * { flex: 1; }

/* social feed embeds (loaded only after consent) */
.dbim-embeds { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.dbim-embed { min-height: 470px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 16px; text-align: center; background: var(--c-alt); border: 1px solid var(--c-border); border-radius: var(--radius-lg); overflow: hidden; min-width: 0; }
.dbim-embed iframe { width: 100%; height: 450px; border: 0; background: #fff; }
.dbim-embed.is-loaded { padding: 0; justify-content: flex-start; background: #fff; }
.dbim-embed p { margin: 0; max-width: 32ch; font-size: var(--fs-p2); color: var(--c-muted); }
.dbim-embed .twitter-timeline, .dbim-embed .twitter-tweet { max-width: 100%; }

/* ambassador / service tiles: database-managed HTML (profile_management), normalised here */
.dbim-blob .contentRightBlock { display: flex; flex-direction: column; gap: 16px; }
.dbim-blob .amb-profile { padding: 0; }
.dbim-blob .ministerBox { display: flex; flex-direction: column; align-items: center; gap: 12px; }
/* portrait card: framed photo with a navy base rule, bold name, uppercase role, plain link */
.dbim-blob .ministerPhoto { flex: none; width: min(100%, 260px) !important; height: auto !important; aspect-ratio: 1; overflow: hidden; background: #fff; border: 1px solid var(--c-border); border-bottom: 4px solid var(--c-primary); border-radius: 0; }
html.dbim-contrast .dbim-blob .ministerPhoto { border-color: #fff; }
.dbim-blob .ministerPhoto img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.dbim-blob .ministerDetails { width: 100%; min-width: 0; }
.dbim-blob .ministerName { margin: 4px 0 0; font-size: var(--fs-h3); line-height: 1.3; font-weight: 700; color: var(--c-text); }
.dbim-blob .ministerName::after { content: "Ambassador of India"; display: block; margin-top: 6px; font-size: var(--fs-p2); font-weight: 400; letter-spacing: .02em; text-transform: uppercase; color: var(--c-muted); }
html.dbim-contrast .dbim-blob .ministerName { color: #fff; }
.dbim-blob .ministerDetailList { list-style: none; margin: 8px 0 0; padding: 0; }
.dbim-blob .ministerDetailList a { display: inline-block; padding: 4px 2px; font-size: var(--fs-p1); font-weight: 500; text-decoration: none; color: var(--c-link) !important; }
.dbim-blob .ministerDetailList a:hover { text-decoration: none; color: var(--c-primary) !important; }
html.dbim-contrast .dbim-blob .ministerDetailList a { color: var(--c-link) !important; }
/* stay connected */
.dbim-connect__title { margin: 0 0 16px; font-size: var(--fs-h2); line-height: 1.3; font-weight: 700; color: var(--c-primary); }
html.dbim-contrast .dbim-connect__title { color: #fff; }
.dbim-connect__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; list-style: none; margin: 0; padding: 0; }
.dbim-connect__list a { display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid var(--dbim-blue-700); border-radius: 50%; color: var(--dbim-blue-700); text-decoration: none; }
.dbim-connect__list a:hover { background: var(--dbim-blue-700); color: var(--c-on-primary); }
html.dbim-contrast .dbim-connect__list a { color: var(--c-link); border-color: var(--c-link); }
html.dbim-contrast .dbim-connect__list a:hover { background: var(--c-link); color: #000; }
.dbim-connect__list .dbim-icon { width: 1.5rem; height: 1.5rem; }
.dbim-blob .wk-right { display: flex; min-width: 0; }
.dbim-blob .img-right { flex: 1; display: flex; align-items: center; justify-content: center; padding: 8px; background: #fff; border: 1px solid var(--c-primary); border-radius: 0; }
html.dbim-contrast .dbim-blob .img-right { border-color: #fff; }
.dbim-blob .img-right a { display: block; width: 100%; }
.dbim-blob .img-right img { display: block; width: 100%; max-width: 320px; height: auto; margin-inline: auto; }
.dbim-blob .img-right > a { display: flex; }
.dbim-blob .img-right:hover { border-color: var(--c-accent); box-shadow: 0 0 0 2px var(--dbim-blue-100); }
.dbim-blob h4 { margin: 0; }

/* ---------- important links ---------- */
.dbim-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; list-style: none; margin: 24px 0 0; padding: 0; }
.dbim-linkcard {
    display: flex; align-items: center; gap: 16px; height: 100%; min-height: 96px; padding: 16px 20px; background: var(--c-surface);
    border: 1px solid var(--c-border); border-left: 4px solid var(--c-accent); border-radius: var(--radius); text-decoration: none;
    color: var(--c-primary) !important; font-weight: 600;
}
html.dbim-contrast .dbim-linkcard { color: var(--c-link) !important; }
.dbim-linkcard:hover { background: var(--c-hover); }
.dbim-linkcard img { flex: none; width: 104px; max-height: 80px; object-fit: contain; }
.dbim-linkcard__badge { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--dbim-blue-100); color: var(--c-primary); }
html.dbim-contrast .dbim-linkcard__badge { background: #000; border: 2px solid #fff; color: #fff; }
.dbim-linkcard__badge .dbim-icon { width: 1.6rem; height: 1.6rem; }
.dbim-linkcard__text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.dbim-linkcard > .dbim-icon { flex: none; width: 1.4rem; height: 1.4rem; }

.dbim-ribbon { display: block; border: 1px solid var(--c-border); border-radius: var(--radius-lg); overflow: hidden; line-height: 0; }
.dbim-ribbon img { display: block; width: 100%; height: auto; aspect-ratio: 1170 / 75; }

/* ---------- partner logos carousel ---------- */
.dbim-logos { background: var(--c-alt); border-top: 1px solid var(--c-border); padding-block: 28px; }
.dbim-logos__inner { display: flex; align-items: center; gap: 12px; }
.dbim-logos__btn { flex: none; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 2px solid var(--c-primary); border-radius: 50%; background: var(--c-surface); color: var(--c-primary); cursor: pointer; }
html.dbim-contrast .dbim-logos__btn { color: var(--c-link); border-color: var(--c-link); }
.dbim-logos__btn:hover:not(:disabled) { background: var(--c-primary); color: var(--c-on-primary); }
.dbim-logos__btn:disabled { opacity: .4; cursor: default; }
.dbim-logos__toggle { background: var(--c-primary); color: var(--c-on-primary); }
.dbim-logos__toggle:hover { background: var(--dbim-blue-700); border-color: var(--dbim-blue-700); }
html.dbim-contrast .dbim-logos__toggle { background: var(--c-link); color: #000; }
.dbim-logos__btn .dbim-icon { width: 1.4rem; height: 1.4rem; }
@media (max-width: 575.98px) { .dbim-logos__inner { gap: 8px; } .dbim-logos__btn { width: 40px; height: 40px; } }
.dbim-logos__track { flex: 1; min-width: 0; display: flex; gap: 16px; margin: 0; padding: 4px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.dbim-logos__track::-webkit-scrollbar { display: none; }
.dbim-logos__item { position: relative; flex: 0 0 clamp(124px, 15vw, 172px); height: 100px; scroll-snap-align: start; }
.dbim-logos__item a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 8px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); }
.dbim-logos__item a:hover { border-color: var(--c-accent); box-shadow: 0 0 0 2px var(--dbim-blue-100); }
.dbim-logos__item img { display: block; width: auto; height: auto; max-width: 100%; max-height: 80px; object-fit: contain; }

/* ---------- footer ---------- */
.dbim-footer { position: relative; background: var(--c-primary); color: var(--c-on-primary); font-size: var(--fs-p2); }
html.dbim-contrast .dbim-footer { border-top: 2px solid #fff; }
.dbim-footer a { color: var(--c-on-primary); }
html.dbim-contrast .dbim-footer a { color: var(--c-link); }
.dbim-footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px var(--gutter); padding-block: 40px 32px; }
.dbim-footer__title { margin: 0 0 12px; font-size: var(--fs-p1); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.dbim-footer p { margin: 0 0 12px; line-height: 1.6; }
.dbim-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dbim-footer__links a { text-decoration: none; }
.dbim-footer__links a::before { content: "\203A"; margin-right: 8px; }
.dbim-footer__links a:hover, .dbim-footer__map a:hover { text-decoration: none; }
.dbim-footer__map a { display: inline-flex; align-items: center; gap: 6px; }
.dbim-footer__map .dbim-icon { width: 1em; height: 1em; }
.dbim-footer__stat { margin-bottom: 6px; }
.dbim-social { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 16px; padding: 0; }
.dbim-social a { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 8px; border: 2px solid rgba(255, 255, 255, .8); border-radius: 999px; text-decoration: none; font-weight: 700; font-size: var(--fs-p2); }
.dbim-social a:hover { background: #fff; color: var(--c-primary); }
.dbim-social .dbim-icon { width: 1.4rem; height: 1.4rem; }
.dbim-footer__bar { border-top: 1px solid rgba(255, 255, 255, .28); }
.dbim-footer__bar-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; padding-block: 14px; }
.dbim-footer__bar p { margin: 0; }
.dbim-footer .dbim-link-btn { color: inherit; }
html.dbim-contrast .dbim-footer .dbim-link-btn { color: var(--c-link); }
.dbim-top { position: fixed; right: 16px; bottom: calc(16px + var(--consent-h, 0px)); z-index: 90; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--dbim-blue-700); color: #fff !important; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .3); }
@media (max-width: 1199.98px) { .dbim-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* foldable footer sections: plain headings on desktop, tappable rows on phones */
.dbim-foot__sum { list-style: none; cursor: default; }
.dbim-foot__sum::-webkit-details-marker { display: none; }
.dbim-foot__sum .dbim-footer__title { margin: 0 0 12px; }
@media (max-width: 575.98px) {
    .dbim-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 8px 12px; }
    .dbim-footer__col { border-bottom: 1px solid rgba(255, 255, 255, .22); }
    .dbim-footer__col:last-child { border-bottom: 0; padding-top: 20px; }
    .dbim-foot { padding-bottom: 4px; }
    .dbim-foot__sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; cursor: pointer; }
    .dbim-foot__sum .dbim-footer__title { margin: 0; }
    .dbim-foot__sum::after { content: ""; flex: none; width: 10px; height: 10px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-3px); transition: transform .15s; }
    .dbim-foot[open] > .dbim-foot__sum::after { transform: rotate(-135deg) translateY(-3px); }
    .dbim-foot__sum:focus-visible { outline-offset: -3px; }
    .dbim-foot > :not(summary) { margin-top: 0; }
    .dbim-foot > p:last-child, .dbim-foot > ul:last-child, .dbim-foot > div:last-child { margin-bottom: 14px; }
    .dbim-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
    .dbim-footer__links a { display: inline-block; padding: 8px 0; }
    .dbim-footer__stat { margin-bottom: 6px; }
    .dbim-social { margin-bottom: 12px; }
    .dbim-footer__bar-inner { flex-direction: column; align-items: flex-start; gap: 4px; padding-block: 12px; }
    .dbim-footer__bar .dbim-link-btn { padding: 10px 0; }
}
@media (prefers-reduced-motion: reduce) { .dbim-foot__sum::after { transition: none; } }

/* ---------- popup dialogs ---------- */
.dbim-dialog { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(5, 17, 83, .75); }
.dbim-dialog__box { position: relative; width: min(100%, 720px); max-height: 90vh; overflow: auto; padding: 12px; background: #fff; border-radius: var(--radius-lg); box-shadow: 0 24px 70px rgba(0, 0, 0, .55); animation: dbim-pop .3s ease; }
.dbim-dialog__box img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.dbim-dialog__close { position: absolute; top: 10px; right: 10px; z-index: 2; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 2px solid #fff; border-radius: 50%; background: var(--dbim-blue-900); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.dbim-dialog__close:hover { background: var(--dbim-error); }
@keyframes dbim-pop { from { opacity: 0; transform: translateY(24px) scale(.96); } to { opacity: 1; transform: none; } }

/* ---------- cookie consent (bottom notice) ---------- */
.dbim-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100; max-height: 85vh; overflow: auto; background: #fff; color: #1C2333; border-top: 4px solid var(--dbim-blue-900); box-shadow: 0 -8px 28px rgba(0, 0, 0, .22); --focus: #0D6EFD; }
html.dbim-contrast .dbim-consent { background: #000; color: #fff; border-color: #fff; }
.dbim-consent__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 32px; align-items: center; padding-block: 18px; }
.dbim-consent__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 6px; }
.dbim-consent__head .dbim-consent__title { margin: 0; }
.dbim-consent__lang { display: flex; align-items: center; gap: 8px; font-size: var(--fs-p2); font-weight: 600; color: var(--dbim-blue-900); }
.dbim-consent__lang select { min-height: 40px; padding: 6px 10px; border: 1px solid var(--dbim-blue-300); border-radius: var(--radius); background: #fff; color: #1C2333; font: inherit; font-size: var(--fs-p2); }
html.dbim-contrast .dbim-consent__lang { color: #fff; }
html.dbim-contrast .dbim-consent__lang select { background: #000; color: #fff; border-color: #fff; }
.dbim-consent__legal { margin-top: 8px !important; color: var(--c-muted); }
.dbim-consent__title { margin: 0 0 6px; font-size: var(--fs-h3); color: var(--dbim-blue-900); }
html.dbim-contrast .dbim-consent__title { color: #fff; }
.dbim-consent p { margin: 0; font-size: var(--fs-p2); line-height: 1.55; }
.dbim-consent__options { margin: 14px 0 0; }
.dbim-consent__options fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: 10px; }
.dbim-check { display: flex; align-items: flex-start; gap: 10px; font-size: var(--fs-p2); cursor: pointer; }
.dbim-check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--dbim-blue-700); }
.dbim-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.dbim-consent .dbim-btn--primary-outline { background: #fff; }
html.dbim-contrast .dbim-consent .dbim-btn--primary-outline { background: #000; }
@media (max-width: 767.98px) {
    .dbim-consent__inner { grid-template-columns: minmax(0, 1fr); }
    .dbim-consent__actions { justify-content: stretch; }
    .dbim-consent__actions .dbim-btn { flex: 1 1 140px; justify-content: center; }
}

/* ---------- responsive: header / navigation ---------- */
/* 1280-1439: single-row menu with slightly tighter type so all nine DB menu items fit on one line */
@media (min-width: 1280px) and (max-width: 1439.98px) {
    .dbim-menu__link { font-size: .9375rem; padding-left: 10px; padding-right: 4px; }
    .dbim-menu__toggle { width: 24px; }
}
/* below 1280 the menu collapses behind the Menu button */
@media (max-width: 1279.98px) {
    .dbim-brandbar__inner { grid-template-columns: auto minmax(200px, 1fr) auto auto; justify-content: stretch; }
    .dbim-menu-btn { display: inline-flex; }
    .dbim-nav { display: none; position: static; border-top: 0; }
    .dbim-nav.is-open { display: block; }
    .dbim-menu { flex-direction: column; flex-wrap: nowrap; }
    .dbim-menu > .dbim-menu__item { flex-wrap: wrap; border-top: 1px solid var(--c-border); }
    .dbim-menu__link { flex: 1; min-width: 0; margin: 0; border: 0 !important; padding: 14px 12px 14px 4px; }
    .dbim-menu > .dbim-menu__item:not(.has-sub) > .dbim-menu__link { padding-right: 4px; }
    .dbim-menu__item.is-current > .dbim-menu__link { box-shadow: inset 4px 0 0 var(--c-primary); padding-left: 14px; }
    .dbim-menu__toggle { width: 48px; }
    .dbim-submenu, .dbim-submenu .dbim-submenu { position: static; width: 100%; max-width: none; min-width: 0; box-shadow: none; border: 0; border-left: 3px solid var(--dbim-blue-300); margin: 0 0 8px 12px; padding: 0; flex-basis: 100%; }
    .dbim-submenu .dbim-menu__toggle .dbim-icon--chevron-down { transform: rotate(0); }
    .dbim-submenu .is-open > .dbim-menu__toggle .dbim-icon--chevron-down { transform: rotate(-90deg); }
    .dbim-submenu .dbim-menu__link { padding-left: 12px; }
}
@media (max-width: 991.98px) {
    /* two rows that do not share column widths: [logo ........ Menu] / [search ....... icons] */
    .dbim-brandbar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding-block: 10px; }
    .dbim-brandbar__inner::before { content: ""; order: 3; flex: 0 0 100%; height: 0; margin-top: -10px; }   /* the line break between the two rows */
    .dbim-brand { order: 1; flex: 1 1 0; min-width: 0; }
    .dbim-menu-btn { order: 2; flex: none; }
    .dbim-search { order: 4; flex: 1 1 0; min-width: 0; width: auto; }
    .dbim-tools { order: 5; flex: none; }
    .dbim-brand { grid-area: brand; }
    /* tablet and below: the tools row sits at the left, so the panels span the header (see .dbim-pop below) */
    .dbim-pop { position: static; }
    .dbim-popover { left: var(--gutter); right: var(--gutter); top: 100%; width: auto; max-width: none; }
    .dbim-popover--lang, .dbim-popover--a11y { width: auto; }
    .dbim-menu-btn { grid-area: menu; }
    .dbim-search { grid-area: search; }
    .dbim-tools { grid-area: tools; justify-content: flex-end; }
}
@media (max-width: 575.98px) {
    /* one slim clock line, then logo + Menu, then search with the two tool icons on the same row */
    .dbim-topbar__inner { justify-content: space-between; flex-wrap: nowrap; gap: 8px; min-height: 30px; padding-block: 3px; }
    .dbim-clock { font-size: var(--fs-sm); gap: 6px; white-space: nowrap; }
    .dbim-clock img { width: 20px; height: 12px; }
    .dbim-clock time { min-width: 0; }
    .dbim-brand { gap: 10px; }
    .dbim-brand__emblem { width: 40px; }
    .dbim-brand__title { font-size: 1.375rem; }
    .dbim-brand__sub { font-size: .9375rem; }
    .dbim-menu-btn { height: 42px; padding: 0 12px; }
    .dbim-search__input { height: 42px; }
    .dbim-search__btn { width: 36px; height: 36px; }
    .dbim-tools > * + * { margin-left: 4px; padding-left: 4px; }
    .dbim-tool { width: 42px; height: 42px; }
    .dbim-tool .dbim-icon { width: 1.5rem; height: 1.5rem; }
    .dbim-tools > * + * { margin-left: 2px; padding-left: 2px; }
    .dbim-tool { width: 40px; height: 40px; }
}
@media (max-width: 379.98px) {
    .dbim-brandbar__inner { column-gap: 8px; }
    .dbim-brand { gap: 8px; }
    .dbim-brand__emblem { width: 34px; }
    .dbim-brand__title { font-size: 1.125rem; }
    .dbim-brand__sub { font-size: .8125rem; }
    .dbim-menu-btn { gap: 6px; padding: 0 10px; font-size: .9375rem; }
    .dbim-search__btn { width: 32px; }
}

/* ==========================================================================
   Homepage sections after the DBIM "multi-page ministry/department website" layout (Fig. 49):
   About / Key Offerings + What's New / Recent Documents + Personas + Important Links / Social media
   ========================================================================== */
.dbim-section .dbim-h2 { margin-bottom: 20px; }
.dbim-section--navy { background: var(--dbim-blue-900); color: #fff; }
.dbim-section--navy .dbim-h2, .dbim-section--navy .dbim-h2 .dbim-icon { color: #fff; }
html.dbim-contrast .dbim-section--navy { background: #000; border-block: 1px solid #fff; }

/* About the Embassy */
.dbim-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 280px); gap: var(--gutter); align-items: stretch; }
.dbim-about__main { display: flex; flex-direction: column; min-width: 0; }
.dbim-about__main .dbim-tiles { margin-top: auto; }
.dbim-about__main p { margin: 0 0 24px; max-width: 75ch; }
.dbim-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.dbim-tile {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 104px; height: 100%; padding: 16px;
    background: var(--c-surface); border: 1px solid var(--c-primary); border-radius: var(--radius); color: var(--c-primary) !important;
    font-weight: 700; text-align: center; text-decoration: none; line-height: 1.3;
}
.dbim-tile .dbim-icon { width: 2.25rem; height: 2.25rem; }
.dbim-tile:hover { background: var(--c-hover); }
html.dbim-contrast .dbim-tile { color: var(--c-link) !important; border-color: #fff; }
html.dbim-contrast .dbim-tile:hover { background: #1f1f1f; }
.dbim-person { margin: 0; justify-self: center; width: min(100%, 260px); text-align: center; }
.dbim-person img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: top center; background: #fff; border: 1px solid var(--c-border); border-bottom: 4px solid var(--c-primary); border-radius: var(--radius); }
html.dbim-contrast .dbim-person img { border-color: #fff; }
.dbim-person figcaption { display: flex; flex-direction: column; align-items: center; gap: 4px; padding-top: 14px; }
.dbim-person__name { font-size: var(--fs-h3); line-height: 1.3; }
.dbim-person__role { font-size: var(--fs-p2); letter-spacing: .02em; text-transform: uppercase; color: var(--c-muted); }
.dbim-person__link { padding: 4px 2px; }
@media (max-width: 767.98px) { .dbim-about { grid-template-columns: minmax(0, 1fr); } .dbim-person { order: -1; } }

/* two-column rows (Key Offerings | What's New) */
.dbim-two { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gutter); align-items: stretch; }
@media (max-width: 991.98px) { .dbim-two { grid-template-columns: minmax(0, 1fr); } }
/* equal height: each column is a flex stack whose box (card / panel) takes the remaining height */
.dbim-two__main, .dbim-two__side { display: flex; flex-direction: column; min-width: 0; }
.dbim-two__main > .dbim-card, .dbim-two__side > .dbim-panel { flex: 1; }
.dbim-two__main > .dbim-card { display: flex; flex-direction: column; }
.dbim-two__main > .dbim-card > .dbim-tabs { flex: 1; grid-template-rows: auto minmax(0, 1fr); }
.dbim-two__main .dbim-tabs__panel { min-height: 0; }
.dbim-two__side > .dbim-panel .dbim-card__foot { margin-top: auto; padding-top: 16px; }
.dbim-card--plain .dbim-tabs__panel { padding-top: clamp(16px, 2vw, 24px); }
/* key offerings: icon tiles drawn in code (same tile as the About section) */
.dbim-offers { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 16px; align-content: stretch; flex: 1; list-style: none; margin: 0; padding: 0; }
.dbim-offers__item { display: flex; }
.dbim-offers__item > * { flex: 1; }
.dbim-offers .dbim-tile { justify-content: flex-start; padding-top: 24px; }
.dbim-offers .dbim-tile .dbim-icon { width: 3rem; height: 3rem; }   /* one icon box, so labels line up across tiles */
.dbim-tile--static:hover { background: var(--c-surface); }
.dbim-tile__sub { font-size: var(--fs-p2); font-weight: 500; color: var(--c-muted); }

/* what's new: navy panel */
.dbim-panel { display: flex; flex-direction: column; padding: clamp(8px, 1vw, 12px) clamp(16px, 2vw, 28px) clamp(16px, 2vw, 24px); background: var(--dbim-blue-900); color: #fff; border-radius: var(--radius-lg); }
html.dbim-contrast .dbim-panel { background: #000; border: 1px solid #fff; }
.dbim-panel .dbim-news__item { border-color: rgba(255, 255, 255, .28); }
.dbim-panel .dbim-news__link { color: #fff !important; }
.dbim-panel a.dbim-news__link:hover .dbim-news__title { color: #fff; text-decoration: none; }
.dbim-panel .dbim-news__body { flex-direction: column; align-items: flex-start; gap: 4px; }
.dbim-panel .dbim-news__date { margin: 0; padding: 0; color: var(--dbim-blue-100); }
.dbim-panel .dbim-news__file { color: #fff; }
.dbim-btn--on-dark { border-color: #fff; color: #fff !important; }
.dbim-btn--on-dark:hover { background: #fff; color: var(--dbim-blue-900) !important; }
.dbim-panel .dbim-card__foot { margin-top: 8px; }

/* recent documents | personas | important links */
.dbim-three { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 3fr); gap: var(--gutter); align-items: stretch; }
/* equal height: each column is a flex stack and its list fills what is left under the heading */
.dbim-three__docs, .dbim-three__personas, .dbim-three__links { display: flex; flex-direction: column; min-width: 0; }
.dbim-three__docs > .dbim-docs { flex: 1; align-content: stretch; }
.dbim-three__personas > .dbim-rows { flex: 1; align-content: stretch; grid-auto-rows: 1fr; }
.dbim-three__links > .dbim-implinks { flex: 1; display: flex; flex-direction: column; }
.dbim-three__links .dbim-implinks li { flex: 1; display: flex; }
.dbim-three__links .dbim-implinks li > a { flex: 1; }
@media (max-width: 1199.98px) { .dbim-three { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dbim-three__docs { grid-column: 1 / -1; } }
@media (max-width: 767.98px) { .dbim-three { grid-template-columns: minmax(0, 1fr); } }
.dbim-rows, .dbim-implinks { list-style: none; margin: 0; padding: 0; }
.dbim-rows { display: grid; gap: 12px; }
.dbim-row {
    display: flex; align-items: center; gap: 14px; min-height: 60px; padding: 10px 14px; background: var(--c-surface); border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-accent); border-radius: var(--radius); color: var(--c-primary) !important; font-weight: 600; text-decoration: none;
}
.dbim-row:hover { background: var(--c-hover); }
.dbim-row__ico { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--c-hover); color: var(--c-primary); }
.dbim-row__ico .dbim-icon { width: 1.75rem; height: 1.75rem; }
.dbim-row__text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.dbim-row > .dbim-icon { flex: none; width: 1.4rem; height: 1.4rem; }
html.dbim-contrast .dbim-row { color: var(--c-link) !important; border-color: #fff; }
html.dbim-contrast .dbim-row__ico { background: #1f1f1f; color: var(--c-link); }
.dbim-implinks { border-right: 4px solid var(--c-primary); }
html.dbim-contrast .dbim-implinks { border-right-color: var(--c-link); }
.dbim-implinks li { border-bottom: 1px solid var(--c-border); }
.dbim-implinks li:first-child { border-top: 1px solid var(--c-border); }
.dbim-implinks a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 12px 12px 12px 4px; color: var(--c-text) !important; font-weight: 500; text-decoration: none; }
.dbim-implinks a:hover { background: var(--c-hover); }
.dbim-implinks a:hover > span:first-child { text-decoration: none; }
.dbim-implinks a > .dbim-icon { flex: none; width: 1.4rem; height: 1.4rem; color: var(--c-primary); }
html.dbim-contrast .dbim-implinks a > .dbim-icon { color: var(--c-link); }

/* social media (navy section, four equal cards) */
.dbim-feeds { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 1199.98px) { .dbim-feeds { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .dbim-feeds { grid-template-columns: minmax(0, 1fr); } }
.dbim-feed { display: flex; flex-direction: column; min-width: 0; background: #fff; color: var(--c-text); border-radius: var(--radius-lg); overflow: hidden; border-bottom: 4px solid var(--dbim-blue-500); }
html.dbim-contrast .dbim-feed { background: #000; color: #fff; border: 1px solid #fff; }
.dbim-feed__head { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 16px; font-size: var(--fs-h3); font-weight: 700; color: var(--c-primary); border-bottom: 1px solid var(--c-border); }
html.dbim-contrast .dbim-feed__head { color: #fff; }
.dbim-feed__head .dbim-icon { width: 1.4rem; height: 1.4rem; }
.dbim-feed .dbim-embed { flex: 1; border: 0; border-radius: 0; background: var(--c-alt); }
.dbim-feed .dbim-embed.is-loaded { background: #fff; }
.dbim-feed .dbim-embed.is-loaded { align-items: stretch; }
.dbim-feed .dbim-embed iframe { flex: 1 1 auto; width: 100%; height: 470px; min-height: 470px; border: 0; }
.dbim-feed .dbim-embed .twitter-timeline, .dbim-feed .dbim-embed .twitter-tweet { width: 100%; max-width: 100%; }
.dbim-feed__more { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--c-border); color: var(--c-primary) !important; font-weight: 600; text-decoration: none; }
.dbim-feed__more:hover { background: var(--c-hover); text-decoration: none; }
.dbim-feed__more .dbim-icon { width: 1.3rem; height: 1.3rem; }
html.dbim-contrast .dbim-feed__more { color: var(--c-link) !important; }
html.dbim-dark .dbim-feed .dbim-embed { background: var(--c-surface); }

/* ---------- file / external-link indicators: one icon size and one colour everywhere ---------- */
.dbim-news__file .dbim-icon, .dbim-tag .dbim-icon, .dbim-implinks a > .dbim-icon,
.dbim-ticker__item a .dbim-icon, .dbim-footer__map .dbim-icon { width: 1rem; height: 1rem; }
.dbim-news__file .dbim-icon, .dbim-tag .dbim-icon { vertical-align: middle; }

/* PDF and external-link icons: one size (16px) wherever they appear; the icon inside a round list badge is 20px */
.dbim-icon--pdf, .dbim-icon--pdf-alt, .dbim-icon--open-in-new, .dbim-icon--external-link { width: 1rem; height: 1rem; }
.dbim-btn .dbim-icon--pdf, .dbim-btn .dbim-icon--open-in-new, .dbim-btn .dbim-icon--external-link, .dbim-feed__more .dbim-icon { width: 1rem; height: 1rem; }
/* the old PDF / external-link pictures inside page content */
main.dbim-inner img[src*="PDF-icon" i], main.dbim-inner img[src*="ext-link-icon" i] { width: 16px !important; height: auto !important; max-height: 16px; vertical-align: middle; }

/* slightly smaller decorative icons */
.dbim-h2--icon .dbim-icon { width: 1.4em; height: 1.4em; }
.dbim-offers .dbim-tile .dbim-icon { width: 2.5rem; height: 2.5rem; }
.dbim-row__ico { width: 44px; height: 44px; }
.dbim-row__ico .dbim-icon { width: 1.5rem; height: 1.5rem; }
.dbim-tile .dbim-icon { width: 2rem; height: 2rem; }

/* ---------- accessibility controls (header panel) ---------- */
html.dbim-a11y-invert { filter: invert(1) hue-rotate(180deg); }
html.dbim-a11y-sat { filter: saturate(.25); }
html.dbim-a11y-invert.dbim-a11y-sat { filter: invert(1) hue-rotate(180deg) saturate(.25); }
html.dbim-a11y-invert img:not(.dbim-brand__emblem), html.dbim-a11y-invert video, html.dbim-a11y-invert iframe { filter: invert(1) hue-rotate(180deg); }
html.dbim-a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px solid #FFC107; outline-offset: 2px; }
html.dbim-a11y-noimg img { visibility: hidden !important; }
html.dbim-a11y-cursor, html.dbim-a11y-cursor * { cursor: default !important; }

/* dark mode: a calm dark palette; blue fills (hero, footer, panels) stay DBIM blue */
html.dbim-dark {
    --c-bg: #0E1424; --c-surface: #151D33; --c-alt: #101829; --c-panel: #1B2540;
    --c-text: #E8ECF6; --c-muted: #B5BFD6; --c-border: #2F3B5C;
    --c-link: #9DBBFF; --c-primary: #A3BBF3; --c-on-primary: #0E1424; --c-accent: #7FA6F5; --c-hover: #22305A;
    color-scheme: dark;
}
html.dbim-dark .dbim-footer, html.dbim-dark .dbim-hero__frame, html.dbim-dark .dbim-tabs__bar { --c-primary: #162F6A; --c-on-primary: #FFFFFF; }
html.dbim-dark .dbim-footer { background: #0B1430; }
html.dbim-dark .dbim-btn--primary, html.dbim-dark .dbim-card--tabs .dbim-btn--primary { background: var(--dbim-blue-700); border-color: var(--dbim-blue-700); color: #fff !important; }
html.dbim-dark .dbim-btn--outline:hover { color: var(--c-on-primary) !important; }
html.dbim-dark .dbim-feed { background: var(--c-surface); color: var(--c-text); }
html.dbim-dark .dbim-feed .dbim-embed.is-loaded { background: #fff; }
html.dbim-dark .dbim-person img { background: #fff; }
html.dbim-dark .dbim-alert { background: #3a2f00; color: #FFE9A6; }
html.dbim-dark .dbim-tabs__tab { color: var(--dbim-blue-100); }
html.dbim-dark .dbim-tabs__tab[aria-selected="true"] { color: var(--c-primary); }
html.dbim-dark .dbim-menu__link, html.dbim-dark .dbim-tool { color: var(--c-primary) !important; }
html.dbim-dark .dbim-section--alt { background: var(--c-alt); }
html.dbim-dark .dbim-section--navy, html.dbim-dark .dbim-panel { background: #0B1430; }

/* ---------- search suggestions (header box and results page) ---------- */
.dbim-suggest { position: relative; flex: 1; min-width: 0; }
.dbim-suggest .dbim-search__input { width: 100%; }
.dbim-suggest__list { position: absolute; left: -44px; right: -1px; top: calc(100% + 6px); z-index: 140; margin: 0; padding: 4px 0; list-style: none; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius-lg); box-shadow: 0 12px 30px rgba(22, 47, 106, .25); max-height: 70vh; overflow: auto; }
.dbim-suggest__list li { margin: 0; }
.dbim-suggest__list a { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 10px 16px; color: var(--c-text); text-decoration: none; line-height: 1.4; }
.dbim-suggest__list li.is-active a, .dbim-suggest__list a:hover { background: var(--c-hover); color: var(--c-primary); text-decoration: none; }
.dbim-suggest__type { flex: none; font-size: var(--fs-sm); font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--c-muted); }
html.dbim-contrast .dbim-suggest__list { background: #000; border-color: #fff; }
html.dbim-contrast .dbim-suggest__list a { color: var(--c-link); }
@media (max-width: 575.98px) { .dbim-suggest__list { left: -44px; } }

/* ---------- Google on-page translator: hide its own banner / tooltips so the DBIM header stays as designed ---------- */
body.dbim-home { top: 0 !important; }
.skiptranslate iframe, iframe.skiptranslate, .goog-te-banner-frame, #goog-gt-tt, .goog-tooltip, .goog-te-balloon-frame { display: none !important; visibility: hidden !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
#dbimTranslateHost { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
    .dbim-slide, .dbim-dialog__box, .dbim-logos__track, .dbim-menu__toggle .dbim-icon, .dbim-tabs__tab, .dbim-tabs__panel { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
html.dbim-reduced-motion .dbim-slide { transition: none !important; }

@media print { .dbim-nav, .dbim-consent, .dbim-dialog, .dbim-top, .dbim-hero__controls, .dbim-tools { display: none !important; } }
