/*
 * Scholar Content Hub — structural block styles.
 * Layout and behaviour only; colours and typography come from the active theme's presets so
 * these blocks work in any theme. The Scholar Theme supplies the full presentation.
 */
.sch-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.sch-list { display: flex; flex-direction: column; gap: 1rem; }
.sch-entry { position: relative; min-width: 0; }
.sch-entry__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: rgba(0, 0, 0, .06); }
.sch-entry__image, .sch-entry__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sch-entry__duration { position: absolute; right: .4rem; bottom: .4rem; padding: .1rem .4rem; font-size: .75rem; background: rgba(0, 0, 0, .75); color: #fff; }
.sch-entry__title { margin: .35rem 0; }
.sch-entry__title a { color: inherit; text-decoration: none; }
.sch-entry__title a::after { content: ""; position: absolute; inset: 0; }
.sch-entry__actions, .sch-entry .sch-badge { position: relative; z-index: 1; }
.sch-entry--row { display: grid; grid-template-columns: minmax(6rem, 10rem) minmax(0, 1fr); gap: 1rem; align-items: start; }
.sch-entry__chips, .sch-entry__meta { margin: .25rem 0; font-size: .85rem; }
.sch-chip { display: inline-block; margin-right: .35rem; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.sch-chip--live { background: #c42b1c; color: #fff; padding: .1rem .4rem; }
.sch-card__art { position: absolute; inset: 0; display: flex; align-items: flex-end; padding: 1rem; background: hsl(var(--sch-art-hue, 210) 30% 25%); color: #fff; }
.sch-meta__sep { margin: 0 .3rem; opacity: .5; }

.sch-now { display: grid; gap: 1.5rem; }
@media (min-width: 900px) { .sch-now { grid-template-columns: 3fr 2fr; } }
.sch-coming__list, .sch-topics__list, .sch-series-list__items, .sch-channels__list, .sch-pagination ul, .sch-episodes { list-style: none; margin: 0; padding: 0; }
.sch-coming__item { display: grid; grid-template-columns: 3rem 1fr; gap: .75rem; margin-bottom: .5rem; }
.sch-coming__date { display: flex; flex-direction: column; align-items: center; }
.sch-topics__list, .sch-series-list__items { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); }
.sch-topic__link, .sch-series__link { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.sch-series__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.sch-series__media img { width: 100%; height: 100%; object-fit: cover; }
.sch-episode { display: grid; grid-template-columns: 2rem minmax(5rem, 9rem) minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: .6rem 0; }
.sch-episode__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.sch-episode__media img { width: 100%; height: 100%; object-fit: cover; }
.sch-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.sch-search { display: flex; align-items: center; }
.sch-search__toggle { display: none; }
.sch-search__toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

.sch-filters { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.sch-filters__search { display: flex; gap: .5rem; }
.sch-filters__search input { flex: 1; min-height: 2.75rem; }
.sch-filters__refine { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
.sch-filters label { display: block; font-size: .8rem; margin-bottom: .3rem; }
.sch-filters select { width: 100%; min-height: 2.75rem; }
.sch-filters__formats { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.sch-filters__formats input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sch-filters__formats span { display: inline-block; padding: .45rem .9rem; border: 1px solid currentColor; cursor: pointer; }
.sch-filters__formats input:checked + span { font-weight: 700; }
.sch-pagination { margin-top: 2rem; text-align: center; }
.sch-pagination ul { display: flex; flex-wrap: wrap; gap: .25rem; justify-content: center; }
.sch-pagination ul[hidden], .sch-pagination__more[hidden] { display: none; }

.sch-player { position: relative; }
.sch-player--youtube .sch-player__facade, .sch-player__frame { display: block; position: relative; width: 100%; aspect-ratio: 16 / 9; border: 0; background: #000; }
.sch-player__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sch-player__button { position: absolute; left: 50%; top: 50%; width: 4.5rem; height: 4.5rem; transform: translate(-50%, -50%); border-radius: 50%; background: rgba(0, 0, 0, .65); }
.sch-player__button::before { content: ""; position: absolute; left: 54%; top: 50%; transform: translate(-50%, -50%); border-style: solid; border-width: .8rem 0 .8rem 1.3rem; border-color: transparent transparent transparent #fff; }
.sch-player--audio { display: grid; gap: 1rem; grid-template-columns: 8rem minmax(0, 1fr); align-items: center; }
.sch-player__art { position: relative; aspect-ratio: 1; overflow: hidden; }
.sch-player__art img { width: 100%; height: 100%; object-fit: cover; }
.sch-player__audio { width: 100%; }
.sch-player__speed[hidden] { display: none; }
.sch-player--soundcloud .sch-player__frame { aspect-ratio: auto; height: 166px; }

.sch-item-meta { margin: 0; }
.sch-item-meta__row { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .4rem 0; }
.sch-item-meta dd { margin: 0; }
.sch-updates { display: grid; gap: 1.5rem; }
.sch-updates__posts { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.sch-update__media img { display: block; width: 100%; height: auto; }
.sch-update__text { margin: 0; }
.sch-updates__channels { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.sch-contact__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sch-contact__field input, .sch-contact__field textarea { width: 100%; box-sizing: border-box; }
.sch-portrait { position: relative; overflow: hidden; }
.sch-portrait--arch { aspect-ratio: 4 / 5; border-radius: 50% 50% 0 0 / 38% 38% 0 0; }
.sch-portrait--circle { border-radius: 50%; }
.sch-portrait__image { width: 100%; height: 100%; object-fit: cover; display: block; }
.sch-scholar { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; }
.sch-scholar__portrait { width: 4rem; height: 4rem; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; }

.sch-mini { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; transform: translateY(110%); transition: transform .3s ease; background: #111; color: #fff; }
.sch-mini.is-open { transform: none; }
.sch-mini__inner { display: grid; grid-template-columns: 1fr 1.4fr auto auto; gap: .75rem; align-items: center; padding: .6rem 1rem; }
.sch-mini__title { color: inherit; }
.sch-mini__audio { width: 100%; }
.sch-fresh-notice { position: fixed; z-index: 1000; left: 50%; bottom: 1.25rem; transform: translate(-50%, 150%); padding: .75rem 1.25rem; background: #111; color: #fff; transition: transform .35s ease; }
.sch-fresh-notice.is-visible { transform: translate(-50%, 0); }
.sch-entry.is-new { animation: sch-fade-in .8s ease both; }
@keyframes sch-fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sch-entry.is-new, .sch-fresh-notice, .sch-mini { animation: none; transition: none; } }
.sch-empty { padding: 1.5rem 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
