/*
 * Spider Migration — fallback blog/article styling.
 * Applies only on the fallback template (blog posts, archives, search,
 * 404) where WordPress renders a normal document instead of echoing a
 * verbatim Weebly page. Keeps a readable, centered content column that
 * matches the rest of the (Weebly-chrome) site. Colors pulled from the
 * live homepage's own inline style block (#626262 body / #2a2a2a heads /
 * #a82e2e accent) for visual consistency.
 */

.spider-article {
    max-width: 860px;
    margin: 40px auto;
    padding: 0 20px 60px;
    font-family: "Roboto", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #626262;
    box-sizing: border-box;
}

/*
 * Header nav fix, addendum (2026-07-24) — this template's <body> carries
 * only WordPress's own body_class() output (single/archive/search/404),
 * none of the Weebly header-overlay-on/no-header-page/splash-banner-page
 * classes that main_style.css's contrast rules key off. Result: the nav's
 * default white text (main_style.css:46) rendered over a transparent fixed
 * header sitting on the plain white page background — invisible, same
 * failure mode as the about-page variant fixed earlier, but this template
 * has no Weebly body class at all to select on, hence the dedicated marker
 * class added in index.php's fallback branch. Also: no rule anywhere
 * reserved top clearance for the fixed header on this template (that only
 * existed for .no-header-page, main_style.css:79), so the H1/article body
 * rendered underneath it — bumped from the original 40px top margin to
 * clear the ~87px single-row header with headroom.
 */
body.spider-fallback-header .birdseye-header {
    background: #ffffff;
    color: #000000;
}

body.spider-fallback-header .birdseye-header .hamburger span,
body.spider-fallback-header .birdseye-header .hamburger span:before,
body.spider-fallback-header .birdseye-header .hamburger span:after {
    background: #000000;
}

body.spider-fallback-header .spider-article {
    margin-top: 110px;
}

.spider-article h1,
.spider-article h2,
.spider-article h3,
.spider-article h4 {
    font-family: "Montserrat", Arial, sans-serif;
    color: #2a2a2a;
    line-height: 1.3;
    margin: 32px 0 16px;
}

.spider-article h1 { font-size: 34px; margin-top: 0; }
.spider-article h2 { font-size: 26px; }
.spider-article h3 { font-size: 20px; }
.spider-article h4 { font-size: 17px; }

.spider-article p {
    margin: 0 0 18px;
}

.spider-article ul,
.spider-article ol {
    margin: 0 0 18px;
    padding-left: 28px;
}

.spider-article li {
    margin-bottom: 8px;
}

.spider-article a {
    color: #a82e2e;
    text-decoration: underline;
}

.spider-article img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px 0;
}

.spider-article blockquote {
    margin: 20px 0;
    padding: 10px 20px;
    border-left: 4px solid #ddd;
    color: #555;
}

.spider-article table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 18px;
}

.spider-article table th,
.spider-article table td {
    border: 1px solid #ddd;
    padding: 8px 12px;
    text-align: left;
}

/* Archive / search fallback list */
.spider-article-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.spider-article-list li {
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}

.spider-article-list li a {
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 22px;
    color: #2a2a2a;
    text-decoration: none;
}

.spider-article-list li a:hover {
    color: #a82e2e;
}

.spider-article-list-excerpt {
    margin-top: 8px;
    color: #626262;
}

@media (max-width: 600px) {
    .spider-article {
        padding: 0 16px 40px;
        font-size: 15px;
    }
    .spider-article h1 { font-size: 26px; }
    .spider-article h2 { font-size: 21px; }
    .spider-article h3 { font-size: 18px; }
    body.spider-fallback-header .spider-article { margin-top: 70px; }
}
