/* =========================================================================
   NIKSUN — Resources library (datasheets, white papers, case studies, media)
   ========================================================================= */
.lib-hero{position:relative;text-align:center;padding:clamp(60px,7vw,100px) 0 clamp(28px,3vw,40px);overflow:hidden}
.lib-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(58% 56% at 50% 0,rgba(46,151,215,.12),transparent 64%);z-index:-1}
.lib-hero .eyebrow{justify-content:center;display:flex}
.lib-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--cyan),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.lib-hero h1{max-width:18ch;margin:0 auto}
.lib-hero .lead{max-width:58ch;margin:18px auto 0}

.lib-wrap{max-width:1180px;margin:0 auto;padding:0 28px clamp(60px,8vw,100px)}

/* toolbar */
.lib-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 26px}
.lib-search{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 15px;background:var(--paper)}
.lib-search input{border:0;outline:0;font:inherit;font-size:15px;width:100%;color:var(--ink);background:transparent}
.lib-search .mag{width:16px;height:16px;border-radius:50%;border:2px solid var(--muted);position:relative;flex:none}
.lib-search .mag::after{content:'';position:absolute;width:6px;height:2px;background:var(--muted);bottom:-3px;right:-3px;transform:rotate(45deg);border-radius:2px}
.lib-chips{display:flex;gap:8px;flex-wrap:wrap}
.lib-chip{font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);padding:9px 14px;border-radius:999px;cursor:pointer;transition:.2s}
.lib-chip:hover{border-color:var(--blue)}
.lib-chip.on{background:var(--blue-action);border-color:var(--blue-action);color:#fff}
.lib-count{font:500 13px/1 var(--mono);color:var(--muted);margin-left:auto}

/* grid + cards */
.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.lib-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.lib-grid{grid-template-columns:1fr}}
.lib-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;text-decoration:none;color:inherit;
  transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
.lib-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,var(--blue))}
.lib-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -32px rgba(10,37,64,.4);border-color:#cfe1f0}
.lib-top{display:flex;align-items:center;gap:9px;margin-bottom:14px;flex-wrap:wrap}
.lib-type{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent,var(--blue));padding:6px 9px;border-radius:6px}
.lib-tag{font:500 11px/1 var(--mono);color:var(--muted);background:var(--paper-2);border:1px solid var(--line);padding:5px 9px;border-radius:999px}
.lib-card h3{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin-bottom:9px}
.lib-card p{font-size:13px;color:var(--ink-soft);line-height:1.55;flex:1}
.lib-cta{margin-top:16px;font-size:13px;font-weight:600;color:var(--blue-action);display:inline-flex;gap:7px;align-items:center}
.lib-cta::after{content:'\2192';transition:transform .2s var(--ease)}
.lib-card:hover .lib-cta::after{transform:translateX(3px)}
.lib-cta.pdf::after{content:'\2197'}
.lib-empty{display:none;text-align:center;color:var(--muted);font-size:14px;padding:40px}

/* accents by type */
.lib-card.ds{--accent:var(--blue-action)}
.lib-card.wp{--accent:#16899a}
.lib-card.cs{--accent:#1F8A5B}
.lib-card.vid{--accent:#D97706}

/* ---- Resources hub ---- */
.rs-hub{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:1000px;margin:0 auto}
@media(max-width:760px){.rs-hub{grid-template-columns:1fr}}
.rs-hubcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;text-decoration:none;color:inherit;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.rs-hubcard:hover{transform:translateY(-5px);box-shadow:0 30px 56px -36px rgba(10,37,64,.45);border-color:#cfe1f0}
.rs-hubcard .ic{width:50px;height:50px;border-radius:14px;background:var(--paper-3);display:grid;place-items:center;font-size:22px;margin-bottom:18px}
.rs-hubcard h3{font-size:21px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}
.rs-hubcard p{font-size:14px;color:var(--ink-soft);flex:1;line-height:1.5}
.rs-hubcard .n{position:absolute;top:26px;right:28px;font:700 13px/1 var(--mono);color:var(--muted)}
.rs-hubcard .go{margin-top:18px;font-size:14px;font-weight:600;color:var(--blue-action);display:inline-flex;gap:7px;align-items:center}
.rs-hubcard .go::after{content:'\2192';transition:transform .25s var(--ease)}
.rs-hubcard:hover .go::after{transform:translateX(4px)}

/* media / video cards */
.vid-thumb{aspect-ratio:16/9;border-radius:12px;background:linear-gradient(135deg,#0a2540,#06182b);position:relative;display:grid;place-items:center;margin-bottom:14px;overflow:hidden}
.vid-thumb .play{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);display:grid;place-items:center;border:1px solid rgba(255,255,255,.3)}
.vid-thumb .play::after{content:'';border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.vid-card .lib-top{margin-bottom:12px;margin-top:0}
