/* teacher-video.css (tba-v59): tap a teacher's photo to watch their video in a blue/gold popup */
#teacher-list .teacher .t-photo.tv-has{cursor:pointer}
#teacher-list .teacher .t-photo.tv-has .t-play{display:none!important}
.tv-badge{position:absolute;left:0;right:0;bottom:0;z-index:3;display:block;margin:0;padding:6px 2px 7px;background:#014BAA;background:linear-gradient(180deg,rgba(1,75,170,.92),#0B2A5B);border-top:2px solid #C9A55A;color:#fff;font-style:normal;font-weight:700;font-size:11px;line-height:1.1;text-align:center;white-space:nowrap;letter-spacing:.1px;pointer-events:none}
.tv-badge b{color:#E9C46A;font-weight:700;margin-right:3px}
.teachers>.teacher:first-child .tv-badge{font-size:12.5px;padding:7px 2px 8px}
html.tv-open,html.tv-open body{overflow:hidden}
.tv-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;padding:16px;background:rgba(5,18,44,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.tv-modal[hidden]{display:none}
.tv-card{position:relative;width:100%;max-width:880px;background:#0B2A5B;border:2px solid #C9A55A;border-radius:16px;padding:12px;box-sizing:border-box;box-shadow:0 24px 60px rgba(0,0,0,.5);color:#fff}
.tv-head{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;gap:10px;margin:0 0 10px;padding-right:48px;min-height:42px}
.tv-head img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:50% 15%;border:2px solid #C9A55A;-webkit-flex:none;flex:none;background:#014BAA}
.tv-head b{display:block;font-size:15px;line-height:1.2;color:#fff}
.tv-head small{display:block;font-size:12px;line-height:1.3;color:#E9D7A6}
.tv-close{position:absolute;top:10px;right:10px;width:40px;height:40px;margin:0;padding:0;border:2px solid #C9A55A;border-radius:50%;background:#014BAA;color:#fff;font-size:18px;line-height:1;cursor:pointer}
.tv-close:focus-visible{outline:3px solid #fff;outline-offset:2px}
.tv-frame{position:relative;width:100%;height:0;padding-top:56.25%;background:#000;border-radius:10px;overflow:hidden}
.tv-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.tv-alt{display:block;margin:10px 0 2px;text-align:center;font-size:14px;font-weight:600;color:#E9D7A6;text-decoration:underline;text-underline-offset:3px}
@media (min-width:760px){.tv-card{padding:16px}.tv-head b{font-size:17px}}
