/* Tutioney LMS - additions to the shared website design system for public LMS pages */
.site-footer .dev-credit a { color: #7fe6d6; font-weight: 600; }
.auth-wrap { min-height: 62vh; display: grid; place-items: center; padding: 3rem 0; background: radial-gradient(900px 400px at 85% 0%, #d6f3ff, rgba(214, 243, 255, 0) 65%), linear-gradient(180deg, #f6fbff, #eaf6ff); }
.auth-card { width: 100%; max-width: 460px; background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 2rem; box-shadow: var(--shadow-lg); }
.auth-card.wide { max-width: 620px; }
.auth-card h1 { font-size: 1.5rem; }
.role-pick { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.role-pick label { border: 1.5px solid var(--line); border-radius: 14px; padding: .8rem; cursor: pointer; display: block; height: 100%; }
.role-pick input { position: absolute; opacity: 0; }
.role-pick input:checked + label { border-color: var(--blue); background: var(--pale); }
.role-pick input:focus-visible + label { outline: 3px solid rgba(8, 124, 240, .55); }
.role-pick strong { display: block; color: var(--navy); font-family: var(--font-head); }
.role-pick small { color: var(--muted); }
.curriculum .accordion-button { font-size: .98rem; }
.cur-lesson { display: flex; gap: .7rem; align-items: center; padding: .5rem 0; border-top: 1px solid var(--line); font-size: .95rem; }
.cur-lesson:first-child { border-top: 0; }
.cur-lesson .bi { color: var(--blue); }
.cur-lesson .dur { margin-left: auto; color: var(--muted); font-size: .85rem; white-space: nowrap; }
.video-frame { border-radius: var(--radius); overflow: hidden; background: #0b1530; }
.video-frame iframe { border: 0; }
.review { border-top: 1px solid var(--line); padding: 1rem 0; }
.review:first-child { border-top: 0; }
.stars { color: #f5a623; letter-spacing: .1em; }
.pay-option { border: 1.5px solid var(--line); border-radius: 16px; padding: 1.2rem; background: #fff; }
.pay-option + .pay-option { margin-top: 1rem; }
.summary-table td { padding: .4rem 0; }
.summary-table tr.total td { border-top: 2px solid var(--line); font-weight: 700; font-size: 1.1rem; color: var(--navy); padding-top: .7rem; }

/* strike-through original price */
.price-orig { color: #8a96ad; font-weight: 500; font-size: .82em; margin-left: .35rem; }
.price-off { display: inline-block; background: #e3f8ef; color: #0b6b47; font-weight: 700; font-size: .7em; border-radius: 999px; padding: .1rem .5rem; margin-left: .35rem; vertical-align: middle; font-family: inherit; }
/* protected video player */
.tp-player { position: relative; background: #000; border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 9; user-select: none; -webkit-user-select: none; outline: none; }
.tp-player:focus-visible { box-shadow: 0 0 0 3px rgba(8, 124, 240, .5); }
.tp-stage { position: absolute; inset: 0; overflow: hidden; }
.tp-stage iframe, .tp-stage .tp-frame { position: absolute; left: 0; top: -120px; width: 100%; height: calc(100% + 240px); border: 0; pointer-events: none; }
.tp-shield { position: absolute; inset: 0 0 52px 0; z-index: 2; display: grid; place-items: center; background: rgba(5, 15, 45, .55); cursor: pointer; transition: background .2s; }
.tp-player.is-playing .tp-shield { background: transparent; }
.tp-player.is-playing .tp-big { opacity: 0; }
.tp-player:not(.is-ready) .tp-shield { background: #071233; }
.tp-big { width: 74px; height: 74px; border-radius: 50%; border: 0; background: rgba(8, 124, 240, .92); color: #fff; font-size: 2.3rem; display: grid; place-items: center; transition: opacity .2s; padding-left: 4px; }
.tp-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 52px; z-index: 3; display: flex; align-items: center; gap: .35rem; padding: 0 .6rem; background: linear-gradient(transparent, rgba(0, 0, 0, .85) 40%); color: #fff; }
.tp-btn { background: none; border: 0; color: #fff; font-size: 1.25rem; padding: .25rem .4rem; line-height: 1; border-radius: 6px; }
.tp-btn:hover, .tp-btn:focus-visible { background: rgba(255, 255, 255, .15); }
.tp-time { font-size: .82rem; white-space: nowrap; font-variant-numeric: tabular-nums; min-width: 6.5rem; }
.tp-seek { flex: 1; min-width: 60px; accent-color: #087CF0; cursor: pointer; }
.tp-speed { background: rgba(255, 255, 255, .12); color: #fff; border: 0; border-radius: 6px; font-size: .8rem; padding: .2rem .25rem; }
.tp-speed option { color: #000; }
.tp-player:fullscreen { border-radius: 0; aspect-ratio: auto; width: 100vw; height: 100vh; }
@media (max-width: 575px) { .tp-back, .tp-fwd, .tp-speed { display: none; } .tp-time { min-width: 0; font-size: .75rem; } }
.tp-plain { position: relative; }
.tp-corner { position: absolute; top: 0; right: 0; width: 70px; height: 60px; z-index: 2; background: transparent; }
body.protected-content .content-body, body.protected-content .tp-player { -webkit-user-select: none; user-select: none; }
