/* Responsive typography and shared header/navigation refinements. */
.salve-mobile-navigation { display: none; }
#main { border-top: none; }
#branding #searchform { right: 37px; }
.salve-facebook-link { margin-top: 12px; }
.salve-search-form .submit { display: none; }
.salve-search-form .field {
    font-family: Helvetica, sans-serif;
    font-size: 11px;
    padding: 1px 5px;
}

@media screen and (max-width: 800px) {
    html body.custom-background { background-image: none; }

    /* The legacy reset assigns 13px to each element, so body alone is insufficient. */
    #main #content,
    #main .entry-content,
    #main .entry-summary,
    #main #secondary {
        font-size: 16px;
        line-height: 1.6;
    }
    #main :is(.entry-content, .entry-summary, #secondary) :is(p, a, span, strong, em, b, i, div, ul, ol, li, dl, dt, dd, blockquote, table, tr, td, th) {
        font-size: inherit;
        line-height: inherit;
    }
    #main :is(.entry-content, .entry-summary) h2 { font-size: 22px; line-height: 1.35; }
    #main :is(.entry-content, .entry-summary) h3 { font-size: 19px; line-height: 1.4; }
    #main :is(.entry-content, .entry-summary, #secondary) a {
        color: #454545;
        text-decoration: underline;
        text-underline-offset: .18em;
    }
    a:focus-visible,
    input:focus-visible,
    summary:focus-visible,
    button:focus-visible {
        outline: 2px solid #007ac3;
        outline-offset: 3px;
    }

    #branding .salve-mobile-navigation {
        display: block;
        clear: both;
        margin-top: 16px;
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
    }
    .salve-mobile-navigation summary {
        box-sizing: border-box;
        min-height: 48px;
        padding: 12px 8px;
        font-size: 16px;
        line-height: 24px;
        font-weight: bold;
        cursor: pointer;
    }
    #salve-mobile-menu,
    #salve-mobile-menu ul { margin: 0; padding: 0; list-style: none; }
    #salve-mobile-menu ul { padding-left: 16px; }
    #salve-mobile-menu a {
        display: block;
        padding: 12px 8px;
        min-height: 44px;
        box-sizing: border-box;
        font-size: 16px;
        line-height: 24px;
        color: #454545;
        text-decoration: none;
        border-top: 1px solid #eee;
    }
    #salve-mobile-menu a:hover,
    #salve-mobile-menu a[aria-current="page"] {
        color: #111;
        background: #f2f2f2;
        text-decoration: underline;
        text-underline-offset: .18em;
    }
    #main #secondary .salve-mobile-menu-source { display: none; }

    #branding #searchform,
    .salve-search-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        float: none;
        width: 100%;
        max-width: none;
        margin: 16px 0 0;
        text-align: left;
    }
    #branding:has(.salve-mobile-navigation) > #searchform { display: none; }
    .salve-mobile-navigation .salve-search-form { margin: 8px 0 16px; }
    .salve-search-form label.assistive-text {
        position: static !important;
        clip: auto;
        grid-column: 1 / -1;
        font-size: 16px;
        line-height: 24px;
    }
    #branding #s,
    #branding #s:focus,
    .salve-search-form .field {
        box-sizing: border-box;
        float: none;
        width: 100%;
        min-width: 0;
        min-height: 44px;
        padding: 8px 10px;
        border: 1px solid #777;
        border-radius: 0;
        background: #fff;
        color: #222;
        font: 16px/24px Helvetica, sans-serif;
    }
    #branding #searchsubmit,
    .salve-search-form .submit {
        display: block;
        min-height: 44px;
        padding: 8px 14px;
        border: 1px solid #454545;
        border-radius: 0;
        background: #454545;
        color: #fff;
        font: 16px/24px Helvetica, sans-serif;
        cursor: pointer;
    }
    #branding #social {
        display: none;
    }

    /* Enlarge standalone listening links without enlarging every inline text link. */
    .entry-content a:is([href^="https://youtu.be/"], [href^="https://www.youtube.com/"], [href^="https://open.spotify.com/"], [href^="https://podcasts.apple.com/"], [href^="https://soundcloud.com/"], [href^="https://on.soundcloud.com/"]) {
        display: inline-flex;
        align-items: center;
        box-sizing: border-box;
        min-height: 44px;
        padding: 8px;
        margin: 4px 0;
        background: #f2f2f2;
    }
}
