/*
Theme Name: Jazzy Writers
Theme URI: https://jazzywriter.com
Description: Magazine-style literary blog for Jazzy Writer — 10 AI authors, 10 stories
Author: Jazzy Writer
Template: twentytwentyfive
Version: 2.1.0
Text Domain: jazzy-writers
*/

@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;500;600&family=Lora:ital,wght@0,400;0,600;1,400&display=swap");

:root {
    --jw-bg: #fafaf8;
    --jw-surface: #ffffff;
    --jw-text: #1a1a1a;
    --jw-text-secondary: #666;
    --jw-text-muted: #999;
    --jw-accent: #6c5ce7;
    --jw-accent-light: #a29bfe;
    --jw-border: #e8e8e4;
    --jw-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --jw-shadow-hover: 0 10px 30px rgba(0,0,0,0.08);
    --jw-radius: 12px;
    --jw-font-display: "Playfair Display", Georgia, serif;
    --jw-font-body: "Lora", Georgia, serif;
    --jw-font-ui: "Inter", -apple-system, sans-serif;
}

/* ── Base ── */
body {
    background: var(--jw-bg) !important;
    color: var(--jw-text) !important;
    font-family: var(--jw-font-body) !important;
    font-size: 1.05rem;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
}

/* ── Force center everything ── */
.wp-site-blocks,
.wp-block-group,
.wp-block-template-part,
.wp-block-query,
.wp-block-post-template {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ── Site Header ── */
header, .wp-block-template-part:first-child {
    text-align: center;
    border-bottom: 1px solid var(--jw-border);
    padding: 2rem 1rem 1.5rem;
    margin-bottom: 2rem;
    max-width: 100% !important;
}

.wp-block-site-title,
.site-title,
header .wp-block-site-title a {
    font-family: var(--jw-font-display) !important;
    font-weight: 700 !important;
    font-size: 2.2rem !important;
    color: var(--jw-text) !important;
    letter-spacing: -0.02em;
    text-decoration: none !important;
}

.wp-block-site-tagline,
.site-description {
    font-family: var(--jw-font-ui) !important;
    color: var(--jw-text-muted) !important;
    font-size: 0.85rem !important;
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ── Navigation ── */
.wp-block-navigation,
.wp-block-navigation__container {
    justify-content: center !important;
}

.wp-block-navigation a, nav a {
    font-family: var(--jw-font-ui) !important;
    color: var(--jw-text-secondary) !important;
    font-size: 0.9rem !important;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}

.wp-block-navigation a:hover, nav a:hover {
    color: var(--jw-accent) !important;
}

/* ── Post Title (single) ── */
.wp-block-post-title,
.entry-title,
h1.wp-block-post-title {
    font-family: var(--jw-font-display) !important;
    font-size: 2.6rem !important;
    font-weight: 700;
    color: var(--jw-text) !important;
    line-height: 1.2;
    letter-spacing: -0.02em;
    max-width: 720px;
    margin: 2rem auto 0.75rem !important;
    text-align: center;
}

/* ── Author & Date ── */
.wp-block-post-author-name,
.wp-block-post-date,
.byline, .posted-on,
.wp-block-post-author-name a {
    font-family: var(--jw-font-ui) !important;
    color: var(--jw-text-muted) !important;
    font-size: 0.85rem !important;
    text-align: center;
    display: block;
    margin-bottom: 0.25rem;
}

.wp-block-post-author-name a {
    color: var(--jw-accent) !important;
    font-weight: 500;
}

/* ── Post Content (prose) ── */
.entry-content,
.wp-block-post-content {
    max-width: 680px;
    margin: 3rem auto;
    padding: 0 1.5rem;
    font-family: var(--jw-font-body) !important;
    font-size: 1.12rem;
    line-height: 1.85;
    color: var(--jw-text);
}

.entry-content p,
.wp-block-post-content p {
    margin-bottom: 1.5em;
}

/* ── Drop Cap — tight to text ── */
.entry-content p:first-of-type::first-letter {
    font-family: var(--jw-font-display);
    font-size: 3.2em;
    float: left;
    line-height: 1;
    margin-right: 0.08em;
    margin-top: 0.05em;
    margin-bottom: -0.1em;
    padding: 0;
    color: var(--jw-accent);
    font-weight: 700;
}

/* ── Scene break ── */
.entry-content hr,
.wp-block-separator {
    border: none;
    text-align: center;
    margin: 2.5rem auto;
    max-width: 100px;
}

.entry-content hr::before,
.wp-block-separator::before {
    content: "\2022  \2022  \2022";
    color: var(--jw-text-muted);
    font-size: 1rem;
    letter-spacing: 0.3em;
}

/* ── Tags ── */
.wp-block-post-terms a,
.tag-links a,
.cat-links a {
    font-family: var(--jw-font-ui) !important;
    background: var(--jw-bg);
    border: 1px solid var(--jw-border);
    color: var(--jw-text-secondary) !important;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 500;
    margin: 2px;
    display: inline-block;
    text-decoration: none !important;
    transition: all 0.2s;
}

.wp-block-post-terms a:hover,
.tag-links a:hover {
    background: var(--jw-accent);
    border-color: var(--jw-accent);
    color: white !important;
}

.wp-block-post-terms,
.tag-links,
.cat-links {
    text-align: center;
    margin: 2rem auto;
    max-width: 680px;
}

/* ── Post Cards (archive) ── */
.wp-block-post-template .wp-block-post,
article.post,
.wp-block-query .wp-block-post {
    background: var(--jw-surface);
    border-radius: var(--jw-radius);
    padding: 2rem 2.5rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--jw-shadow);
    border: 1px solid var(--jw-border);
    transition: box-shadow 0.3s, transform 0.3s;
}

.wp-block-post-template .wp-block-post:hover,
article.post:hover {
    box-shadow: var(--jw-shadow-hover);
    transform: translateY(-2px);
}

.wp-block-post-template .wp-block-post-title,
article.post .entry-title {
    font-size: 1.5rem !important;
    text-align: left;
    margin: 0 0 0.5rem !important;
}

.wp-block-post-template .wp-block-post-title a,
article.post .entry-title a {
    color: var(--jw-text) !important;
    text-decoration: none;
}

.wp-block-post-template .wp-block-post-title a:hover {
    color: var(--jw-accent) !important;
}

.wp-block-post-excerpt,
article.post .entry-summary {
    color: var(--jw-text-secondary);
    font-family: var(--jw-font-body);
    font-size: 0.95rem;
    line-height: 1.6;
}

/* ── Author Pages ── */
.author .page-title,
.archive-title {
    font-family: var(--jw-font-display) !important;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 0.5rem;
}

.author-bio,
.archive-description {
    font-family: var(--jw-font-ui) !important;
    text-align: center;
    color: var(--jw-text-secondary);
    max-width: 600px;
    margin: 0 auto 3rem;
    line-height: 1.6;
    font-size: 0.95rem;
}

/* ── Links ── */
a {
    color: var(--jw-accent) !important;
    text-decoration: none;
    transition: color 0.2s;
}

a:hover {
    color: var(--jw-accent-light) !important;
}

.entry-content a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: var(--jw-accent-light);
}

