/*
Theme Name: CarManuals
Template: generatepress
Author: CarManuals
Description: Workshop spec-sheet child theme for CarManuals.net — car_manual CPT catalog, make/type landing pages, and manual detail pages.
Version: 1.0.0
*/

/* ===== Tokens ===== */
:root{
	--cm-ink:#16181d;
	--cm-ink-soft:#3a4048;
	--cm-steel:#6b7480;
	--cm-line:#dde1e6;
	--cm-surface:#f5f6f4;
	--cm-paper:#ffffff;
	--cm-accent:#d7182a;
	--cm-accent-ink:#a3111f;
	--cm-blueprint:#1f3a5f;
	--cm-font-display:"Saira Condensed",Impact,sans-serif;
	--cm-font-body:"Barlow",system-ui,sans-serif;
	--cm-font-mono:"JetBrains Mono",ui-monospace,monospace;
}

/* ===== Base identity ===== */
body{font-family:var(--cm-font-body);color:var(--cm-ink);}
h1,h2,h3,h4,h5,h6,.entry-title{font-family:var(--cm-font-display);font-weight:600;letter-spacing:.005em;}
a{color:var(--cm-accent-ink);}
a:hover{color:var(--cm-accent);}

.cm-eyebrow{font-family:var(--cm-font-mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cm-accent);}

/* ===== Buttons ===== */
.cm-btn{display:inline-block;font-family:var(--cm-font-display);font-weight:600;letter-spacing:.02em;text-align:center;padding:.7rem 1.2rem;border-radius:8px;background:var(--cm-accent);color:#fff;text-decoration:none;transition:filter .15s ease,transform .15s ease;}
.cm-btn:hover{filter:brightness(1.08);color:#fff;transform:translateY(-1px);}
.cm-btn--ghost{background:transparent;color:var(--cm-ink);border:1px solid var(--cm-line);}
.cm-btn--ghost:hover{border-color:var(--cm-ink);color:var(--cm-ink);filter:none;}
.cm-btn--lg{font-size:1.05rem;padding:.95rem 1.6rem;}

/* ===== Spec plate (signature) ===== */
.cm-plate{font-family:var(--cm-font-mono);border:1px solid var(--cm-line);border-left:3px solid var(--cm-accent);border-radius:8px;overflow:hidden;background:var(--cm-paper);}
.cm-plate__row{display:flex;gap:1rem;padding:.5rem .9rem;border-top:1px solid var(--cm-line);font-size:.82rem;}
.cm-plate__row:first-child{border-top:0;}
.cm-plate__k{flex:0 0 82px;color:var(--cm-steel);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;padding-top:.15rem;}
.cm-plate__v{color:var(--cm-ink);font-weight:500;}

/* ===== Archive / grid ===== */
.cm-wrap{max-width:1240px;margin:0 auto;padding:2.2rem 20px 3.5rem;}
.cm-head{margin:0 0 .3rem;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.08;text-transform:uppercase;}
.cm-sub{font-size:.86rem;color:var(--cm-steel);margin:0 0 1.5rem;max-width:64ch;}

.cm-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 2rem;}
.cm-filter a{display:inline-block;font-family:var(--cm-font-mono);font-size:.74rem;letter-spacing:.03em;padding:.34rem .7rem;border:1px solid var(--cm-line);border-radius:6px;text-decoration:none;color:var(--cm-ink-soft);background:var(--cm-paper);transition:all .14s ease;}
.cm-filter a:hover,.cm-filter a.is-active{background:var(--cm-ink);border-color:var(--cm-ink);color:#fff;}

.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:1.3rem;}
.cm-card{display:flex;flex-direction:column;background:var(--cm-paper);border:1px solid var(--cm-line);border-radius:12px;overflow:hidden;color:var(--cm-ink);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.cm-card *{color:inherit;}
.cm-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(22,24,29,.10);border-color:#c4c9d0;}
.cm-card__img{display:block;aspect-ratio:4/3;background:var(--cm-paper);padding:14px;}
.cm-card__img img{width:100%;height:100%;object-fit:contain;}
.cm-card__noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--cm-font-mono);font-size:.72rem;color:var(--cm-steel);background:var(--cm-surface);}
.cm-card__body{display:flex;flex-direction:column;gap:.4rem;padding:.85rem .95rem 1rem;flex:1;}
.cm-card__meta{font-family:var(--cm-font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--cm-steel);}
.cm-card__meta b{color:var(--cm-accent-ink);font-weight:600;}
.cm-card__title{font-family:var(--cm-font-display);font-weight:600;font-size:1.02rem;line-height:1.12;margin:0;}
.cm-card__title a{color:var(--cm-ink);text-decoration:none;}
.cm-card__title a:hover{color:var(--cm-accent);}
.cm-card__price{font-family:var(--cm-font-mono);font-weight:600;font-size:.95rem;}
.cm-card__spacer{flex:1;}
.cm-card .cm-btn{display:block;margin-top:.55rem;padding:.6rem .9rem;font-size:.86rem;}

.cm-empty{padding:3rem 0;color:var(--cm-steel);font-family:var(--cm-font-mono);}
.cm-pagination{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.4rem;}
.cm-pagination .page-numbers{display:inline-block;font-family:var(--cm-font-mono);font-size:.82rem;padding:.45rem .8rem;border:1px solid var(--cm-line);border-radius:7px;text-decoration:none;color:var(--cm-ink-soft);}
.cm-pagination .page-numbers.current{background:var(--cm-accent);border-color:var(--cm-accent);color:#fff;}

/* ===== Single manual ===== */
.cm-crumb{font-family:var(--cm-font-mono);font-size:.74rem;letter-spacing:.02em;color:var(--cm-steel);margin:0 0 1.4rem;}
.cm-crumb a{color:var(--cm-steel);text-decoration:none;}
.cm-crumb a:hover{color:var(--cm-accent);}
.cm-crumb span{color:var(--cm-line);margin:0 .4rem;}

.cm-single{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:2.4rem;align-items:start;}
.cm-single__media{border:1px solid var(--cm-line);border-radius:12px;background:var(--cm-paper);padding:22px;}
.cm-single__media img{width:100%;height:auto;object-fit:contain;display:block;}
.cm-single__title{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05;margin:.2rem 0 1rem;text-transform:uppercase;}
.cm-single__price{font-family:var(--cm-font-mono);font-weight:600;font-size:1.5rem;margin:1.2rem 0 .3rem;}
.cm-single__note{font-family:var(--cm-font-mono);font-size:.72rem;color:var(--cm-steel);margin:0 0 1rem;}
.cm-single__cta{margin:.4rem 0 1.6rem;}
.cm-single__desc{margin-top:2.6rem;max-width:70ch;line-height:1.65;}
.cm-single__desc h2{font-size:1.3rem;text-transform:uppercase;margin:0 0 .8rem;}

.cm-related{margin-top:3.4rem;}
.cm-related h2{font-size:1.35rem;text-transform:uppercase;margin:0 0 1.2rem;}

@media (max-width:820px){
	.cm-single{grid-template-columns:1fr;gap:1.4rem;}
}

/* ===== Accessibility floor ===== */
.cm-btn:focus-visible,.cm-filter a:focus-visible,.cm-card__title a:focus-visible{outline:2px solid var(--cm-blueprint);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
	.cm-card,.cm-btn{transition:none;}
	.cm-card:hover,.cm-btn:hover{transform:none;}
}
