
/*
Theme Name: JVL Nightfall
Theme URI: https://example.com/jvl-nightfall
Author: Joshua Van Leuven & ChatGPT
Author URI: https://example.com
Description: Minimal, performance‑first dark theme tailored for Joshua Van Leuven—black canvas, white type, blood‑red accents, mobile‑first, typography‑locked (Cormorant Garamond, Montserrat, Source Serif 4). Built for blogging, brand marketing, and digital product sales.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jvl-nightfall
Tags: dark, minimal, one-column, two-column, responsive, accessibility-ready, custom-logo, custom-menu, e-commerce
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Montserrat:wght@400;700&family=Source+Serif+4:wght@400;700&display=swap');

:root{
    --color-bg:#000;
    --color-text:#ffffff;
    --color-accent:#8b0000; /* blood-oxide */
    --font-display:'Cormorant Garamond', serif;
    --font-structure:'Montserrat', sans-serif;
    --font-body:'Source Serif 4', serif;

    --size-display:2.25rem; /* 36px */
    --size-h1:1.75rem;      /* 28px */
    --size-h2:1.35rem;      /* 22px */
    --size-h3:1.05rem;      /* 17px */
    --size-body:0.875rem;   /* 14px */
    --size-small:0.75rem;   /* 12px */

    --line-display:1.1;
    --line-body:1.6;
}

html{
    box-sizing:border-box;
    scroll-behavior:smooth;
}
*,*::before,*::after{box-sizing:inherit;}

body{
    margin:0;
    background:var(--color-bg);
    color:var(--color-text);
    font-family:var(--font-body);
    font-size:var(--size-body);
    line-height:var(--line-body);
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
    font-family:var(--font-structure);
    margin:0 0 0.5em 0;
    color:var(--color-text);
}
h1{font-size:var(--size-h1);line-height:var(--line-display);}
h2{font-size:var(--size-h2);}
h3{font-size:var(--size-h3);}

.display-title{
    font-family:var(--font-display);
    font-size:var(--size-display);
    line-height:var(--line-display);
}

a{
    color:var(--color-accent);
    text-decoration:none;
}
a:hover, a:focus{
    text-decoration:underline;
}

.container{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

header.site-header{
    padding:1.5rem 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.site-logo img{height:48px;width:auto;}

.menu-toggle{
    display:none;
}

/* nav */
nav.primary-menu ul{
    list-style:none;
    margin:0;padding:0;
    display:flex;
    gap:1.5rem;
    flex-wrap:wrap;
}
nav.primary-menu a{
    font-family:var(--font-structure);
    font-size:var(--size-body);
    color:var(--color-text);
}
nav.primary-menu a:hover{color:var(--color-accent);}

/* posts */
.post{
    margin-bottom:3rem;
}
.post-title{
    font-family:var(--font-display);
    font-size:var(--size-h1);
    margin:0 0 0.3em 0;
}
.post-meta{
    font-size:var(--size-small);
    opacity:0.7;
}

/* footer */
footer.site-footer{
    padding:2rem 0;
    border-top:1px solid #222;
    font-size:var(--size-small);
    text-align:center;
}

/* responsive */
@media(max-width:768px){
    .menu-toggle{display:block;background:none;border:1px solid var(--color-text);color:var(--color-text);padding:0.5rem 1rem;}
    nav.primary-menu{display:none;}
    nav.primary-menu.open{display:block;}
    nav.primary-menu ul{flex-direction:column;gap:0;}
    header.site-header{flex-direction:column;gap:1rem;}
}