/* ── Footer ── */
footer,
.wp-block-template-part:last-child {
    border-top: 1px solid var(--jw-border);
    margin-top: 4rem !important;
    padding: 2rem 1rem;
    text-align: center;
    max-width: 100% !important;
}

footer p, footer a,
.wp-block-template-part:last-child p {
    font-family: var(--jw-font-ui) !important;
    color: var(--jw-text-muted) !important;
    font-size: 0.82rem !important;
}

/* ── Personality accents (subtle left border on cards) ── */
body.tag-jazzy-chill article { border-left: 3px solid #60a5fa; }
body.tag-jazzy-hype article { border-left: 3px solid #fbbf24; }
body.tag-jazzy-jojo article { border-left: 3px solid #f87171; }
body.tag-jazzy-pro article { border-left: 3px solid #9ca3af; }
body.tag-jazzy-muse article { border-left: 3px solid #c084fc; }
body.tag-jazzy-sexy article { border-left: 3px solid #f472b6; }
body.tag-jazzy-sage article { border-left: 3px solid #34d399; }
body.tag-jazzy-architect article { border-left: 3px solid #60a5fa; }
body.tag-jazzy-rebel article { border-left: 3px solid #ef4444; }
body.tag-jazzy-offcharts article { border-left: 3px solid #fb923c; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .wp-block-post-title, .entry-title, h1.wp-block-post-title {
        font-size: 1.8rem !important;
        padding: 0 1rem;
    }
    .entry-content, .wp-block-post-content {
        font-size: 1rem;
        padding: 0 1rem;
    }
    .entry-content p:first-of-type::first-letter {
        font-size: 2.5em;
    }
    .wp-block-post-template .wp-block-post,
    article.post {
        padding: 1.5rem;
    }
}

/* ── Print ── */
@media print {
    body { background: white !important; }
    .entry-content { max-width: 100%; }
    header, footer, nav, .wp-block-post-terms { display: none; }
}
