/* Narrow-screen safeguards only; desktop archive layouts retain their original CSS. */
.pf-not-found {
    box-sizing: border-box;
    margin: 70px auto;
    max-width: 620px;
    padding: 24px;
    font: 15px/1.6 Arial, Helvetica, sans-serif;
}

h1.pf-image-heading {
    display: inline;
    font: inherit;
    margin: 0;
    padding: 0;
}

.pf-heading-label,
h1.pf-background-heading,
h1.pf-fallback-heading {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
}

h1.pf-inline-heading {
    display: inline;
    font: inherit;
    font-weight: bold;
    margin: 0;
    padding: 0;
}

h1.pf-story-heading {
    font: bold 1.35em/1.3 Georgia, "Times New Roman", serif;
    margin: 1em 0 0.75em;
    padding: 0;
}

body.pf-host-blog-phoenixfyre-net h2.pf-archive-post-heading {
    font-size: 30px;
}

body.pf-host-glamoury-phoenixfyre-net h2.pf-comment-subject {
    font-size: 2em;
    font-weight: bold;
    margin: 0.67em 0;
}

h2.pf-legacy-section-heading {
    margin-block: 0.67em;
}

@media (max-width: 760px) {
    html,
    body.pf-restored {
        min-width: 0 !important;
        overflow-x: hidden;
    }

    body.pf-restored img,
    body.pf-restored video,
    body.pf-restored object,
    body.pf-restored embed,
    body.pf-restored iframe {
        height: auto !important;
        max-width: 100% !important;
    }

    body.pf-restored iframe {
        width: 100% !important;
    }

    body.pf-restored table {
        max-width: 100% !important;
    }

    body.pf-restored td,
    body.pf-restored th,
    body.pf-restored a,
    body.pf-restored p,
    body.pf-restored li {
        overflow-wrap: anywhere;
    }

    body.pf-restored pre {
        max-width: 100%;
        overflow-x: auto;
        white-space: pre-wrap;
    }

    body.pf-restored input,
    body.pf-restored select,
    body.pf-restored textarea {
        box-sizing: border-box;
        max-width: 100% !important;
    }

    /* Early WordPress layouts: keep the archived artwork and stack the columns. */
    body.pf-theme-fast-swing #container,
    body.pf-theme-fast-swing #footer {
        box-sizing: border-box;
        height: auto !important;
        width: 100% !important;
    }

    body.pf-theme-fast-swing #left,
    body.pf-theme-fast-swing #sidebar {
        float: none !important;
        width: 100% !important;
    }

    body.pf-theme-fast-swing #content {
        box-sizing: border-box;
        padding: 22px !important;
    }

    body.pf-theme-fast-swing .middle,
    body.pf-theme-fast-swing .right {
        box-sizing: border-box;
        width: 50% !important;
    }

    body.pf-theme-coffee-desk #base,
    body.pf-theme-coffee-desk #header,
    body.pf-theme-coffee-desk #container,
    body.pf-theme-coffee-desk #footer {
        box-sizing: border-box;
        height: auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body.pf-theme-coffee-desk #header {
        background-position: 44% top !important;
        min-height: 230px;
    }

    body.pf-theme-coffee-desk #blog_name,
    body.pf-theme-coffee-desk #blog_desc {
        box-sizing: border-box;
        margin-left: 44% !important;
        max-width: 54%;
        width: auto !important;
    }

    body.pf-theme-coffee-desk #menubar {
        box-sizing: border-box;
        height: auto !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
    }

    body.pf-theme-coffee-desk #content,
    body.pf-theme-coffee-desk #sidebar {
        background-image: none !important;
        box-sizing: border-box;
        display: block !important;
        float: none !important;
        margin: 0 !important;
        overflow: visible !important;
        padding: 24px !important;
        width: 100% !important;
    }

    body.pf-theme-coffee-desk #footer {
        margin: 0 !important;
        min-height: 90px;
        padding: 30px 20px 18px !important;
    }

    body.pf-theme-soleil #banner,
    body.pf-theme-soleil #banner-inner {
        box-sizing: border-box;
        height: 150px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body.pf-theme-soleil #banner-header {
        box-sizing: border-box;
        font-size: clamp(27px, 9vw, 42px) !important;
        left: 145px !important;
        max-width: calc(100% - 155px);
        top: 25px !important;
    }

    body.pf-theme-soleil #banner-description {
        bottom: 12px !important;
        box-sizing: border-box;
        left: 150px;
        right: 10px !important;
    }

    body.pf-theme-soleil #main {
        box-sizing: border-box;
        margin: 0 !important;
        width: 100% !important;
    }

    body.pf-theme-soleil #content,
    body.pf-theme-soleil #sidebar {
        box-sizing: border-box;
        display: block !important;
        float: none !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 18px !important;
        width: 100% !important;
    }

    body.pf-theme-orange-sky #page,
    body.pf-theme-orange-sky #main,
    body.pf-theme-orange-sky #header,
    body.pf-theme-orange-sky #content,
    body.pf-theme-orange-sky #menu,
    body.pf-theme-orange-sky #sidebar,
    body.pf-theme-orange-sky #footer {
        box-sizing: border-box;
        float: none !important;
        margin-left: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    body.pf-theme-orange-sky #page {
        margin: 0 auto !important;
    }

    body.pf-theme-orange-sky #content,
    body.pf-theme-orange-sky #sidebar {
        padding: 20px !important;
    }

    body.pf-theme-orange-sky #menu {
        margin: 0 !important;
        padding: 8px 12px !important;
    }

    body.pf-theme-orange-sky #menu ul {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin: 0;
        padding: 0;
    }

    body.pf-theme-orange-sky #menu li,
    body.pf-theme-orange-sky #menu a {
        float: none !important;
        margin: 0 !important;
    }

    /* eFiction archives use top-level tables as their application shell. */
    body.pf-theme-efiction > table,
    body.pf-theme-cyanotype > table,
    body.pf-theme-shiny > table {
        box-sizing: border-box;
        width: 100% !important;
    }

    body.pf-theme-efiction > table > tbody > tr > td,
    body.pf-theme-efiction > table > tr > td,
    body.pf-theme-cyanotype > table > tbody > tr > td,
    body.pf-theme-cyanotype > table > tr > td,
    body.pf-theme-shiny > table > tbody > tr > td,
    body.pf-theme-shiny > table > tr > td {
        box-sizing: border-box;
        display: block;
        padding-left: 12px !important;
        padding-right: 12px !important;
        width: 100% !important;
    }

    body.pf-theme-efiction .mainnav,
    body.pf-theme-cyanotype .mainnav {
        display: inline-block;
        line-height: 1.4;
        margin: 3px 5px;
        padding: 7px 5px;
    }

    /* Image galleries retain columns while allowing thumbnails to shrink. */
    body.pf-theme-gallery2 #gallery,
    body.pf-theme-gallery2 #gsHeader,
    body.pf-theme-gallery2 #gsNavBar,
    body.pf-theme-gallery2 #gsContent,
    body.pf-theme-gallery2 #gsFooter {
        box-sizing: border-box;
        max-width: 100% !important;
        width: 100% !important;
    }

    body.pf-theme-gallery2 .giAlbumCell,
    body.pf-theme-gallery2 .giItemCell {
        box-sizing: border-box;
        width: 50% !important;
    }

    /* Fixed-width personal pages and network landing pages. */
    body.pf-theme-loganjean > table,
    body.pf-host-bloom-phoenixfyre-net > table,
    body.pf-host-bookworm-phoenixfyre-net > table,
    body.pf-theme-fiplain > table,
    body.pf-theme-linkwhore > table,
    body.pf-theme-fan > table {
        box-sizing: border-box;
        width: 100% !important;
    }

    body.pf-theme-loganjean > table > tbody > tr > td,
    body.pf-theme-loganjean > table > tr > td,
    body.pf-host-bloom-phoenixfyre-net > table > tbody > tr > td,
    body.pf-host-bloom-phoenixfyre-net > table > tr > td,
    body.pf-host-bookworm-phoenixfyre-net > table > tbody > tr > td,
    body.pf-host-bookworm-phoenixfyre-net > table > tr > td {
        box-sizing: border-box;
        max-width: 100% !important;
    }

    body.pf-theme-linkwhore > table:first-of-type img {
        height: auto !important;
        max-width: 20% !important;
    }

    /* Main PhoenixFyre shell and its older story microsites. */
    body.pf-theme-main-network.pf-route-home #content,
    body.pf-theme-main-network.pf-route-home #footer {
        box-sizing: border-box;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: calc(100% - 20px);
        width: auto !important;
    }

    body.pf-theme-main-network.pf-route-home #left,
    body.pf-theme-main-network.pf-route-home #right {
        box-sizing: border-box;
        float: none !important;
        margin: 0 !important;
        width: 100% !important;
    }

    body.pf-theme-main-network table[width="600"],
    body.pf-theme-main-network table[width="650"],
    body.pf-theme-main-network table[width="700"],
    body.pf-theme-main-network table[width="750"],
    body.pf-theme-main-network table[width="800"],
    body.pf-theme-main-network table[width="1000"] {
        box-sizing: border-box;
        width: 100% !important;
    }

    body.pf-theme-main-network.pf-section-darkvault > table > tbody > tr > td,
    body.pf-theme-main-network.pf-section-darkvault > table > tr > td {
        box-sizing: border-box;
        display: block;
        width: 100% !important;
    }

    body.pf-theme-main-network.pf-section-lustypirate table[width="600"] > tbody > tr > td[width="115"],
    body.pf-theme-main-network.pf-section-lustypirate table[width="600"] > tr > td[width="115"] {
        display: none;
    }

    body.pf-theme-main-network.pf-section-lustypirate table[width="600"] > tbody > tr > td,
    body.pf-theme-main-network.pf-section-lustypirate table[width="600"] > tr > td {
        box-sizing: border-box;
        width: 100% !important;
    }

    /* Missing legacy WordPress theme assets still get a coherent mobile shell. */
    body.pf-theme-rin #hnav,
    body.pf-theme-rin #masthead,
    body.pf-theme-rin #container,
    body.pf-theme-rin #footer,
    body.pf-theme-narnia #rap,
    body.pf-theme-narnia #content,
    body.pf-theme-narnia #side,
    body.pf-theme-narnia #footer {
        box-sizing: border-box;
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 100% !important;
        position: static !important;
        width: 100% !important;
    }

    body.pf-theme-rin #hmenu ul,
    body.pf-theme-rin #navmenu,
    body.pf-theme-narnia #navmenu {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        margin: 0;
        padding: 8px;
    }

    body.pf-theme-rin #hmenu li,
    body.pf-theme-rin #hmenu a,
    body.pf-theme-narnia #navmenu a {
        box-sizing: border-box;
        display: inline-block;
        float: none !important;
        min-height: 40px;
        padding: 10px;
    }

    body.pf-theme-narnia #side {
        clear: both;
        padding-top: 18px;
    }
}

@media (max-width: 480px) {
    body.pf-theme-fast-swing .middle,
    body.pf-theme-fast-swing .right,
    body.pf-theme-coffee-desk #sidebar1,
    body.pf-theme-coffee-desk #sidebar2,
    body.pf-theme-gallery2 .giAlbumCell,
    body.pf-theme-gallery2 .giItemCell {
        box-sizing: border-box;
        float: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    body.pf-theme-coffee-desk #header {
        min-height: 200px;
    }

    body.pf-theme-coffee-desk #blog_name,
    body.pf-theme-coffee-desk #blog_desc {
        margin-left: 34% !important;
        max-width: 64%;
    }

    body.pf-theme-soleil #banner-header {
        left: 105px !important;
        max-width: calc(100% - 115px);
    }

    body.pf-theme-soleil #banner-description {
        left: 110px;
    }

    body.pf-restored img[align="left"],
    body.pf-restored img[align="right"] {
        float: none !important;
        margin: 12px auto !important;
    }
}
