/* ENGL251 chapter video library. */
.video-library { background:#f7f9fb; }
.video-library__intro { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.video-library__intro h2 { margin:0 0 .35rem; color:var(--navy); font-size:clamp(1.7rem,3vw,2.45rem); }
.video-library__intro p { max-width:65ch; margin:0; color:var(--muted); }
.video-library__count { flex:0 0 auto; padding:.35rem .62rem; border-radius:99px; background:var(--gold-light); color:#5a4006; font-size:.82rem; font-weight:800; }
.video-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(13rem,.42fr); gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-sm); }
.video-filters label { display:grid; gap:.35rem; color:var(--navy); font-size:.84rem; font-weight:800; }
.video-filters input,.video-filters select { width:100%; min-width:0; padding:.67rem .8rem; border:1px solid #8796a8; border-radius:6px; background:var(--white); color:var(--text); }
.video-status { min-height:1.6rem; margin:1rem 0 0; color:var(--muted); }
.video-chapters { display:grid; gap:2.2rem; }
.video-chapter { padding-top:.2rem; }
.video-chapter__heading { display:flex; align-items:baseline; gap:.75rem; margin:0 0 1rem; padding-bottom:.65rem; border-bottom:1px solid var(--line); color:var(--navy); }
.video-chapter__heading span { color:var(--gold); font-size:.84rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.video-chapter__heading h3 { margin:0; font-size:clamp(1.25rem,2vw,1.55rem); }
.video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.video-card { display:flex; min-height:16.5rem; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-sm); }
.video-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); transition:var(--transition); }
.video-card__visual { position:relative; display:grid; min-height:5.65rem; place-items:center; overflow:hidden; background:linear-gradient(120deg,#061d3e,#184b85); color:var(--white); }
.video-card__visual::after { position:absolute; inset:auto -1.6rem -2.4rem auto; width:6.8rem; height:6.8rem; content:""; border-radius:50%; background:rgb(181 138 36 / 25%); }
.video-card__chapter { position:absolute; top:.65rem; left:.75rem; color:#dbe8f7; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.video-card__play { position:relative; z-index:1; display:grid; width:2.8rem; height:2.8rem; place-items:center; border:1px solid rgb(255 255 255 / 60%); border-radius:50%; background:rgb(255 255 255 / 12%); font-size:1.1rem; }
.video-card__body { display:flex; height:100%; flex:1; flex-direction:column; align-items:flex-start; padding:1rem; }
.video-card__body h4 { margin:0 0 .5rem; color:var(--navy); font-family:var(--serif); font-size:1.18rem; line-height:1.25; }
.video-card__meta { margin:0 0 1rem; color:var(--muted); font-size:.84rem; }
.video-card__actions { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; margin-top:auto; }
.video-card__watch { border:0; border-radius:6px; padding:.54rem .75rem; background:var(--navy); color:var(--white); font-weight:800; cursor:pointer; }
.video-card__watch:hover { background:var(--navy-2); }
.text-action { color:var(--navy); font-weight:700; }
.video-empty { padding:1.4rem; border:1px dashed #9ba8b8; border-radius:var(--radius); background:var(--white); color:var(--muted); }
@media (max-width:900px) { .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .video-library__intro,.video-filters { grid-template-columns:1fr; display:grid; align-items:start; } .video-library__count { width:fit-content; } .video-grid { grid-template-columns:1fr; } }
