.dtx-header,.dtx-main,.dtx-footer,.dtx-skip{box-sizing:border-box;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.dtx-payment-copy{max-width:900px;line-height:1.6;color:inherit;font-size:14px;margin:24px auto 0;padding:0 16px}
.dtu-experience .dtu-enhanced-player__controls button{min-height:44px;min-width:44px}.dtu-experience .dtu-enhanced-player__progress{min-height:44px}.dtu-experience .dtu-enhanced-player__controls button:focus-visible{outline:3px solid #a6d9ff;outline-offset:2px}
.dtu-library-page .dtu-global-home-button,.dtu-library-page .trp-floating-switcher{display:none!important}
@media(max-width:640px){.dtu-experience .dtu-global-home-button,.dtu-experience .trp-floating-switcher{display:none!important}.dtu-library-page .dtx-header{position:sticky;top:0}}
@media(max-width:640px){html body.dtu-experience.dtu-experience .dtu-global-top-nav,html body.dtu-experience.dtu-experience .topbar,html body.dtu-experience.dtu-experience .dtu-mobile-bottom-nav,html body.dtu-experience.dtu-experience .dtu-mobile-nav-toggle,html body.dtu-experience.dtu-experience .dtu-mobile-nav-panel{display:none!important}}
.dtx-header *,.dtx-main *,.dtx-footer *{box-sizing:border-box}
body.dtu-library-page{margin:0;background:#101116;color:#f7f5f1;font-family:Inter,system-ui,sans-serif}
.dtx-header{background:#111217;color:#f7f5f1;border-bottom:1px solid #353640;position:relative;z-index:1001}
.dtx-header-inner{max-width:1320px;margin:auto;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.dtx-header a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.dtx-brand{font-size:24px;font-weight:850;letter-spacing:-1px;white-space:nowrap}
#dtx-menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;gap:24px;font-size:14px;font-weight:600}
.dtx-languages{display:flex;gap:6px}.dtx-languages a{padding:0 7px;color:#c5c6cd}.dtx-languages a[aria-current=true]{color:#111217;background:#eac793;border-radius:8px}
.dtx-header a:hover,.dtx-main a:hover,.dtx-footer a:hover{color:#eac793}
.dtx-menu-toggle{display:none}.dtx-mobile-only{display:none}
.dtx-main{max-width:1320px;margin:auto;padding:54px 32px 64px}.dtx-intro{max-width:760px;margin-bottom:30px}
.dtx-eyebrow{font-size:12px!important;letter-spacing:2px;color:#cfaf80!important;text-transform:uppercase;font-weight:700}
.dtx-intro h1{font-size:clamp(32px,4vw,56px);line-height:1.1;letter-spacing:-1.5px;margin:16px 0;color:#fff}
.dtx-intro p{color:#c4c5cd;font-size:18px;line-height:1.6;margin:12px 0}
.dtx-search{display:grid;grid-template-columns:minmax(200px,1fr) 180px 210px auto;gap:14px;align-items:end;background:#1b1c24;padding:22px;border:1px solid #393a45;border-radius:14px}
.dtx-search:has(.dtx-query:nth-last-child(3)){grid-template-columns:minmax(200px,1fr) 210px auto}
.dtx-search label{display:block;color:#e0e0e5;font-size:13px;font-weight:600;margin-bottom:8px}
.dtx-search input,.dtx-search select{font:inherit;background:#111217;border:1px solid #666874;border-radius:7px;color:#fff;min-height:48px;width:100%;padding:10px 12px}
.dtx-search button,.dtx-button{background:#eac793;color:#171515!important;border:0;border-radius:7px;min-height:48px;padding:12px 22px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.dtx-hint{font-size:13px;color:#b3b4bf;line-height:1.6}.dtx-result-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0 16px}.dtx-result-bar p{margin:0;font-weight:700}.dtx-result-bar a{color:#eac793;min-height:44px;display:inline-flex;align-items:center}
.dtx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.dtx-card{border:1px solid #3b3d46;border-radius:12px;background:#1a1b23;overflow:hidden;min-width:0}.dtx-card-link{height:100%;display:flex;flex-direction:column;text-decoration:none;color:#f7f5f1!important}.dtx-art{position:relative;aspect-ratio:16/9;background:#090a0e;overflow:hidden}.dtx-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.dtx-badge{position:absolute;left:10px;top:10px;border-radius:5px;padding:7px 10px;background:#13151bef;color:#f7f5f1;font-size:12px;font-weight:700;border:1px solid #666874}.dtx-card-body{padding:18px;display:flex;flex-direction:column;flex:1;gap:10px}.dtx-meta{color:#babcC6;font-size:12px;margin:0}.dtx-card h2{font-size:18px;line-height:1.4;margin:0;color:inherit;font-weight:650;overflow-wrap:anywhere}.dtx-card-cta{margin-top:auto;padding-top:12px;color:#eac793;font-size:13px;font-weight:650}.dtx-card:hover{border-color:#eac793}
.dtx-empty{padding:32px;border:1px dashed #747580;border-radius:12px;font-size:18px;line-height:1.6}.dtx-recommendations{margin-top:48px}.dtx-recommendations>h2,.dtx-access-note h2{font-size:24px;color:#fff}
.dtx-pagination{display:flex;gap:10px;justify-content:center;margin:36px 0}.dtx-pagination a{min-width:46px;min-height:46px;border:1px solid #636570;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;border-radius:6px}.dtx-pagination a[aria-current=page]{background:#eac793;color:#171515}
.dtx-access-note{margin-top:52px;border-top:1px solid #42444e;padding-top:30px;max-width:900px}.dtx-access-note p{line-height:1.7;color:#c4c5ce}.dtx-footer{border-top:1px solid #42444e;padding:32px;max-width:1320px;margin:auto;color:#c4c5ce}.dtx-footer strong{color:#fff;font-size:24px}.dtx-footer nav{display:flex;gap:24px;flex-wrap:wrap}.dtx-footer a{color:#eac793;min-height:44px;display:flex;align-items:center}.dtx-skip{position:fixed;left:12px;top:-200px;background:white;color:black;padding:16px;z-index:100010}.dtx-skip:focus{top:12px}
.dtx-header :focus-visible,.dtx-main :focus-visible,.dtx-footer :focus-visible{outline:3px solid #a6d9ff;outline-offset:4px}
/* Tablet is an independent layout: 641–1024px. */
@media(min-width:641px) and (max-width:1024px){.dtx-header-inner{padding:16px 24px;flex-wrap:wrap;gap:8px}#dtx-menu{width:100%;gap:17px;flex-wrap:wrap;font-size:13px}.dtx-main{padding:38px 24px 48px}.dtx-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dtx-search{grid-template-columns:minmax(150px,1fr) 145px 170px}.dtx-search button{grid-column:1/-1}.dtx-card-body{padding:14px}.dtx-card h2{font-size:16px}}
/* Desktop: 1025px and above. No mobile state is reused. */
@media(min-width:1025px){.dtx-header-inner{padding-left:32px;padding-right:32px}#dtx-menu{gap:18px}}
/* Mobile only: replace overlapping legacy navigation with one disclosure. */
@media(max-width:640px){body.dtu-experience:not(.dtu-library-page){padding-top:64px!important}.dtx-mobile-only{display:block;position:fixed;top:0;left:0;right:0}.dtu-experience .topbar,.dtu-experience .dtu-global-top-nav,.dtu-experience .dtu-mobile-nav-toggle,.dtu-experience .dtu-mobile-nav-panel,.dtu-experience .dtu-mobile-bottom-nav,.dtu-experience .dtu-mobile-language,.dtu-experience header.wp-block-template-part{display:none!important}.dtx-header-inner{padding:10px 16px;min-height:64px;gap:14px;flex-wrap:wrap}.dtx-brand{font-size:23px}.dtx-menu-toggle{display:block;min-height:44px;min-width:72px;border:1px solid #8e919e;border-radius:7px;background:#20212b;color:#fff;font:inherit;padding:8px 14px}#dtx-menu{display:none;width:100%;max-height:calc(100dvh - 84px);overflow:auto;padding:12px 0;gap:3px}#dtx-menu.dtx-open{display:flex;flex-direction:column;align-items:stretch}#dtx-menu>a{padding:9px 12px;font-size:16px;border-bottom:1px solid #393b46}.dtx-languages{padding:10px 6px;gap:12px}.dtx-languages a{min-width:44px;justify-content:center}.dtx-main{padding:28px 16px 40px}.dtx-intro{margin-bottom:24px}.dtx-intro h1{font-size:34px}.dtx-intro p{font-size:16px}.dtx-search,.dtx-search:has(.dtx-query:nth-last-child(3)){grid-template-columns:1fr 1fr;padding:16px;gap:14px}.dtx-query,.dtx-search button{grid-column:1/-1}.dtx-search:has(.dtx-query:nth-last-child(3))>div{grid-column:1/-1}.dtx-search input,.dtx-search select{font-size:16px}.dtx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dtx-art{aspect-ratio:4/3}.dtx-card-body{padding:12px}.dtx-card h2{font-size:15px}.dtx-meta{font-size:11px}.dtx-badge{left:5px;top:5px;font-size:10px;padding:5px;max-width:calc(100% - 10px)}.dtx-card-cta{font-size:12px}.dtx-footer{padding:26px 16px}.dtx-result-bar{align-items:flex-start}.dtx-recommendations>h2,.dtx-access-note h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.dtx-header *,.dtx-main *{scroll-behavior:auto;transition:none}}

/* 2026-09-05 hard layout guard:
   Header, content and footer use the same shell width on every device class.
   The header must stay in normal document flow and must never overlap cards. */
body.dtu-library-page {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    background: #050b12 !important;
}

body.dtu-library-page .dtx-header {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    width: min(1320px, calc(100% - 64px)) !important;
    max-width: 1320px !important;
    margin: 0 auto 28px !important;
    border: 1px solid #353640 !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, .22) !important;
}

body.dtu-library-page .dtx-header-inner,
body.dtu-library-page .dtx-main,
body.dtu-library-page .dtx-footer {
    width: min(1320px, calc(100% - 64px)) !important;
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

body.dtu-library-page .dtx-header .dtx-header-inner {
    width: 100% !important;
    max-width: none !important;
}

body.dtu-library-page .dtx-main {
    padding-top: 26px !important;
}

body.dtu-library-page .dtx-grid,
body.dtu-library-page #dtx-results {
    position: relative !important;
    z-index: 1 !important;
}

@media (min-width: 641px) and (max-width: 1024px) {
    body.dtu-library-page .dtx-header,
    body.dtu-library-page .dtx-header-inner,
    body.dtu-library-page .dtx-main,
    body.dtu-library-page .dtx-footer {
        width: min(720px, calc(100% - 28px)) !important;
        max-width: 720px !important;
    }

    body.dtu-library-page .dtx-header {
        margin-bottom: 22px !important;
        border-radius: 0 0 16px 16px !important;
    }

    body.dtu-library-page .dtx-header .dtx-header-inner {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (max-width: 640px) {
    body.dtu-library-page .dtx-header,
    body.dtu-library-page .dtx-header-inner,
    body.dtu-library-page .dtx-main,
    body.dtu-library-page .dtx-footer {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
    }

    body.dtu-library-page .dtx-header {
        margin: 10px auto 18px !important;
        border-radius: 16px !important;
    }

    body.dtu-library-page .dtx-header .dtx-header-inner {
        width: 100% !important;
        max-width: none !important;
    }

    body.dtu-library-page .dtx-main {
        padding-top: 20px !important;
    }
}

/* Hard viewport shell: desktop, tablet and mobile use fixed device boundaries. */
:root {
    --dtx-fluid-shell-max: 1320px;
    --dtx-fluid-shell-width: min(var(--dtx-fluid-shell-max), calc(100% - clamp(24px, 4vw, 80px)));
}

@media (min-width: 1025px) {
    body.dtu-library-page .dtx-header,
    body.dtu-library-page .dtx-main,
    body.dtu-library-page .dtx-footer {
        width: var(--dtx-fluid-shell-width) !important;
        max-width: var(--dtx-fluid-shell-max) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.dtu-library-page .dtx-header-inner {
        width: 100% !important;
        max-width: none !important;
    }
}

@media (min-width: 1025px) and (max-height: 820px) {
    body.dtu-library-page .dtx-header {
        margin-bottom: 18px !important;
    }

    body.dtu-library-page .dtx-main {
        padding-top: 22px !important;
    }
}

/* Final card image fit: library cards must keep complete poster/montage covers visible. */
body.dtu-library-page .dtx-art img,
body.dtu-library-page .dtx-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #050b12 !important;
}
