/*
Theme Name: C.W. Haldon Author Site
Text Domain: c-w-haldon-author-site
Description: Author website for C.W. Haldon fiction and C. Wesley Perkins nonfiction.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/
:root{--ink:#202321;--muted:#626863;--paper:#f6f3eb;--card:#fffdf8;--line:#d9d7cf;--wine:#7a2e3a;--wine-dark:#5d1f2b;--sage:#6f7f71;--sage-light:#e4e9e2;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.55}a{color:inherit}
.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:20;background:rgba(246,243,235,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--max);margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{text-decoration:none}.brand-name{display:block;font:700 1.02rem/1.1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.brand-sub{display:block;margin-top:3px;font:400 .7rem/1.2 Arial,sans-serif;color:var(--muted);letter-spacing:.07em}
.site-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.site-nav a{text-decoration:none;font:700 .76rem/1 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.site-nav a:hover{color:var(--wine)}
.hero{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fbfaf5 0%,#f3efe5 58%,#e7ece4 100%)}.hero-grid{max-width:var(--max);margin:auto;padding:58px 24px 54px;display:grid;grid-template-columns:1.55fr .65fr;gap:46px;align-items:center}
.eyebrow{font:700 .7rem/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--wine);margin:0 0 12px}.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:.98;letter-spacing:-.035em;margin:0 0 18px;max-width:820px}.hero-copy{font-size:1.12rem;max-width:720px;color:#3c413e;margin:0 0 24px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-block;padding:11px 17px;border:1px solid var(--wine);text-decoration:none;font:700 .76rem/1 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.button.primary{background:var(--wine);color:white}.button.primary:hover{background:var(--wine-dark)}.button.secondary:hover{background:#fff}
.author-card{background:var(--card);border:1px solid var(--line);padding:26px;box-shadow:0 10px 28px rgba(45,43,36,.07)}.author-card .initials{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font:700 1.2rem Arial,sans-serif;letter-spacing:.08em;margin-bottom:17px}.author-card h2{margin:0 0 7px;font-size:1.4rem}.author-card p{margin:0;color:var(--muted);font-size:.96rem}
.section{max-width:var(--max);margin:auto;padding:50px 24px}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:24px}.section h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1;margin:0}.section-intro{max-width:590px;color:var(--muted);font-size:.98rem;margin:0}
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.book-card{background:var(--card);border:1px solid var(--line);padding:20px;min-height:205px;display:flex;flex-direction:column;justify-content:space-between;transition:.15s ease}.book-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(45,43,36,.06)}.book-kicker{font:700 .66rem Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--wine)}.book-card h3{font-size:1.28rem;line-height:1.15;margin:9px 0}.book-card p{margin:0;color:var(--muted);font-size:.92rem}.book-meta{margin-top:18px;font:700 .68rem Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--sage)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--card);border:1px solid var(--line);padding:28px}.panel h3{font-size:1.7rem;margin:0 0 10px}.panel p{color:var(--muted);margin:0 0 14px}.label{font:700 .66rem Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--wine)}
.catalog-page{max-width:var(--max);margin:auto;padding:48px 24px 64px}.catalog-page>header{margin-bottom:30px}.catalog-page h1{font-size:clamp(2.5rem,4vw,3.8rem);margin:0 0 12px;line-height:1}.catalog-intro{color:var(--muted);max-width:760px;margin:0}.catalog-group{margin-top:38px}.catalog-group h2{font-size:1.9rem;margin:0 0 16px}.catalog-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.catalog-item{background:var(--card);border:1px solid var(--line);padding:16px 18px}.catalog-item h3{font-size:1.08rem;margin:0 0 4px}.catalog-item p{margin:0;color:var(--muted);font-size:.9rem}
.contact-band{background:var(--wine);color:white}.contact-inner{max-width:var(--max);margin:auto;padding:44px 24px;display:flex;align-items:center;justify-content:space-between;gap:28px}.contact-inner h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0}.contact-inner p{margin:7px 0 0;color:#f0dde1;max-width:640px}.contact-band .button{border-color:white;color:white}.contact-band .button:hover{background:white;color:var(--wine)}
.site-footer{border-top:1px solid var(--line);background:#efece3}.footer-inner{max-width:var(--max);margin:auto;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:400 .78rem Arial,sans-serif}
@media(max-width:900px){.hero-grid,.split{grid-template-columns:1fr}.book-grid{grid-template-columns:1fr 1fr}.author-card{max-width:520px}.section-head{display:block}.section-intro{margin-top:12px}}
@media(max-width:620px){.header-inner{align-items:flex-start;flex-direction:column}.site-nav{gap:13px}.hero-grid{padding-top:44px}.book-grid,.catalog-list{grid-template-columns:1fr}.contact-inner,.footer-inner{align-items:flex-start;flex-direction:column}}

.book-card.with-cover{padding:0;overflow:hidden}.book-card.with-cover .cover-wrap{background:#e9e6dd;aspect-ratio:5/8;overflow:hidden;border-bottom:1px solid var(--line)}.book-card.with-cover .cover-wrap img{width:100%;height:100%;object-fit:cover;display:block}.book-card.with-cover .book-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}.book-card.with-cover .book-meta{margin-top:auto;padding-top:16px}
.catalog-cover-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.catalog-book{background:var(--card);border:1px solid var(--line);overflow:hidden}.catalog-book .cover{aspect-ratio:5/8;background:linear-gradient(135deg,#ece9df,#dde4dc);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);font:700 .72rem/1.35 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.catalog-book .cover img{width:100%;height:100%;object-fit:cover;display:block}.catalog-book .info{padding:14px 15px 16px}.catalog-book h3{font-size:1rem;line-height:1.2;margin:0 0 4px}.catalog-book p{font-size:.85rem;color:var(--muted);margin:0}.placeholder-mark{display:block;font-size:1.5rem;letter-spacing:.12em;margin-bottom:8px;color:var(--wine)}
@media(max-width:900px){.catalog-cover-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.catalog-cover-grid{grid-template-columns:repeat(2,1fr)}}

.amazon-link{display:inline-block;margin-top:10px;padding:9px 12px;border:1px solid var(--wine);text-decoration:none;font:700 .7rem/1 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--wine)}.amazon-link:hover{background:var(--wine);color:#fff}

.catalog-cover-grid{align-items:stretch}
.catalog-book{display:flex;flex-direction:column;min-height:100%}
.catalog-book .info{display:flex;flex-direction:column;flex:1}
.catalog-book .info .amazon-link{margin-top:auto;align-self:flex-start}
.catalog-book .cover{min-height:0}
.about-page,.contact-page{max-width:920px;margin:auto;padding:52px 24px 68px}
.about-page h1,.contact-page h1{font-size:clamp(2.5rem,4vw,3.8rem);line-height:1;margin:0 0 16px}
.lead{font-size:1.12rem;color:#3d423f;max-width:760px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.about-block,.contact-block{background:var(--card);border:1px solid var(--line);padding:28px}
.about-block h2,.contact-block h2{margin:0 0 10px;font-size:1.6rem}
.about-block p,.contact-block p{margin:0 0 14px;color:var(--muted)}
.contact-options{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}
.contact-note{margin-top:24px;padding:18px 20px;border-left:3px solid var(--wine);background:#f1ede4;color:var(--muted)}
@media(max-width:700px){.about-grid,.contact-options{grid-template-columns:1fr}}



