/*
Theme Name: BlogVista Child
Template: blogvista
Description: Child theme for ginabrillante.com - all customizations live here so parent updates never overwrite them.
Version: 3.5
*/

/* Hero panel behind the page title: Gina's ocean image lives HERE, not as the
   whole-page background (2026-07-06 - first attempt used body background and
   drowned the content). Position favors the sky band so the dark title reads. */
body .site-main .page-header {
    background: url('/wp-content/uploads/2026/07/gina-background.jpg') center 30% / cover no-repeat;
    min-height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Cards: uniform frame, no distortion - any source ratio gets center-cropped */
body .site-main .page-content .blogvista-blog-list .blog-list-img img {
    aspect-ratio: 3 / 2;
    height: auto;
    object-fit: cover;
}

/* Single articles: hide the theme's featured-image banner. The same image
   already appears inline in post content (featured images were backfilled
   from each post's first content image), so the banner doubled it. */
.single .blog-detail-img {
    display: none;
}

/* Hide the theme's Subscribe button - it links to '#' (no newsletter exists).
   Remove this rule if Gina ever sets up a real subscription destination. */
.blogvista-header-subscribe-btn {
    display: none;
}

/* Banner subtitle: the parenthetical under the Greek renders smaller and softer */
.page-header .entry-title .title-subtext {
    display: block;
    font-size: 0.4em;
    font-weight: 400;
    letter-spacing: 0.05em;
    opacity: 0.75;
    margin-top: 0.4em;
}

/* Article pages: reading-first typography and calmer inline images (Gina, 2026-07-06) */
.single .blog-detail-description {
    font-size: 1.2rem;
    /* Gina's spacing spec (2026-07-07): lines read at 1.5; hitting Enter
       (a new paragraph) steps exactly 2.0 (1.5 line + 0.5em margin). */
    line-height: 1.5;
}
.single .blog-detail-description p {
    margin-top: 0;
    margin-bottom: 0.75em;  /* Gina: Enter step a touch bigger (was 0.5em) */
}
.single .blog-detail-description img {
    max-width: 640px;
    max-height: 640px;   /* caps portrait images too - width alone lets tall shots run huge */
    width: auto;
    height: auto;
    display: block;
    margin: 1.5em auto;
}

/* Article body text: black, not the theme's gray */
.single .blog-detail-description,
.single .blog-detail-description p,
.single .blog-detail-description li {
    color: #000;
}

/* 'poem' style - Gina's per-piece spacing control (2026-07-07).
   Apply by adding the class 'poem' to any block or group in the editor
   (Advanced -> Additional CSS class). Single-spaces the lines and collapses
   paragraph gaps so pasted stanzas read as verse, not essay paragraphs. */
.single .blog-detail-description .poem,
.single .blog-detail-description .poem p {
    line-height: 1.35;
    margin-top: 0;
    margin-bottom: 0.25em;
}

/* The block editor's Verse block: same treatment, keep the site's font */
.single .blog-detail-description pre.wp-block-verse {
    font-family: inherit;
    font-size: inherit;
    line-height: 1.35;
    white-space: pre-wrap;
    background: none;
    padding: 0;
}

/* Typewriter voice: article body in Courier New (Gina, 2026-07-07) */
.single .blog-detail-description {
    font-family: 'Courier New', Courier, monospace;
}

/* Titles in Courier New too - covers article titles, card titles, and the banner */
.entry-title {
    font-family: 'Courier New', Courier, monospace;
}

/* Single-article titles: the theme renders them as a bare <h1> (no class),
   so .entry-title never matched. Scope to the article container instead. */
.single .blogvista-single-blog-content-part h1,
.single .blog-detail-content h1 {
    font-family: 'Courier New', Courier, monospace;
}

/* Card titles: wrap whole words only - parent theme sets word-break: break-all,
   which splits words mid-letter (e.g. 'The Usual S / uspects') */
body .site-main .page-content .blog-list-content .entry-title {
    word-break: normal;
    overflow-wrap: break-word;
}

/* Article byline (author / date / categories) in Courier too */
.single .blog-date.blog-meta-options,
.single .blog-date.blog-meta-options a {
    font-family: 'Courier New', Courier, monospace;
}

/* Front-page cards: full Courier - excerpt text, byline, and Read More link
   (card titles already covered by the .entry-title rule) */
.blogvista-blog-list .blog-list-content,
.blogvista-blog-list .blog-list-content a,
.blogvista-blog-list .blog-date,
.blogvista-blog-list .blog-date a {
    font-family: 'Courier New', Courier, monospace;
}

/* Site header goes Courier too: site title, tagline, and navigation.
   With this, the typewriter voice covers the whole site. */
#site-header,
#site-header a,
#site-header .site-title-option,
#site-header .site-description {
    font-family: 'Courier New', Courier, monospace;
}

/* Total Courier: the theme routes fonts through CSS variables (with !important
   in places, e.g. the nav menu). Redefining the variables converts everything
   at the source - stronger and simpler than fighting individual selectors. */
html:root {
    --theme-font-family: 'Courier New', Courier, monospace;
    --heading1-font-family: 'Courier New', Courier, monospace;
    --heading2-font-family: 'Courier New', Courier, monospace;
    --heading3-font-family: 'Courier New', Courier, monospace;
    --heading4-font-family: 'Courier New', Courier, monospace;
    --heading5-font-family: 'Courier New', Courier, monospace;
    --heading6-font-family: 'Courier New', Courier, monospace;
}

/* Menu: explicit and important - the last sans holdout, settled by force */
#site-header .menu li a,
.site-navigation ul li a {
    font-family: 'Courier New', Courier, monospace !important;
}

/* Pages (Bio etc.): same reading treatment as articles - the earlier rules
   were scoped to .single (posts) and pages have their own wrapper */
.page .entry-content {
    font-family: 'Courier New', Courier, monospace;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #000;
}
.page .entry-content p {
    margin-top: 0;
    margin-bottom: 0.75em;
}
.page .entry-content img {
    max-width: 640px;
    max-height: 640px;
    width: auto;
    height: auto;
    display: block;
    margin: 1.5em auto;
}

/* More air between the top navigation items */
#site-header ul.menu > li {
    margin-left: 42px !important;
}
#site-header ul.menu > li:first-child {
    margin-left: 0 !important;
}

/* Hide the author box at the bottom of articles - single-author site,
   the byline under the title already says who wrote it */
body .site-main .page-content .blogvista-author-box {
    display: none !important;
}
