/* ==========================================================================
   Embassy of India, Washington D.C. - inner (L2 / L3) pages, DBIM aligned.
   Loaded only by resources/views/layouts/dbim_inner.blade.php, after dbim-home.css (same tokens).
   The page templates keep their existing markup; this file restyles it:
     .innerBanner      -> page title band          .breadcrumb      -> breadcrumb row
     #innerContent     -> readable content         .rightPartShadow -> related-links card
   All selectors are scoped to main.dbim-inner so nothing else on the site changes.
   ========================================================================== */

main.dbim-inner { background: var(--c-bg); color: var(--c-text); }
main.dbim-inner .container { width: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; padding: 0; float: none; }
main.dbim-inner .cf::after, main.dbim-inner .clearfix::after { content: ""; display: table; clear: both; }
main.dbim-inner #container, main.dbim-inner .containWrap { width: auto; margin: 0; padding: 0; float: none; }

/* ---------- page title band (the old banner image + title) ---------- */
main.dbim-inner .innerBanner {
    background: linear-gradient(135deg, var(--dbim-blue-900), var(--dbim-blue-700)); color: #fff;
    padding-block: clamp(20px, 3vw, 36px); border-bottom: 4px solid var(--dbim-blue-500);
}
html.dbim-contrast main.dbim-inner .innerBanner { background: #000; border-bottom-color: #FFEB3B; }
main.dbim-inner .innerBanner img { display: none; }     /* decorative legacy icon */
main.dbim-inner .innerBanner span, main.dbim-inner .innerBanner h1 {
    display: block; margin: 0; font-size: var(--fs-h1); font-weight: 700; line-height: 1.25; color: #fff; overflow-wrap: anywhere;
}

/* ---------- content area: main column + related links ---------- */
main.dbim-inner .contentPart { padding-block: var(--section-gap); }
main.dbim-inner .contentPart > .container { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--gutter); }
main.dbim-inner :is(.leftPartInner, [class^="leftPartInner"]) { flex: 1 1 min(100%, 640px); min-width: 0; overflow-x: auto; float: none; width: auto; }
main.dbim-inner .leftContOuter, main.dbim-inner .bdrAddOut { float: none; width: auto; margin: 0; padding: 0; }
main.dbim-inner .rightPartShadow { flex: 0 0 300px; max-width: 100%; float: none; width: 300px; margin: 0; padding: 0; background: none; box-shadow: none; }
@media (max-width: 991.98px) { main.dbim-inner .rightPartShadow { flex: 1 1 100%; width: auto; } }

