.resource-breadcrumb-bar { margin:18px 0 12px; padding:0 2px; display:flex; align-items:center; justify-content:space-between; gap:14px; color:#71839f; font-size:11px; font-weight:800; }
.resource-back-button { min-height:48px; display:inline-flex; align-items:center; gap:10px; padding:6px 13px 6px 7px; border:1px solid #cfe0f5; border-radius:15px; color:#24466f; background:rgba(255,255,255,.82); box-shadow:0 7px 18px rgba(29,67,118,.06); text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.resource-back-button:hover { transform:translateY(-2px); border-color:#9fc2ef; background:#fff; box-shadow:0 12px 26px rgba(23,92,211,.11); }
.resource-back-icon { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(145deg,#2a78e5,#1556bd); box-shadow:0 7px 14px rgba(23,92,211,.18); transition:transform .2s ease; }
.resource-back-button:hover .resource-back-icon { transform:translateX(-2px); }
.resource-back-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.resource-back-copy { display:flex; flex-direction:column; line-height:1.15; }
.resource-back-copy strong { color:#17395f; font-size:11px; }
.resource-back-copy small { margin-top:3px; color:#7a8ca4; font-size:8px; font-weight:750; }
.resource-page-label { color:#71839f; font-size:10px; font-weight:850; letter-spacing:.02em; }
.resource-detail-card { padding:28px; display:grid; grid-template-columns:minmax(260px,360px) minmax(0,1fr); gap:34px; border:1px solid var(--line-strong); border-radius:var(--radius-lg); background:rgba(255,255,255,.95); box-shadow:var(--shadow-md); }
.resource-cover-column { min-width:0; }
.detail-cover-button { position:relative; overflow:hidden; width:100%; aspect-ratio:3/4; padding:0; border:0; border-radius:23px; background:#edf3fb; cursor:zoom-in; box-shadow:0 18px 38px rgba(22,47,88,.16); }
.detail-cover-button img { width:100%; height:100%; object-fit:cover; transition:transform .42s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.detail-cover-button:hover img { transform:scale(1.025); filter:saturate(1.04); }
.cover-zoom { position:absolute; left:50%; bottom:15px; transform:translate(-50%,10px); opacity:0; padding:9px 13px; border-radius:10px; color:#fff; background:rgba(8,31,69,.88); backdrop-filter:blur(9px); font-size:10px; font-weight:850; transition:opacity .2s ease,transform .2s ease; }
.detail-cover-button:hover .cover-zoom { transform:translate(-50%,0); opacity:1; }
.detail-cover-button .new-badge { position:absolute; left:12px; top:12px; padding:7px 10px; border-radius:9px; color:#fff; background:#079455; font-size:9px; font-weight:900; text-transform:uppercase; }
.resource-quick-stats { margin-top:13px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.resource-quick-stats span { min-width:0; padding:12px 8px; display:flex; flex-direction:column; align-items:center; border:1px solid #dfe8f4; border-radius:13px; background:#f8fbff; }
.resource-quick-stats b { color:var(--blue-deep); font-size:17px; }
.resource-quick-stats small { margin-top:2px; color:#75849c; font-size:8px; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.resource-detail-main { min-width:0; padding:5px 5px 4px 0; }
.detail-topline { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.resource-type-label { padding:7px 10px; border-radius:9px; color:#1759b8; background:#eef5ff; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.availability.large { font-size:10px; }
.resource-detail-main h1 { max-width:900px; margin:16px 0 6px; color:var(--ink); font-size:clamp(34px,4vw,55px); line-height:1.04; letter-spacing:-.045em; }
.detail-author { margin:0; color:#6d7f9a; font-size:14px; }
.detail-author strong { color:#395576; }
.library-location-card { margin-top:22px; padding:14px; display:flex; align-items:center; gap:13px; border:1px solid #d9e6f5; border-radius:16px; background:#f8fbff; }
.library-location-icon { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:13px; color:#fff; background:linear-gradient(145deg,#2680eb,#1254b5); }
.library-location-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
.library-location-card > span:last-child { min-width:0; display:flex; flex-direction:column; }
.library-location-card small { color:#788aa4; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.library-location-card strong { margin-top:2px; color:#223d64; font-size:13px; }
.library-location-card em { margin-top:2px; color:#7888a0; font-size:10px; font-style:normal; }
.resource-summary { margin-top:22px; }
.resource-summary h2 { margin:0 0 8px; font-size:16px; letter-spacing:-.02em; }
.resource-summary > p { max-width:980px; margin:0; color:#5d708c; font-size:13px; line-height:1.75; white-space:normal; overflow:visible; text-overflow:clip; -webkit-line-clamp:unset; }
.resource-catalog-note { max-width:980px; margin-top:14px; padding:12px 14px; border:1px solid #e0e8f3; border-radius:13px; background:#f8fbff; }
.resource-catalog-note small { display:block; margin-bottom:5px; color:#7588a3; font-size:8px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.resource-catalog-note p { margin:0; color:#627691; font-size:11px; line-height:1.65; white-space:normal; overflow:visible; text-overflow:clip; }
.resource-metadata { margin-top:22px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.resource-metadata div { min-width:0; padding:12px; border:1px solid #e0e8f3; border-radius:13px; background:#fbfcfe; }
.resource-metadata small { display:block; color:#7d8ca3; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.resource-metadata strong { display:block; margin-top:3px; overflow-wrap:anywhere; color:#304d70; font-size:11px; line-height:1.35; }
.resource-action-panel { --spot-x:50%; --spot-y:50%; position:relative; overflow:hidden; margin-top:23px; padding:20px; display:flex; align-items:center; justify-content:space-between; gap:22px; border:1px solid #bcd3f2; border-radius:19px; background:linear-gradient(145deg,#f3f8ff,#edf5ff); }
.resource-action-panel::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(280px circle at var(--spot-x) var(--spot-y),rgba(35,108,224,.09),transparent 60%); }
.resource-action-panel > * { position:relative; z-index:1; }
.action-panel-kicker { display:block; color:#5f7798; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.resource-action-panel strong { display:block; margin-top:3px; color:#16365f; font-size:15px; }
.resource-action-panel p { max-width:520px; margin:5px 0 0; color:#617794; font-size:10px; line-height:1.55; }
.resource-actions { min-width:230px; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.resource-request-form { display:flex; align-items:end; gap:7px; }
.resource-request-form label { display:flex; flex-direction:column; gap:4px; }
.resource-request-form label span { color:#6c7e99; font-size:8px; font-weight:900; text-transform:uppercase; }
.resource-request-form input { width:68px; height:46px; padding:0 9px; border:1px solid #bfd2ed; border-radius:12px; outline:0; color:var(--ink); background:#fff; font-weight:850; }
.resource-request-form input:focus { border-color:#6ea1e4; box-shadow:0 0 0 4px rgba(23,92,211,.08); }
.staff-notice { max-width:260px; color:#607795; font-size:10px; line-height:1.5; }
.resource-share-row { margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#7889a2; font-size:10px; font-weight:750; }
.resource-share-row button { padding:7px 0; display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; color:#4c6789; cursor:pointer; font-size:10px; font-weight:850; }
.resource-share-row button:hover { color:var(--blue); }
.resource-share-row svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.related-section { margin-top:18px; }
.compact-related { grid-template-columns:repeat(6,minmax(0,1fr)); }
.compact-related .catalog-resource-body { padding:11px; }
.compact-related .resource-card-actions { display:none; }

.cover-lightbox, .pdf-preview-modal { position:fixed; inset:0; z-index:4000; display:grid; place-items:center; visibility:hidden; opacity:0; transition:opacity .2s ease,visibility .2s ease; }
.cover-lightbox.is-open, .pdf-preview-modal.is-open { visibility:visible; opacity:1; }
.cover-lightbox .modal-backdrop, .pdf-preview-modal .modal-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(5,18,39,.74); backdrop-filter:blur(8px); }
.cover-lightbox-dialog { position:relative; z-index:2; max-width:min(520px,88vw); max-height:88vh; padding:10px; border-radius:20px; background:#fff; box-shadow:0 28px 80px rgba(0,0,0,.28); transform:scale(.96); transition:transform .22s ease; }
.cover-lightbox.is-open .cover-lightbox-dialog { transform:none; }
.cover-lightbox-dialog img { display:block; max-width:100%; max-height:82vh; border-radius:14px; object-fit:contain; }
.cover-lightbox-dialog .modal-close { position:absolute; top:-13px; right:-13px; width:36px; height:36px; border:0; border-radius:50%; color:#fff; background:#173964; cursor:pointer; font-size:22px; }
.pdf-preview-dialog { position:relative; z-index:2; width:min(1180px,94vw); height:min(860px,92vh); overflow:hidden; display:flex; flex-direction:column; border-radius:22px; background:#fff; box-shadow:0 28px 90px rgba(0,0,0,.32); transform:translateY(12px) scale(.985); transition:transform .24s ease; }
.pdf-preview-modal.is-open .pdf-preview-dialog { transform:none; }
.pdf-preview-dialog header { min-height:68px; padding:11px 16px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid #dfe7f2; background:#fff; }
.pdf-preview-dialog header > div:first-child { min-width:0; display:flex; flex-direction:column; }
.pdf-preview-dialog header small { color:#7c8ba2; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.pdf-preview-dialog header strong { max-width:760px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin-top:3px; font-size:13px; }
.pdf-preview-dialog header > div:last-child { display:flex; align-items:center; gap:8px; }
.pdf-preview-dialog header a { padding:8px 11px; border-radius:9px; color:#1558ba; background:#edf5ff; font-size:10px; font-weight:850; text-decoration:none; }
.pdf-preview-dialog header button { width:34px; height:34px; border:0; border-radius:9px; color:#4a607e; background:#f1f4f8; cursor:pointer; font-size:21px; }
.pdf-preview-dialog iframe { flex:1; width:100%; border:0; background:#e6eaf0; }
.copy-toast { position:fixed; z-index:5000; left:50%; bottom:24px; transform:translate(-50%,20px); opacity:0; pointer-events:none; padding:11px 15px; border-radius:12px; color:#fff; background:#102e58; box-shadow:0 12px 32px rgba(0,0,0,.18); font-size:11px; font-weight:850; transition:opacity .2s ease,transform .2s ease; }
.copy-toast.is-visible { opacity:1; transform:translate(-50%,0); }

@media (max-width:1200px) { .compact-related { grid-template-columns:repeat(4,minmax(0,1fr)); } .resource-action-panel { align-items:flex-start; flex-direction:column; } .resource-actions { justify-content:flex-start; } }
@media (max-width:900px) { .resource-detail-card { grid-template-columns:240px minmax(0,1fr); gap:24px; padding:22px; } .resource-metadata { grid-template-columns:repeat(2,minmax(0,1fr)); } .compact-related { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:720px) { .resource-page-label { display:none; } .resource-back-copy small { display:none; } .resource-back-button { min-height:44px; padding-right:11px; } .resource-detail-card { grid-template-columns:1fr; padding:16px; border-radius:22px; } .resource-cover-column { max-width:330px; width:100%; margin:0 auto; } .detail-topline { align-items:flex-start; flex-direction:column; } .resource-detail-main h1 { font-size:36px; } .resource-metadata { grid-template-columns:repeat(2,minmax(0,1fr)); } .resource-actions { min-width:0; width:100%; flex-direction:column; } .resource-actions > *, .resource-actions .resource-request-form { width:100%; } .resource-request-form { align-items:end; } .resource-request-form label { width:80px; flex:0 0 80px; } .resource-request-form input { width:100%; } .resource-request-form .primary-button { flex:1; } .compact-related { grid-template-columns:repeat(2,minmax(0,1fr)); } .pdf-preview-dialog { width:100vw; height:100vh; border-radius:0; } }
@media (max-width:440px) { .resource-metadata { grid-template-columns:1fr 1fr; } .resource-action-panel { padding:16px; } .resource-request-form { flex-wrap:wrap; } .resource-request-form label { width:100%; flex-basis:100%; } .resource-quick-stats small { font-size:7px; } }
