/*
Theme Name: Chrissy Woody Editorial
Theme URI: https://chrissywoody.com/
Author: Chrissy Woody
Description: A lightweight, accessible editorial theme for chrissywoody.com.
Version: 1.0.5
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: chrissywoody-editorial
*/

@font-face { font-family:'Libre Bodoni'; font-style:normal; font-weight:700; font-display:swap; src:url('assets/fonts/libre-bodoni-700.ttf') format('truetype'); }
@font-face { font-family:'Caveat'; font-style:normal; font-weight:500; font-display:swap; src:url('assets/fonts/caveat-500.ttf') format('truetype'); }
:root { --cw-paper:#f7f3eb; --cw-surface:#fffdf8; --cw-ink:#20211e; --cw-navy:#17324d; --cw-slate:#647e9b; --cw-mist:#b9c9d8; --cw-terra:#b96f54; --cw-rule:rgba(23,50,77,.22); --cw-serif:'Libre Bodoni',Georgia,'Times New Roman',serif; --cw-sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --cw-max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--cw-ink); font:16px/1.65 var(--cw-sans); }
a { color:inherit; text-underline-offset:.18em; }
a:hover { color:var(--cw-navy); }
img { display:block; max-width:100%; height:auto; }
button,input,textarea { font:inherit; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.screen-reader-text:focus { z-index:100000; top:8px; left:8px; width:auto; height:auto; clip:auto; padding:.5rem .75rem; background:var(--cw-navy); color:#fff; }
.cw-shell { width:min(calc(100% - 40px),var(--cw-max)); margin-inline:auto; }
.cw-site-header { position:sticky; top:0; z-index:20; border-top:3px solid var(--cw-navy); border-bottom:1px solid var(--cw-rule); background:rgba(255,253,248,.96); backdrop-filter:blur(8px); }
.cw-header-inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cw-brand { color:var(--cw-ink); font:700 1.2rem/.86 var(--cw-serif); letter-spacing:-2px; text-decoration:none; text-transform:uppercase; }
.cw-brand__typed { display:block; min-width:11ch; white-space:pre-line; }
.cw-brand.is-typing .cw-brand__typed::after { content:'|'; color:var(--cw-navy); margin-left:2px; animation:cw-blink .8s steps(1) infinite; }
@keyframes cw-blink { 50% { opacity:0; } }
.cw-menu { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin:0; padding:0; list-style:none; font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.cw-menu a { position:relative; display:inline-block; padding:.45rem .55rem; color:var(--cw-ink); text-decoration:none; transition:background-color .2s,color .2s; }
.cw-menu a::after { position:absolute; top:50%; left:.45rem; width:0; height:2px; background:var(--cw-navy); content:''; transition:width .24s ease; }
.cw-menu a:hover,.cw-menu a:focus,.cw-menu .current-menu-item>a { background:var(--cw-slate); color:#fff; text-decoration:none; }
.cw-menu a:hover::after,.cw-menu a:focus::after { width:calc(100% - .9rem); }
.cw-main { padding-block:56px 80px; }
.cw-kicker { margin:0 0 12px; color:var(--cw-terra); font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:var(--cw-serif); font-weight:700; letter-spacing:-1px; line-height:1.08; }
h1 a,h2 a,h3 a { color:inherit; text-decoration:none; }
h1 a:hover,h2 a:hover,h3 a:hover { color:var(--cw-navy); text-decoration:none; }
h1 { font-size:clamp(2.5rem,5vw,5rem); }
h2 { font-size:clamp(1.9rem,3vw,3.3rem); }
h3 { font-size:1.45rem; }
.cw-button { display:inline-block; border:0; border-radius:4px; padding:.7rem 1rem; background:var(--cw-navy); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.cw-button:hover,.cw-button:focus { background:#264e73; color:#fff; }
.cw-text-link { font-size:.76rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.cw-home-hero { position:relative; display:grid; grid-template-columns:1.22fr .72fr; align-items:center; gap:clamp(34px,7vw,100px); padding:clamp(25px,5vw,75px) 6vw 52px 12vw; border:1px solid var(--cw-rule); border-radius:8px; background:var(--cw-surface); overflow:hidden; }
.cw-home-hero__copy { position:relative; z-index:1; max-width:650px; }
.cw-home-hero__copy h1 { margin-bottom:24px; font-size:clamp(2.6rem,4.4vw,4.3rem); }
.cw-hero-leaf { position:absolute; bottom:-14px; left:22px; width:112px; height:auto; color:var(--cw-slate); opacity:.72; }
.cw-home-hero__excerpt { max-width:44ch; }
.cw-review-meta { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; color:#4f5658; font-size:.78rem; }
.cw-stars { color:var(--cw-terra); letter-spacing:.12em; }
.cw-cover { overflow:hidden; border-radius:6px; background:var(--cw-mist); }
.cw-cover img { width:100%; aspect-ratio:3/4; object-fit:cover; }
.cw-cover--placeholder { display:grid; min-height:390px; place-items:center; padding:24px; color:var(--cw-navy); font:1.4rem/1.2 var(--cw-serif); text-align:center; }
.cw-now { display:grid; grid-template-columns:repeat(3,1fr); margin-top:48px; border-top:1px solid var(--cw-rule); }
.cw-now__item { display:flex; gap:16px; min-width:0; padding:25px 18px; border-right:1px solid var(--cw-rule); }
.cw-now__item:first-child { padding-left:0; }
.cw-now__item:last-child { border-right:0; }
.cw-now__thumb { width:54px; height:76px; flex:0 0 auto; overflow:hidden; background:var(--cw-mist); }
.cw-now__thumb img { width:100%; height:100%; object-fit:cover; }
.cw-now__item p { margin:0; font-size:.76rem; line-height:1.45; }
.cw-now__label { color:var(--cw-slate); font-size:.62rem!important; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cw-section { margin-top:82px; }
.cw-section-head { display:flex; justify-content:space-between; gap:20px; align-items:baseline; margin-bottom:24px; border-bottom:1px solid var(--cw-rule); padding-bottom:14px; }
.cw-list { border-top:1px solid var(--cw-rule); }
.cw-listing { display:grid; grid-template-columns:70px 92px minmax(0,1fr) auto; gap:22px; align-items:stretch; padding:20px 0; border-bottom:1px solid var(--cw-rule); }
.cw-listing__number { font:1.7rem var(--cw-serif); color:var(--cw-navy); }
.cw-listing__cover { width:72px; min-height:100%; overflow:hidden; background:var(--cw-mist); }
.cw-listing__cover img { width:100%; height:100%; object-fit:cover; }
.cw-listing h2 { font-size:1.5rem; }
.cw-listing p { margin:.2rem 0 0; max-width:70ch; font-size:.84rem; }
.cw-listing__meta { margin:.35rem 0 0; color:#8893a0; font-size:.68rem!important; line-height:1.35; }
.cw-listing__excerpt { margin:.45rem 0 0!important; }
.cw-article { display:grid; grid-template-columns:minmax(0,720px) minmax(220px,310px); gap:clamp(36px,7vw,110px); align-items:start; }
.cw-article__header { margin-bottom:42px; }
.cw-article__header h1 { margin-bottom:20px; }
.cw-prose { max-width:68ch; }
.cw-prose > * { max-width:100%; }
.cw-prose p { margin-block:0 1.35em; }
.cw-prose h2,.cw-prose h3 { margin:1.7em 0 .6em; }
.cw-prose blockquote { margin:2em 0; padding:.2em 0 .2em 1.25em; border:0; border-left:2px solid var(--cw-slate); color:var(--cw-navy); font:500 1.7rem/1.25 'Caveat',cursive; }
.cw-prose ul,.cw-prose ol { padding-left:1.4em; }
.cw-article__aside { position:sticky; top:115px; }
.cw-book-details { margin-top:16px; border-top:1px solid var(--cw-rule); font-size:.72rem; }
.cw-book-details p { margin:0; padding:8px 0; border-bottom:1px solid var(--cw-rule); }
.cw-page { max-width:800px; }
.cw-page__title { margin-bottom:36px; }
.cw-site-footer { padding-top:58px; background:var(--cw-navy); color:#fff; }
.cw-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:45px; }
.cw-site-footer .cw-brand { color:#fff; }
.cw-site-footer h2 { margin-bottom:14px; font:700 .68rem var(--cw-sans); letter-spacing:.12em; text-transform:uppercase; }
.cw-site-footer ul { margin:0; padding:0; list-style:none; }
.cw-site-footer .cw-menu { display:block; font-size:.8rem; }
.cw-site-footer .cw-menu li { margin:.38em 0; }
.cw-site-footer li { margin:.38em 0; font-size:.8rem; }
.cw-site-footer a { color:#fff; }
.cw-footer-bottom { border-top:1px solid rgba(255,255,255,.3); padding:16px 0; font-size:.7rem; color:#dbe5ee; }
.cw-pagination { margin-top:36px; }
.cw-pagination .nav-links { display:flex; gap:8px; }
.cw-pagination a,.cw-pagination .current { padding:.45em .7em; border:1px solid var(--cw-rule); text-decoration:none; }
.cw-pagination .current { background:var(--cw-navy); color:#fff; }
@media (max-width:760px) { .cw-shell { width:min(calc(100% - 28px),var(--cw-max)); } .cw-header-inner { min-height:74px; gap:8px; } .cw-menu { justify-content:flex-end; gap:0; font-size:.59rem; letter-spacing:.08em; } .cw-menu a { padding:.4rem .35rem; } .cw-article { grid-template-columns:1fr; } .category-book-club .cw-article { display:grid; grid-template-columns:110px minmax(0,1fr); gap:18px; align-items:start; } .category-book-club .cw-article > div:first-child { display:contents; } .category-book-club .cw-article__header { order:2; margin:0; } .category-book-club .cw-article__aside { order:1; grid-column:1; grid-row:1; max-width:none; } .category-book-club .cw-article__aside .cw-cover,.category-book-club .cw-article__aside .cw-cover img { aspect-ratio:3/4; } .category-book-club .cw-book-details { font-size:.61rem; } .category-book-club .cw-book-details p { padding:5px 0; } .category-book-club .cw-prose { order:3; grid-column:1/-1; } .cw-home-hero { grid-template-columns:110px minmax(0,1fr); gap:16px; padding:26px 20px; align-items:stretch; } .cw-home-hero__copy { order:2; } .cw-home-hero__copy h1 { font-size:clamp(1.8rem,7vw,2.45rem); } .cw-home-hero__excerpt,.cw-home-hero .cw-review-meta { display:none; } .cw-hero-leaf { display:none; } .cw-home-hero__media { order:1; width:110px; max-width:none; min-height:100%; } .cw-home-hero__media .cw-cover,.cw-home-hero__media .cw-cover img { height:100%; aspect-ratio:auto; } .cw-home-hero__media .cw-cover img { object-fit:cover; } .cw-now { grid-template-columns:1fr; } .cw-now__item,.cw-now__item:first-child { padding:18px 0; border-right:0; border-bottom:1px solid var(--cw-rule); } .cw-listing { grid-template-columns:36px 64px minmax(0,1fr); gap:12px; } .cw-listing__cover { width:58px; } .cw-listing .cw-text-link { grid-column:3; } .cw-article__aside { position:static; max-width:280px; } .cw-footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; } }
@media (max-width:460px) { .cw-menu { font-size:.53rem; letter-spacing:.04em; } .cw-footer-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .cw-brand.is-typing .cw-brand__typed::after { display:none; } }
