/* Schlock mobile layout v1.0.0. Desktop colors and media behavior are retained. */
.sch-layout > *, .sch-feed-column, .sch-feed-card, .sch-sidebar,
.sch-article-card, .sch-article-body, .sch-comments { min-width: 0; }
.sch-ad--in-feed {
    margin: 0; padding: 0; border-bottom: 0;
    background: var(--sch-bg); overflow-wrap: anywhere;
}
.sch-ad--in-feed.sch-ad--filled { padding: 24px 14px; border-bottom: 1px solid var(--sch-line); }
/* This external ad container has an inline width of 600px in the fullstory templates. */
#vid_vpaut_div { max-width: 100% !important; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--sch-coral); outline-offset: 3px; }
@media (max-width: 820px) {
    html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    .sch-container { width: calc(100% - 32px); }
    .sch-layout, .sch-layout--full { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .sch-header__row { grid-template-columns: minmax(0, 1fr) 44px; gap: 8px; padding-top: 10px; padding-bottom: 0; }
    .sch-logo { min-height: 44px; align-items: center; }
    .sch-logo img { width: 168px; }
    .sch-search-button { width: 44px; height: 44px; }
    .sch-nav { min-width: 0; gap: 4px; font-size: 14px; line-height: 1.3; }
    .sch-nav > a { flex: 1 1 0; min-width: 0; min-height: 48px; padding: 10px 4px; }
    .sch-main { padding-top: 16px; }
    .sch-breadcrumbs { font-size: 13px; gap: 6px; }
    .sch-breadcrumbs > span:last-child { white-space: normal; overflow-wrap: anywhere; }
    .sch-feed-head { padding: 14px 16px; justify-content: flex-start; }
    .sch-feed-head h1 { font-size: 21px; line-height: 1.3; }
    .sch-article-head h1 { font-size: 28px; line-height: 1.25; }
    .sch-article-text { overflow-wrap: anywhere; }
    .sch-article-text table { display: block; max-width: 100%; overflow-x: auto; }
    .sch-article-text pre { max-width: 100%; overflow-x: auto; }
    .sch-comment-actions { flex-wrap: wrap; }
    .sch-comment-label input, .sch-comment-label textarea, .sch-comment-edit textarea,
    .sch-service input, .sch-service textarea, .sch-service select, .sch-search-row input { font-size: 16px; }
    .sch-comment-buttons button, .sch-comment-edit button, .sch-comment-cancel,
    .sch-comment-actions button { min-height: 44px; }
    .sch-comment-login a, .sch-comment-tools button { min-height: 44px; }
    .sch-pagination a, .sch-pagination span { min-width: 44px; height: 44px; }
    .sch-footer__nav { font-size: 13px; gap: 4px 16px; }
    .sch-footer__nav a { display: inline-flex; min-height: 44px; align-items: center; }
}
@media (max-width: 560px) {
    .sch-container { width: calc(100% - 24px); }
    .sch-header__row { gap: 6px; }
    .sch-nav { font-size: 13px; }
    .sch-feed-head { padding: 14px; min-height: 0; }
    .sch-feed-head h1 { font-size: 20px; }
    .sch-feed-item { grid-template-columns: 108px minmax(0, 1fr); gap: 12px; padding: 14px 12px; min-height: 116px; align-items: start; }
    .sch-feed-item--no-image { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .sch-feed-thumb { height: 82px; min-height: 82px; border-radius: 6px; }
    .sch-feed-item--episode .sch-feed-thumb { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
    .sch-feed-copy { justify-content: flex-start; }
    .sch-feed-copy h2 { font-size: 16px; line-height: 1.4; margin-bottom: 8px; }
    .sch-feed-copy p { display: none; }
    .sch-meta { font-size: 12px; gap: 10px; }
    .sch-episode-label { font-size: 10px; }
    .sch-ad--in-feed.sch-ad--filled { padding: 20px 12px; }
    .sch-article-head { padding: 18px 14px; }
    .sch-article-head h1 { font-size: 25px; }
    .sch-article-body { padding: 18px 14px; }
    .sch-article-text { font-size: 17px; line-height: 1.65; }
    .sch-article-text blockquote { margin: 20px 0; padding: 14px; font-size: 16px; }
    .sch-comments { padding: 18px 12px; }
    .sch-comment { padding: 10px; }
    .sch-comment-text { font-size: 15px; line-height: 1.6; }
    .sch-comment-children { margin-left: 6px; padding-left: 6px; border-left: 1px solid var(--sch-line); }
    /* Stop cumulative card padding from squeezing deep replies into a few letters. */
    .sch-comment-children .sch-comment { padding: 8px 0 8px 6px; border-width: 0 0 1px; border-radius: 0; }
    .sch-comment-label { font-size: 14px; }
    .sch-comment-buttons { gap: 8px 14px; }
    .sch-comment-captcha { max-width: 100%; overflow-x: auto; }
    .sch-comment-selected { flex-wrap: wrap; }
    .sch-seo-copy { padding: 18px 14px; }
    .sch-seo-copy p { font-size: 15px; line-height: 1.65; }
    .sch-static__body, .sch-service, .sch-search-box, .sch-search-result { padding: 18px 14px; }
    .sch-static .sch-page-head h1, .sch-search-page h1, .sch-service h1 { font-size: 25px; }
    .sch-search-row { flex-wrap: wrap; }
    .sch-search-row input { flex: 1 1 180px; }
    .sch-search-row button { min-height: 44px; }
    .sch-footer__row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .sch-footer__nav { grid-column: 1; grid-row: auto; }
    .sch-footer__copy { white-space: normal; font-size: 12px; }
}
@media (max-width: 359px) {
    .sch-feed-item { grid-template-columns: 88px minmax(0, 1fr); gap: 10px; }
    .sch-feed-item--no-image { grid-template-columns: minmax(0, 1fr); }
    .sch-feed-thumb { height: 76px; min-height: 76px; }
    .sch-nav { font-size: 12px; }
}
