@import url('https://fonts.googleapis.com/css2?family=Grenze+Gotisch:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');

/*
Theme Name: The Blackwood Chronicles
Theme URI: https://example.com/
Author: OpenAI
Description: A dark-mode horror and creepypasta theme for ClassicPress. Features pure red accents, responsive layouts, category and tag archives, widgets, pagination, comments, featured stories, and native ClassicPress functionality.
Version: 1.1.0
Requires at least: 1.0
Tested up to: 2.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blackwood-chronicles
Tags: dark, horror, blog, entertainment, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root {
    --bw-red: #ff0000;
    --bw-black: #070809;
    --bw-near-black: #0a0b0d;
    --bw-panel: #0d0f12;
    --bw-panel-2: #111419;
    --bw-border: #24282e;
    --bw-text: #c4c8cd;
    --bw-muted: #777d85;
    --bw-white: #eceff1;
    --bw-max: 1400px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--bw-black);
    color: var(--bw-text);
    font-family: Inter, Arial, Helvetica, sans-serif;
    line-height: 1.65;
    overflow-x: hidden;
}

body.menu-open { overflow: hidden; }

a { color: var(--bw-red); text-decoration: none; }
a:hover { color: #fff; }

img { max-width: 100%; height: auto; }

.screen-reader-text {
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden; clip: rect(1px,1px,1px,1px);
    white-space: nowrap;
}
.screen-reader-text:focus {
    clip: auto !important; height: auto; width: auto;
    left: 10px; top: 10px; z-index: 99999;
    padding: 10px 15px; background: #fff; color: #000;
}

.site-header {
    position: relative;
    min-height: 250px;
    background:
        linear-gradient(90deg, rgba(7,8,9,.96) 0%, rgba(7,8,9,.82) 38%, rgba(7,8,9,.58) 100%),
        radial-gradient(circle at 78% 25%, rgba(255,0,0,.72) 0 6%, rgba(255,0,0,.10) 6.5%, transparent 22%),
        linear-gradient(180deg, #121417 0%, #090a0c 85%);
    border-bottom: 1px solid var(--bw-border);
    overflow: hidden;
}
.site-header:after {
    content:"";
    position:absolute; inset:0;
    pointer-events:none;
    opacity:.45;
    background:
      repeating-linear-gradient(90deg, transparent 0 7%, rgba(0,0,0,.55) 7.2% 7.8%, transparent 8% 15%),
      linear-gradient(180deg, transparent 55%, #000 100%);
    mix-blend-mode:multiply;
}
.header-inner {
    width: min(var(--bw-max), calc(100% - 40px));
    margin: 0 auto;
    min-height: 250px;
    display:flex;
    align-items:center;
    position:relative;
    z-index:2;
}
.site-branding { max-width: 560px; }
.site-title {
    margin:0;
    line-height:.82;
    font-size:clamp(2.7rem, 7vw, 6rem);
    letter-spacing:-.08em;
    font-weight:900;
    text-transform:uppercase;
    color:var(--bw-white);
    letter-spacing:-.055em;
    text-shadow:0 2px 18px rgba(0,0,0,.7);
}
.site-title a { color:inherit; }
.site-description {
    margin:18px 0 0;
    color:var(--bw-red);
    text-transform:uppercase;
    letter-spacing:.25em;
    font-size:.78rem;
    font-weight:700;
}

.main-navigation {
    background:#0b0d10;
    border-bottom:1px solid var(--bw-border);
    border-top:1px solid #161a1f;
    position:relative;
    z-index:10;
}
.nav-inner {
    width:min(var(--bw-max), calc(100% - 40px));
    min-height:58px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.menu-toggle {
    display:none;
    border:1px solid var(--bw-border);
    background:#0b0b0b;
    color:#fff;
    padding:10px 13px;
    font-weight:bold;
    text-transform:uppercase;
}
.primary-menu {
    list-style:none; padding:0; margin:0;
    display:flex; align-items:stretch;
}
.primary-menu li { position:relative; }
.primary-menu a {
    display:block; padding:18px 22px;
    color:#aeb4bb;
    text-transform:uppercase;
    font-size:.82rem; font-weight:700;
    letter-spacing:.08em;
}
.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
    color:#fff;
    background:#14171b;
    box-shadow: inset 0 -2px var(--bw-red);
}
.primary-menu .sub-menu {
    display:none; position:absolute; z-index:20; top:100%; left:0;
    width:220px; padding:6px 0; margin:0; list-style:none;
    background:#090909; border:1px solid var(--bw-border);
}
.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu { display:block; }
.primary-menu .sub-menu a { padding:11px 16px; }

.header-search { color:var(--bw-red); font-size:1.15rem; padding:9px 12px; background:transparent; border:1px solid transparent; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.header-search:hover,.header-search.is-active { background:#15181d; border-color:#30353c; color:#fff; }
.nav-search-wrap { width:min(var(--bw-max), calc(100% - 40px)); margin:0 auto; max-height:0; overflow:hidden; transition:max-height .25s ease; }
.nav-search-wrap.is-open { max-height:76px; }
.nav-search-wrap .search-form { padding:12px 0; }
.nav-search-wrap .search-field { background:#0b0d10; border-color:#2d3239; }
.nav-search-wrap .search-submit { min-width:54px; }

.site-content {
    width:min(var(--bw-max), calc(100% - 40px));
    margin:30px auto 60px;
}
.content-grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr) 330px;
    gap:24px;
}
.content-area { min-width:0; }
.sidebar-area { min-width:0; }

.featured-section {
    border:1px solid var(--bw-border);
    background:var(--bw-panel);
    margin-bottom:24px;
    overflow:hidden;
}
.featured-label {
    display:inline-block;
    background:var(--bw-red);
    color:#fff;
    padding:6px 11px;
    text-transform:uppercase;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
}
.featured-story {
    min-height:410px;
    padding:35px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    position:relative;
    background-size:cover;
    background-position:center;
}
.featured-story:before {
    content:""; position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.48), rgba(0,0,0,.8)),
               linear-gradient(0deg, #050505, transparent 65%);
}
.featured-story > * { position:relative; }
.featured-story h2 {
    color:#fff; margin:0 0 8px; line-height:1.05;
    font-family:"Grenze Gotisch", Georgia, serif;
    font-weight:500;
    letter-spacing:.01em;
    font-size:clamp(2rem,4vw,4rem);
}
.featured-story h2 a { color:#fff; }
.featured-story .entry-excerpt { max-width:760px; color:#ddd; font-size:1.05rem; }

.post-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:24px;
}
.post-card {
    border:1px solid var(--bw-border);
    background:linear-gradient(145deg, #111419, #0c0e11);
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
    transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.post-card:hover { transform:translateY(-4px); border-color:#472020; box-shadow:0 16px 36px rgba(0,0,0,.34); }
.post-card .post-thumb {
    display:block; aspect-ratio:16/7; background:#080808;
    overflow:hidden;
}
.post-card .post-thumb img { width:100%; height:100%; object-fit:cover; filter:grayscale(.55) contrast(1.12); transition:transform .35s, filter .35s; }
.post-card:hover .post-thumb img { transform:scale(1.04); filter:grayscale(.15) contrast(1.1); }
.post-card-body { padding:20px; }
.entry-category {
    color:var(--bw-red);
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:.68rem; font-weight:900;
}
.entry-title {
    font-family:"Grenze Gotisch", Georgia, serif;
    font-weight:500;
    letter-spacing:.01em;
    font-size:1.8rem;
    line-height:1.15;
    margin:7px 0 8px;
}
.entry-title a { color:#e7e7e7; }
.entry-title a:hover { color:var(--bw-red); }
.entry-excerpt { color:#a8a8a8; margin:0 0 15px; font-size:.94rem; }
.entry-meta {
    display:flex; flex-wrap:wrap; gap:9px 16px;
    font-size:.72rem; color:#777;
    border-top:1px solid #202020; padding-top:12px;
}
.entry-meta a { color:var(--bw-red); }

.widget {
    background:var(--bw-panel);
    border:1px solid var(--bw-border);
    padding:20px;
    margin-bottom:18px;
}
.widget-title {
    color:var(--bw-red);
    margin:0 0 14px;
    font-size:1.05rem;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.widget ul { list-style:none; margin:0; padding:0; }
.widget li { padding:7px 0; border-bottom:1px solid #181818; }
.widget li:last-child { border-bottom:0; }
.widget li:before { content:"•"; color:var(--bw-red); margin-right:10px; }
.widget a { color:#bdbdbd; }
.widget a:hover { color:#fff; }

.search-form { display:flex; }
.search-form label { flex:1; }
.search-field {
    width:100%; background:#050505; border:1px solid #343434;
    color:#fff; padding:11px 12px; outline:none;
}
.search-field:focus { border-color:var(--bw-red); }
.search-submit {
    background:var(--bw-red); border:0; color:#fff; padding:0 15px;
    cursor:pointer; font-weight:bold;
}

.archive-header, .page-header {
    border-bottom:1px solid var(--bw-border);
    padding:5px 0 20px; margin-bottom:24px;
}
.archive-title, .page-title {
    margin:0; color:#fff; font-family:Georgia,serif; font-size:2.4rem;
}
.archive-description { color:#999; margin-top:8px; }

.single-post, .page-content {
    background:var(--bw-panel);
    border:1px solid var(--bw-border);
    padding:clamp(22px,4vw,50px);
}
.single-post .entry-header { border-bottom:1px solid #202020; padding-bottom:22px; margin-bottom:28px; }
.single-post .entry-title, .page-content .entry-title {
    color:#fff; font-family:"Grenze Gotisch", Georgia, serif;
    font-weight:500; letter-spacing:.01em;
    font-size:clamp(2.4rem,5vw,4.5rem); margin:0 0 15px;
}
.featured-image { margin:0 0 28px; border:1px solid #222; }
.entry-content { font-size:1.04rem; color:#c9c9c9; }
.entry-content h1,.entry-content h2,.entry-content h3 { color:#fff; font-family:Georgia,serif; }
.entry-content blockquote {
    margin:25px 0; padding:15px 25px; border-left:4px solid var(--bw-red);
    background:#060606; color:#aaa; font-family:Georgia,serif;
}
.entry-content pre { overflow:auto; background:#050505; padding:18px; border:1px solid #222; }
.entry-content img { height:auto; }
.entry-footer { margin-top:35px; padding-top:20px; border-top:1px solid #222; color:#999; }
.tags-links a {
    display:inline-block; padding:3px 7px; margin:3px;
    background:#151515; border:1px solid #292929; color:var(--bw-red);
}

.post-navigation, .posts-navigation {
    display:flex; justify-content:space-between; gap:15px;
    margin:30px 0;
}
.post-navigation a, .posts-navigation a {
    border:1px solid #333; padding:10px 14px; background:#080808;
}
.pagination {
    margin:35px 0 10px; display:flex; gap:6px; flex-wrap:wrap;
}
.pagination .page-numbers {
    min-width:38px; text-align:center; padding:7px 10px;
    border:1px solid #333; background:#080808; color:#bbb;
}
.pagination .current, .pagination a:hover { background:var(--bw-red); border-color:var(--bw-red); color:#fff; }

.comments-area { margin-top:35px; border-top:1px solid #242424; padding-top:25px; }
.comments-title, .comment-reply-title { color:#fff; font-family:Georgia,serif; }
.comment-list { list-style:none; padding:0; margin:0; }
.comment-body { background:#080808; border:1px solid #222; padding:18px; margin:14px 0; }
.comment-author { color:#fff; font-weight:bold; }
.comment-metadata { font-size:.75rem; color:#777; }
.comment-reply-link { color:var(--bw-red); }
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea {
    width:100%; background:#050505; border:1px solid #333;
    color:#fff; padding:10px; margin-top:5px;
}
.comment-respond input:focus,.comment-respond textarea:focus { outline:0; border-color:var(--bw-red); }
.comment-respond .submit {
    background:var(--bw-red); color:#fff; border:0; padding:11px 18px;
    cursor:pointer; text-transform:uppercase; font-weight:bold;
}

.not-found {
    border:1px solid var(--bw-border); background:#090909;
    padding:50px; text-align:center;
}
.not-found h1 { color:#fff; font-size:3rem; margin-top:0; }

.site-footer {
    border-top:2px solid var(--bw-red);
    background:#030303;
    padding:35px 0;
}
.footer-inner {
    width:min(var(--bw-max), calc(100% - 40px));
    margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    gap:25px; flex-wrap:wrap;
}
.footer-brand { color:var(--bw-red); font-family:Georgia,serif; font-size:1.3rem; font-weight:bold; }
.footer-menu { list-style:none; display:flex; gap:20px; padding:0; margin:0; }
.footer-menu a { color:#999; font-size:.8rem; text-transform:uppercase; }
.site-info { color:#666; font-size:.75rem; }

.alignleft { float:left; margin:0 25px 15px 0; }
.alignright { float:right; margin:0 0 15px 25px; }
.aligncenter { display:block; margin:20px auto; }
.wp-caption { max-width:100%; }
.wp-caption-text { color:#777; font-size:.8rem; }
.gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; }
.sticky { border-color:var(--bw-red); }

@media (max-width: 900px) {
    .content-grid { grid-template-columns:1fr; }
    .sidebar-area { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:15px; }
    .widget { margin-bottom:0; }
}
@media (max-width: 700px) {
    .site-header,.header-inner { min-height:200px; }
    .nav-inner { min-height:54px; }
    .menu-toggle { display:block; }
    .primary-menu {
        display:none; position:absolute; top:100%; left:0; right:0;
        background:#070707; border-bottom:1px solid #222;
        padding:10px 20px;
    }
    .primary-menu.toggled { display:block; }
    .primary-menu a { padding:12px 0; }
    .primary-menu .sub-menu { display:block; position:static; width:auto; border:0; background:transparent; padding-left:15px; }
    .header-search { margin-left:auto; }
    .post-grid { grid-template-columns:1fr; }
    .sidebar-area { grid-template-columns:1fr; }
    .featured-story { min-height:350px; padding:25px; }
    .site-content { width:min(100% - 24px, var(--bw-max)); margin-top:18px; }
    .footer-inner { flex-direction:column; align-items:flex-start; }
    .footer-menu { flex-wrap:wrap; }
}


/* Version 1.1 refinement */
.branding-row{display:flex;align-items:center;gap:18px}.site-icon-logo{display:block;width:clamp(62px,8vw,104px);height:clamp(62px,8vw,104px);border-radius:50%;object-fit:cover;border:1px solid rgba(255,0,0,.65);box-shadow:0 0 0 5px rgba(255,0,0,.05),0 10px 30px rgba(0,0,0,.45)}.branding-text{min-width:0}.site-title{font-family:"Grenze Gotisch",Georgia,serif;font-weight:500}.post-card,.widget,.single-post,.page-content,.featured-section{border-radius:3px}.entry-category{letter-spacing:.12em}.widget-title{font-family:"Grenze Gotisch",Georgia,serif;font-size:1.55rem;font-weight:500;padding-bottom:10px;border-bottom:1px solid rgba(255,0,0,.65)}.search-field,.search-submit{min-height:44px}.site-footer{background:#090b0e;border-top:1px solid rgba(255,0,0,.8)}@media(max-width:700px){.branding-row{gap:12px}.site-icon-logo{width:58px;height:58px}.nav-search-wrap{width:min(100% - 24px,var(--bw-max))}}
