/* NGM Library — Digital Repository link (badges, panels, boxes). Loaded with the library's own CSS and on repository item pages. */
.ngmls-libbox, .ngmls-digital-box, .ngmls-digital-panel, .ngmls-dg-tab, .ngmls-app-dg, .ngmls-digital {
	--nl-accent: var(--ngmls-brand, #1d4f91); --nl-accent-ink: var(--ngmls-brand-ink, #fff); --nl-line: rgba(127, 127, 127, .3);
	--nl-soft: var(--ngmls-brand-soft, rgba(29, 79, 145, .07)); --nl-ok: #1a7f37; --nl-warn: #a35200; --nl-bad: #b32d2e;
	box-sizing: border-box; line-height: 1.5;
}
.ngmls-libbox *, .ngmls-digital-box *, .ngmls-digital-panel *, .ngmls-dg-tab *, .ngmls-app-dg * { box-sizing: inherit; }

/* chips */
.ngmls-chip { display: inline-flex; align-items: center; gap: .35em; font-size: .78em; font-weight: 600; line-height: 1.2; padding: .22em .65em; border-radius: 999px; border: 1px solid var(--nl-line); text-decoration: none; white-space: nowrap; }
.ngmls-chip .ngmls-ic { flex: 0 0 auto; }
a.ngmls-chip-digital, .ngmls-chip-digital { background: var(--nl-soft); color: var(--nl-accent) !important; border-color: var(--nl-accent); }
a.ngmls-chip-digital:hover { filter: brightness(1.08); }
.ngmls-acc-open, .ngmls-acc-read { color: var(--nl-ok); border-color: currentColor; background: rgba(26, 127, 55, .08); }
.ngmls-acc-members, .ngmls-acc-request { color: var(--nl-warn); border-color: currentColor; background: rgba(163, 82, 0, .08); }
.ngmls-acc-embargo { color: var(--nl-bad); border-color: currentColor; background: rgba(179, 45, 46, .07); }
.ngmls-acc-record { opacity: .8; }

/* badge under a catalogue result */
.ngmls-digital { margin: .35em 0 0; display: flex; align-items: center; flex-wrap: wrap; gap: .5em; }
.ngmls-digital-note { font-size: .88em; opacity: .8; }

/* lists of repository items */
.ngmls-dg-list { list-style: none; margin: .4em 0 1em; padding: 0; }
.ngmls-dg-list li { display: grid; grid-template-columns: 1fr auto; gap: .1em .8em; align-items: center; padding: .6em 0; border-bottom: 1px solid var(--nl-line); }
.ngmls-dg-list li:last-child { border-bottom: 0; }
.ngmls-dg-list .ngmls-dg-t { grid-column: 1; font-weight: 600; color: var(--nl-accent); text-decoration: none; overflow-wrap: anywhere; }
.ngmls-dg-list .ngmls-dg-t:hover { text-decoration: underline; }
.ngmls-dg-list small { grid-column: 1; opacity: .8; }
.ngmls-dg-list .ngmls-chip { grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
.ngmls-dg-list .ngmls-why { font-style: italic; }
.ngmls-dg-reqs li > * { grid-column: 1; }
.ngmls-dg-reqs li .ngmls-chip, .ngmls-dg-reqs li .ngmls-btn-sec { grid-column: 1; justify-self: start; grid-row: auto; }
.ngmls-dg-tab h4 { margin: 1.4em 0 .2em; font-size: 1em; }

/* panel above catalogue results */
.ngmls-digital-panel { border: 1px solid var(--nl-line); border-left: 4px solid var(--nl-accent); border-radius: 6px; background: var(--nl-soft); padding: .7em 1em .3em; margin: 0 0 1.2em; }
.ngmls-dp-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; flex-wrap: wrap; }
.ngmls-dp-head h3 { margin: 0; font-size: 1em; display: flex; align-items: center; gap: .4em; }
.ngmls-dp-head a { font-size: .9em; }

/* "Available digitally" on a catalogue record */
.ngmls-digital-box { border: 1px solid var(--nl-line); border-radius: 8px; padding: .8em 1em .4em; margin: 1.4em 0; }
.ngmls-digital-box h3 { margin: 0 0 .2em; display: flex; align-items: center; gap: .4em; font-size: 1.05em; }
.ngmls-digital-box .ngmls-btn-sec { margin-top: .3em; justify-self: start; }

/* "Available in the library" on a repository item page */
.ngmls-libbox { border: 1px solid var(--nl-line); border-top: 4px solid var(--nl-accent); border-radius: 8px; padding: 1em 1.1em; margin: 1.2em 0; background: transparent; }
.ngmls-libbox h3 { margin: 0 0 .5em; font-size: 1.05em; }
.ngmls-libbox p { margin: .35em 0; }
.ngmls-libbox .ngmls-meta { opacity: .8; font-size: .92em; }
.ngmls-libbox .ngmls-avail { font-weight: 600; }
.ngmls-libbox .ngmls-avail.yes { color: var(--nl-ok); }
.ngmls-libbox .ngmls-avail.no { color: var(--nl-warn); }
.ngmls-libbox .ngmls-btn { display: inline-block; background: var(--nl-accent); color: var(--nl-accent-ink) !important; border-radius: 6px; padding: .55em 1.1em; font-weight: 600; text-decoration: none; min-height: 44px; line-height: 1.7; }
.ngmls-libbox-wrap { max-width: 1100px; margin: 0 auto; }

/* Library App home */
.ngmls-app-dg .ngmls-dg-list li { padding: .55em 0; }
.ngmls-app-dg h3 { margin-bottom: .1em; }

@media (max-width: 520px) {
	.ngmls-dg-list li { grid-template-columns: 1fr; }
	.ngmls-dg-list .ngmls-chip { grid-column: 1; grid-row: auto; justify-self: start; margin-top: .25em; }
}
@media print { .ngmls-digital, .ngmls-digital-panel { display: none; } }