/* ---------- contextual (secondary) navigation: the pages of this section ---------- */
main.dbim-inner .dbim-secnav { flex: 0 0 260px; max-width: 100%; }
@media (max-width: 991.98px) { main.dbim-inner .dbim-secnav { flex: 1 1 100%; } }
main.dbim-inner .dbim-secnav__box { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius-lg); overflow: hidden; }
main.dbim-inner .dbim-secnav__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 12px 16px; background: var(--dbim-blue-900); color: #fff; font-size: var(--fs-p1); font-weight: 700; line-height: 1.3; cursor: pointer; list-style: none; }
main.dbim-inner .dbim-secnav__title::-webkit-details-marker { display: none; }
main.dbim-inner .dbim-secnav__title::after { content: ""; flex: none; width: 10px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
main.dbim-inner .dbim-secnav__box[open] > .dbim-secnav__title::after { transform: rotate(-135deg) translateY(-2px); }
@media (min-width: 992px) { main.dbim-inner .dbim-secnav__title { cursor: default; } main.dbim-inner .dbim-secnav__title::after { display: none; } }
main.dbim-inner .dbim-secnav__title:focus-visible { outline: 3px solid var(--focus); outline-offset: -4px; }
html.dbim-contrast main.dbim-inner .dbim-secnav__title { background: #000; border-bottom: 1px solid #fff; }
main.dbim-inner .dbim-secnav__list { list-style: none; margin: 0; padding: 0; }
main.dbim-inner .dbim-secnav__list li { margin: 0; border-bottom: 1px solid var(--c-border); }
main.dbim-inner .dbim-secnav__box > .dbim-secnav__list > li:last-child { border-bottom: 0; }
main.dbim-inner .dbim-secnav__list a { display: block; padding: 11px 16px; border-left: 4px solid transparent; color: var(--c-text); font-weight: 500; line-height: 1.4; }
main.dbim-inner .dbim-secnav__list a:hover { background: var(--c-hover); color: var(--c-primary); }
main.dbim-inner .dbim-secnav__list li.is-current > a { border-left-color: var(--c-primary); background: var(--c-hover); color: var(--c-primary); font-weight: 700; }
main.dbim-inner .dbim-secnav__list li.is-trail > a { font-weight: 700; }
main.dbim-inner .dbim-secnav__list--l2 { border-top: 1px solid var(--c-border); background: var(--c-alt); }
main.dbim-inner .dbim-secnav__list--l2 a { padding-left: 28px; font-size: var(--fs-p2); }
main.dbim-inner .dbim-secnav__list--l3 a { padding-left: 40px; font-size: var(--fs-p2); }
html.dbim-contrast main.dbim-inner .dbim-secnav__box { background: #000; border-color: #fff; }
html.dbim-contrast main.dbim-inner .dbim-secnav__list a { color: var(--c-link); }
html.dbim-contrast main.dbim-inner .dbim-secnav__list li.is-current > a { background: #1f1f1f; border-left-color: #FFEB3B; }
@media (prefers-reduced-motion: reduce) { main.dbim-inner .dbim-secnav__title::after { transition: none; } }

/* ---------- breadcrumb ---------- */
main.dbim-inner .breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; list-style: none; margin: 0 0 24px; padding: 0 0 12px; border-bottom: 1px solid var(--c-border); font-size: var(--fs-p2); color: var(--c-muted); background: none; }
main.dbim-inner .breadcrumb li { display: inline; margin: 0; padding: 0; background: none; list-style: none; }
main.dbim-inner .breadcrumb a { color: var(--c-link); font-weight: 500; }
main.dbim-inner .breadcrumb li > span, main.dbim-inner .breadcrumb li span span { margin: 0; }

/* ---------- content typography ---------- */
main.dbim-inner #innerContent { font-size: var(--fs-p1); line-height: 1.7; overflow-wrap: anywhere; min-width: 0; float: none; width: auto; margin: 0; padding: 0; }
main.dbim-inner #innerContent > *:first-child { margin-top: 0; }
main.dbim-inner #innerContent h1, main.dbim-inner #innerContent h2, main.dbim-inner #innerContent h3,
main.dbim-inner #innerContent h4, main.dbim-inner #innerContent h5, main.dbim-inner #innerContent h6 { color: var(--c-primary); line-height: 1.3; font-weight: 700; margin: 1.6em 0 .6em; }
main.dbim-inner #innerContent h2 { font-size: var(--fs-h2); }
main.dbim-inner #innerContent h3 { font-size: var(--fs-h3); }
main.dbim-inner #innerContent h4, main.dbim-inner #innerContent h5, main.dbim-inner #innerContent h6 { font-size: var(--fs-p1); }
html.dbim-contrast main.dbim-inner #innerContent :is(h1, h2, h3, h4, h5, h6) { color: #fff; }
main.dbim-inner #innerContent p { margin: 0 0 1em; }
/* links: no underline at rest (underline on hover / focus). Without an underline a link inside a paragraph is told apart by weight as well as colour. */
main.dbim-inner a, main.dbim-inner #innerContent a { text-decoration: none; }
main.dbim-inner :is(a, #innerContent a):is(:hover, :focus-visible) { text-decoration: none; }
main.dbim-inner #innerContent a { color: var(--c-link); }
main.dbim-inner #innerContent :is(p, li, td, span, div) > a { font-weight: 600; }
main.dbim-inner #innerContent a:hover { color: var(--c-primary); }
main.dbim-inner #innerContent ul, main.dbim-inner #innerContent ol { margin: 0 0 1em; padding-left: 1.5em; }
main.dbim-inner #innerContent li { margin-bottom: .35em; }
main.dbim-inner #innerContent img { max-width: 100%; height: auto; }
main.dbim-inner #innerContent iframe, main.dbim-inner #innerContent video { max-width: 100%; }
main.dbim-inner #innerContent .mcontent { margin-left: 0 !important; }
/* content authored in the CMS often carries inline sizes; never let it break the page width */
main.dbim-inner #innerContent [style*="width"] { max-width: 100%; }

/* tables: DBIM table look (header row in light blue, thin rules), scrolls inside its own box on small screens */
main.dbim-inner #innerContent { overflow-x: auto; }
main.dbim-inner #innerContent table { width: 100% !important; max-width: 100%; border-collapse: collapse; margin: 0 0 1.25em; font-size: var(--fs-p2); }
main.dbim-inner #innerContent th, main.dbim-inner #innerContent td { width: auto; height: auto; padding: 10px 12px; border: 1px solid var(--c-border); text-align: left; vertical-align: top; }   /* fixed width="" cells in old CMS tables must be able to shrink */
main.dbim-inner #innerContent th, main.dbim-inner #innerContent tr:first-child > th { background: var(--dbim-blue-100); color: var(--dbim-blue-900); font-weight: 700; }
html.dbim-contrast main.dbim-inner #innerContent th { background: #1f1f1f; color: #fff; }

/* the listings used by news, notices and vacancies */
main.dbim-inner .commonListing { list-style: none; margin: 0 0 1.5em; padding: 0; border-top: 1px solid var(--c-border); }
main.dbim-inner .commonListing li { float: none; width: auto; margin: 0; padding: 14px 4px; border-bottom: 1px solid var(--c-border); color: var(--c-text); }
main.dbim-inner .commonListing a { font-weight: 600; }
main.dbim-inner .commonListing img { width: 1rem; height: auto; vertical-align: middle; margin-left: 4px; }

/* ---------- related links (the old right-hand column) ---------- */
main.dbim-inner .rightPart { background: var(--c-alt); border: 1px solid var(--c-border); border-radius: var(--radius-lg); padding: 16px; float: none; width: auto; min-width: 0; overflow-x: auto; }
main.dbim-inner .rightPart table { width: 100% !important; max-width: 100%; }
main.dbim-inner .rightPart td, main.dbim-inner .rightPart th { width: auto; height: auto; }
main.dbim-inner .rightPart:empty { display: none; }
main.dbim-inner .rightPart .menuTitle { display: block; margin: 0 0 8px; padding: 0 0 10px; border-bottom: 2px solid var(--c-primary); font-size: var(--fs-h3); font-weight: 700; color: var(--c-primary); cursor: default; background: none; }
main.dbim-inner .rightPart ul { list-style: none; margin: 0; padding: 0; }
main.dbim-inner .rightPart li { margin: 0; padding: 0; border-bottom: 1px solid var(--c-border); background: none; }
main.dbim-inner .rightPart li:last-child { border-bottom: 0; }
main.dbim-inner .rightPart li a { display: block; padding: 10px 6px; color: var(--c-text); font-weight: 500; text-decoration: none; background: none; }
main.dbim-inner .rightPart li a:hover, main.dbim-inner .rightPart li a.Ractive:hover { background: var(--c-hover); color: var(--c-primary); }
main.dbim-inner .rightPart img { max-width: 100%; height: auto; }
html.dbim-contrast main.dbim-inner .rightPart { background: #000; border-color: #fff; }

/* ---------- forms found inside content pages: visible focus, comfortable size ---------- */
main.dbim-inner input[type="text"], main.dbim-inner input[type="email"], main.dbim-inner input[type="tel"], main.dbim-inner input[type="password"],
main.dbim-inner input[type="search"], main.dbim-inner input[type="number"], main.dbim-inner input[type="date"], main.dbim-inner select, main.dbim-inner textarea {
    max-width: 100%; min-height: 40px; padding: 8px 12px; border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-surface); color: var(--c-text); font: inherit;
}
main.dbim-inner textarea { min-height: 96px; }
main.dbim-inner label { cursor: pointer; }
main.dbim-inner input[type="submit"], main.dbim-inner button[type="submit"], main.dbim-inner input[type="button"] {
    min-height: 40px; padding: 8px 18px; border: 2px solid var(--dbim-blue-700); border-radius: var(--radius); background: var(--dbim-blue-700); color: #fff; font: inherit; font-weight: 700; cursor: pointer;
}
main.dbim-inner input[type="submit"]:hover, main.dbim-inner button[type="submit"]:hover { background: var(--c-primary); border-color: var(--c-primary); color: var(--c-on-primary); }

/* ---------- section tabs (DBIM contextual navigation), used by the gallery ---------- */
main.dbim-inner .dbim-subnav { margin: 0 0 24px; }
main.dbim-inner .dbim-subnav ul { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 6px; background: var(--dbim-blue-900); border-radius: var(--radius-lg); }
main.dbim-inner .dbim-subnav li { margin: 0; }
main.dbim-inner .dbim-subnav a { display: block; padding: 10px 20px; border-radius: var(--radius); color: #fff !important; font-weight: 600; text-decoration: none; }
main.dbim-inner .dbim-subnav a:hover { background: rgba(255, 255, 255, .16); }
main.dbim-inner .dbim-subnav a[aria-current="page"] { background: #fff; color: var(--dbim-blue-900) !important; }
main.dbim-inner .dbim-subnav a:focus-visible { outline-color: #fff; outline-offset: 2px; }
html.dbim-contrast main.dbim-inner .dbim-subnav ul { background: #000; border: 1px solid #fff; }
html.dbim-contrast main.dbim-inner .dbim-subnav a[aria-current="page"] { background: #FFEB3B; color: #000 !important; }

/* ---------- gallery: search + sort bar ---------- */
main.dbim-inner .dbim-gallery__tools { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; max-width: none; margin: 0 0 16px; padding: 16px; background: var(--c-alt); border: 1px solid var(--c-border); border-radius: var(--radius-lg); }
main.dbim-inner .dbim-gallery__field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
main.dbim-inner .dbim-gallery__field--search { flex: 1 1 260px; }
main.dbim-inner .dbim-gallery__field label { margin: 0; font-size: var(--fs-p2); font-weight: 600; color: var(--c-primary); }
main.dbim-inner .dbim-gallery__field :is(input, select) { width: 100%; max-width: none; }
main.dbim-inner .dbim-gallery__field:not(.dbim-gallery__field--search) { flex: 0 1 200px; }
main.dbim-inner .dbim-gallery__reset { align-self: center; padding: 8px 4px; font-weight: 600; }
main.dbim-inner .dbim-gallery__count { margin: 0 0 20px; font-size: var(--fs-p2); color: var(--c-muted); }
@media (max-width: 575.98px) { main.dbim-inner .dbim-gallery__field:not(.dbim-gallery__field--search), main.dbim-inner .dbim-gallery__tools .dbim-btn { flex: 1 1 100%; } }

/* ---------- document / notice lists (news, public notices, tenders) ---------- */
main.dbim-inner .dbim-list { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 12px; }
main.dbim-inner .dbim-list__item { display: flex; align-items: center; gap: 16px; margin: 0; padding: 16px; background: var(--c-surface); border: 1px solid var(--c-border); border-left: 4px solid var(--c-accent); border-radius: var(--radius-lg); }
main.dbim-inner #innerContent ul.dbim-list { padding: 0; margin: 0 0 28px; }
main.dbim-inner #innerContent .dbim-list__item { margin: 0; }
main.dbim-inner .dbim-gallery__field :is(input, select) { height: 46px; }
main.dbim-inner .dbim-list__item:hover { background: var(--c-alt); }
main.dbim-inner .dbim-list__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-hover); color: var(--c-primary); }
main.dbim-inner .dbim-list__ico .dbim-icon { width: 1.25rem; height: 1.25rem; }
main.dbim-inner .dbim-list__body { flex: 1; min-width: 0; }
main.dbim-inner #innerContent h2.dbim-list__title, main.dbim-inner .dbim-list__title { margin: 0 0 4px; font-size: var(--fs-p1); font-weight: 600; line-height: 1.45; color: var(--c-text); overflow-wrap: anywhere; }
main.dbim-inner .dbim-list__title a { color: var(--c-primary); font-weight: 600; }
main.dbim-inner .dbim-list__title a:hover { text-decoration: none; }
main.dbim-inner .dbim-list__title p { margin: 0; display: inline; }
main.dbim-inner .dbim-list__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; font-size: var(--fs-p2); color: var(--c-muted); }
main.dbim-inner .dbim-list__action { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 2px solid var(--c-primary); border-radius: var(--radius); color: var(--c-primary) !important; font-size: var(--fs-p2); font-weight: 700; text-decoration: none; }
main.dbim-inner .dbim-list__action:hover { background: var(--c-primary); color: var(--c-on-primary) !important; text-decoration: none; }
main.dbim-inner .dbim-list__action .dbim-icon { width: 1.25rem; height: 1.25rem; }
main.dbim-inner .dbim-list .dbim-badge { margin-left: 8px; }
html.dbim-contrast main.dbim-inner .dbim-list__item { background: #000; border-color: #fff; border-left-color: #FFEB3B; }
html.dbim-contrast main.dbim-inner .dbim-list__title a, html.dbim-contrast main.dbim-inner .dbim-list__action { color: var(--c-link) !important; border-color: var(--c-link); }
html.dbim-dark main.dbim-inner .dbim-list__item:hover { background: var(--c-hover); }
@media (max-width: 575.98px) {
    main.dbim-inner .dbim-list__item { flex-wrap: wrap; align-items: flex-start; gap: 12px; padding: 14px; }
    main.dbim-inner .dbim-list__ico { width: 36px; height: 36px; }
    main.dbim-inner .dbim-list__body { flex-basis: calc(100% - 52px); }
    main.dbim-inner .dbim-list__action { width: 100%; justify-content: center; }
}

/* ---------- search results page ---------- */
main.dbim-inner .dbim-searchpage { max-width: none; margin: 0 0 16px; padding: 16px; background: var(--c-alt); border: 1px solid var(--c-border); border-radius: var(--radius-lg); }
main.dbim-inner .dbim-searchpage > label { display: block; margin: 0 0 6px; font-size: var(--fs-p2); font-weight: 700; color: var(--c-primary); }
main.dbim-inner .dbim-searchpage__row { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
main.dbim-inner .dbim-searchpage .dbim-suggest { flex: 1 1 260px; }
main.dbim-inner .dbim-searchpage .dbim-suggest input { width: 100%; max-width: none; height: 46px; }
main.dbim-inner .dbim-searchpage .dbim-suggest__list { left: 0; right: 0; }
main.dbim-inner .dbim-searchpage .dbim-btn { height: 46px; }
main.dbim-inner .dbim-search__dym { margin: 0 0 16px; font-size: var(--fs-p1); }
main.dbim-inner .dbim-subnav--chips ul { background: transparent; padding: 0; gap: 8px; }
main.dbim-inner .dbim-subnav--chips a { padding: 8px 16px; border: 1px solid var(--c-border); border-radius: 999px; background: var(--c-surface); color: var(--c-primary) !important; font-weight: 600; }
main.dbim-inner .dbim-subnav--chips a:hover { background: var(--c-hover); }
main.dbim-inner .dbim-subnav--chips a[aria-current="page"] { background: var(--dbim-blue-900); border-color: var(--dbim-blue-900); color: #fff !important; }
main.dbim-inner .dbim-chip__n { display: inline-block; margin-left: 4px; padding: 0 8px; border-radius: 999px; background: rgba(22, 47, 106, .1); font-size: var(--fs-sm); }
main.dbim-inner .dbim-subnav--chips a[aria-current="page"] .dbim-chip__n { background: rgba(255, 255, 255, .22); }
html.dbim-contrast main.dbim-inner .dbim-subnav--chips a { background: #000; border-color: #fff; color: var(--c-link) !important; }
html.dbim-contrast main.dbim-inner .dbim-subnav--chips a[aria-current="page"] { background: #FFEB3B; color: #000 !important; }
main.dbim-inner .dbim-results__snippet { margin: 0 0 6px; font-size: var(--fs-p2); color: var(--c-text); line-height: 1.6; overflow-wrap: anywhere; }
main.dbim-inner mark { padding: 0 2px; border-radius: 2px; background: #FFE9A6; color: #1C2333; }
html.dbim-contrast main.dbim-inner mark { background: #FFEB3B; color: #000; }
main.dbim-inner .dbim-search__extra { margin: 28px 0 0; }
main.dbim-inner #innerContent .dbim-search__extra h2 { margin: 0 0 12px; font-size: var(--fs-h3); }
main.dbim-inner .dbim-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 16px; padding: 0; }
main.dbim-inner .dbim-chips li { margin: 0; }
main.dbim-inner .dbim-chips a { display: inline-block; padding: 8px 16px; border: 1px solid var(--c-primary); border-radius: 999px; font-weight: 600; color: var(--c-primary); }
main.dbim-inner .dbim-chips a:hover { background: var(--c-primary); color: var(--c-on-primary); text-decoration: none; }
main.dbim-inner .dbim-search__tips { margin: 0; padding-left: 1.25em; color: var(--c-muted); font-size: var(--fs-p2); }
main.dbim-inner .dbim-search__feedback { margin: 28px 0 0; padding: 14px 16px; background: var(--c-alt); border-left: 4px solid var(--c-accent); border-radius: var(--radius); font-size: var(--fs-p2); }

/* ---------- gallery: album cards ---------- */
main.dbim-inner .dbim-albums, main.dbim-inner .dbim-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: clamp(14px, 2vw, 24px); list-style: none; margin: 0 0 28px; padding: 0; }
main.dbim-inner .dbim-albums__item, main.dbim-inner .dbim-photos__item { display: flex; margin: 0; }
main.dbim-inner .dbim-album { display: flex; flex-direction: column; width: 100%; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 1px 3px rgba(22, 47, 106, .08); transition: box-shadow .2s ease, transform .2s ease; }
main.dbim-inner .dbim-album:hover, main.dbim-inner .dbim-album:focus-within { box-shadow: 0 8px 22px rgba(22, 47, 106, .18); transform: translateY(-2px); }
main.dbim-inner .dbim-album__media { display: block; aspect-ratio: 4 / 3; background: var(--c-alt); overflow: hidden; }
main.dbim-inner .dbim-album__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
main.dbim-inner .dbim-album__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 14px 16px 16px; border-top: 4px solid var(--c-primary); }
main.dbim-inner .dbim-album__title { margin: 0; font-size: var(--fs-p1); line-height: 1.4; font-weight: 700; color: var(--c-primary); }
main.dbim-inner #innerContent h2.dbim-album__title { margin: 0; font-size: var(--fs-p1); }
main.dbim-inner .dbim-album__title a { color: inherit !important; text-decoration: none; }
main.dbim-inner .dbim-album__title a:hover { text-decoration: none; }
main.dbim-inner .dbim-album__title a::after { content: ""; position: absolute; inset: 0; }   /* the whole card is the click target */
main.dbim-inner .dbim-album { position: relative; }
main.dbim-inner .dbim-album__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; font-size: var(--fs-p2); color: var(--c-muted); }
html.dbim-contrast main.dbim-inner .dbim-album__title { color: var(--c-link); }

/* ---------- gallery: one album ---------- */
main.dbim-inner .dbim-album-page__title { margin-top: 0; }
main.dbim-inner .dbim-album-page__intro { margin: 12px 0 24px; }
main.dbim-inner .dbim-photo { display: flex; flex-direction: column; width: 100%; margin: 0; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius-lg); overflow: hidden; }
main.dbim-inner .dbim-photo__link { display: block; aspect-ratio: 4 / 3; background: var(--c-alt); overflow: hidden; }
main.dbim-inner .dbim-photo__link img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .3s ease; }
main.dbim-inner .dbim-photo__link:hover img, main.dbim-inner .dbim-photo__link:focus-visible img { transform: scale(1.04); }
main.dbim-inner .dbim-photo__caption { padding: 10px 14px 12px; font-size: var(--fs-p2); line-height: 1.5; }
main.dbim-inner .dbim-photo__caption p { margin: 0; }
main.dbim-inner .dbim-gallery__back { margin: 8px 0 0; }
/* the content-area list/image rules are more specific than the card rules above, so restate the card layout under #innerContent */
main.dbim-inner #innerContent :is(.dbim-albums, .dbim-photos) { padding: 0; margin: 0 0 28px; }
main.dbim-inner #innerContent :is(.dbim-albums__item, .dbim-photos__item) { margin: 0; }
main.dbim-inner #innerContent :is(.dbim-album__media, .dbim-photo__link) img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
main.dbim-inner #innerContent .dbim-subnav ul { padding: 6px; }
main.dbim-inner .dbim-gallery__back .dbim-btn { color: var(--c-primary) !important; text-decoration: none; }

/* ---------- pagination (Laravel default markup) ---------- */
main.dbim-inner ul.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; float: none; list-style: none; margin: 8px 0 0; padding: 0; }
main.dbim-inner ul.pagination li { margin: 0; }
main.dbim-inner ul.pagination :is(a, span) { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 6px 12px; border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-surface); color: var(--c-primary) !important; font-weight: 600; text-decoration: none; }
main.dbim-inner ul.pagination a:hover { background: var(--c-hover); }
main.dbim-inner ul.pagination li.active span { background: var(--dbim-blue-700); border-color: var(--dbim-blue-700); color: #fff !important; }
main.dbim-inner ul.pagination li.disabled span { color: var(--c-muted); background: var(--c-alt); cursor: not-allowed; }
html.dbim-contrast main.dbim-inner ul.pagination :is(a, span) { color: var(--c-link); border-color: #fff; background: #000; }
html.dbim-contrast main.dbim-inner ul.pagination li.active span { background: #FFEB3B; color: #000; }

@media (prefers-reduced-motion: reduce) { main.dbim-inner .dbim-album, main.dbim-inner .dbim-photo__link img { transition: none !important; transform: none !important; } }

/* ---------- dark mode ---------- */
html.dbim-dark main.dbim-inner .innerBanner { --c-primary: #162F6A; }
html.dbim-dark main.dbim-inner #innerContent th { background: var(--c-hover); color: var(--c-text); }
