/*
Theme Name: Jointwork
Theme URI: https://example.com/jointwork
Author: Your Name
Author URI: https://example.com
Description: A warm, hands-on woodworking theme built around build-alongs and a signature step-by-step project card. A crafted serif headline face (Fraunces) with a clean Work Sans UI, segmented category blocks for projects, techniques, tools and finishing, per-category colour accents, light and dark modes, self-hosted fonts and one-click demo content with original artwork.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jointwork
Tags: blog, news, magazine, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, full-width-template
*/

:root {
  --bg: #f5f0e6;
  --surface: #ffffff;
  --surface-2: #ece3d2;
  --text: #2e2419;
  --text-2: #52463a;
  --muted: #8a7d6d;
  --line: #e2d8c5;
  --accent: #c0592c;
  --accent-ink: #ffffff;
  --accent-hover: #2e2419;
  --accent-hover-ink: #ffffff;

  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-ui: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --w-display: 600;
  --lh-display: 1.08;
  --track-display: -0.01em;

  --radius: 10px;
  --radius-ui: 7px;
  --footer-bg: #2a211a;
  --footer-text: #f1e8d8;
  --footer-muted: #a99c87;
  --footer-line: rgba(255,255,255,.12);
  --overlay: linear-gradient(180deg, rgba(30,24,18,0) 32%, rgba(30,24,18,.9) 100%);
}
:root[data-theme="dark"] {
  --bg: #1c1712;
  --surface: #241d16;
  --surface-2: #2e2620;
  --text: #f0e7d7;
  --text-2: #ccbfab;
  --muted: #998c78;
  --line: #372e25;
  --accent: #e07a44;
  --accent-ink: #1c1712;
  --accent-hover: #f0e7d7;
  --accent-hover-ink: #1c1712;
  --footer-bg: #140f0b;
}

body { font-size: 17px; }
.meta, .cat, .primary-menu a, .mobile-menu a, .section-link, .widget-title, .btn, .header-cta { font-family: var(--font-ui); }
.brand__name { font-family: var(--font-display); font-weight: 600; font-size: 1.5rem; letter-spacing: -.01em; }
h1, h2, h3, h4, .card__title, .mini__title, .entry-title, .section-title { font-family: var(--font-display); font-weight: 600; letter-spacing: -.01em; }
.entry-content { font-family: var(--font-body); }

.site-header { border-bottom: 1px solid var(--line); }
.primary-menu > li > a { font-weight: 600; font-size: .9rem; }
.header-cta { background: var(--accent); color: #fff; border-radius: 100px; }
.cat { color: hsl(var(--cat-hue,22) 62% 42%); font-family: var(--font-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .72rem; }
[data-theme="dark"] .cat { color: hsl(var(--cat-hue,22) 68% 66%); }
.card-overlay .cat { color: #fff; }
.section-title { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.section-head { border-bottom: 2px solid var(--accent); padding-bottom: .6rem; align-items: center; }

/* ---------- Hero ---------- */
.jw-hero__grid { display: grid; gap: clamp(20px, 3vw, 32px); }
@media (min-width: 900px) { .jw-hero__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: stretch; } }
.jw-hero__lead { position: relative; display: flex; }
.jw-hero__lead .card-overlay { width: 100%; }
.jw-hero__lead .media { min-height: 360px; }
.jw-hero__lead .card__title { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.jw-hero__side { display: grid; gap: 16px; align-content: start; }
.jw-hero__side .card-row { grid-template-columns: 116px 1fr; gap: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; }
.jw-hero__side .card-row .media { aspect-ratio: 1; border-radius: var(--radius-ui); }

/* ---------- Start here ---------- */
.jw-start { background: var(--surface-2); padding-block: clamp(32px, 4vw, 52px); }

/* ---------- Signature: step-by-step build ---------- */
.jw-build { padding-block: clamp(36px, 5vw, 60px); }
.jw-build__kicker { font-family: var(--font-ui); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 700; color: var(--accent); margin-bottom: .5rem; }
.jw-build__grid { display: grid; gap: clamp(26px, 4vw, 48px); align-items: start; }
@media (min-width: 900px) { .jw-build__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.jw-build__title { font-size: clamp(1.7rem, 3.2vw, 2.6rem); line-height: 1.06; margin-bottom: 1rem; }
.jw-build__main .media { margin-bottom: 1rem; }
.jw-build__excerpt { font-size: 1.08rem; color: var(--text-2); margin-bottom: 1.1rem; max-width: 52ch; }
.jw-steps { list-style: none; margin: 0; padding: 0; counter-reset: none; border-top: 1px solid var(--line); }
.jw-step { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.05rem 0; border-bottom: 1px solid var(--line); }
.jw-step__num { font-family: var(--font-display); font-weight: 600; font-size: 1.6rem; line-height: 1; color: #fff; background: var(--accent); width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; }
.jw-step__title { font-size: 1.12rem; margin-bottom: .2rem; }
.jw-step__desc { font-family: var(--font-body); color: var(--text-2); font-size: .98rem; line-height: 1.55; }

/* step block on single posts */
.jw-steps-wrap { margin: 2.2rem 0; padding: 1.6rem; background: var(--surface-2); border-radius: var(--radius); }
.jw-steps__head { font-size: 1.3rem; margin-bottom: .4rem; }

/* ---------- Tools band ---------- */
.jw-tools { background: var(--surface-2); padding-block: clamp(32px, 4vw, 52px); }

/* ---------- Latest ---------- */
.jw-latest .card .media { aspect-ratio: 16/10; }

/* ---------- Signup ---------- */
.jw-signup .signup--band { background: var(--accent); color: #fff; border-radius: var(--radius); padding: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; }
.jw-signup .signup--band .signup__title { color: #fff; font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.jw-signup .signup--band .signup__desc { color: rgba(255,255,255,.9); }
.jw-signup .signup--band .signup__form { min-width: 320px; }
.jw-signup .signup--band .signup__button { background: #2e2419; color: #fff; }
.jw-signup .signup--band .signup__note { color: rgba(255,255,255,.8); }
@media (max-width: 760px) { .jw-signup .signup--band { grid-template-columns: 1fr; } .jw-signup .signup--band .signup__form { min-width: 0; } }

.entry-content { font-size: 1.1rem; line-height: 1.72; }
.entry-content blockquote { border-left: 3px solid var(--accent); font-family: var(--font-display); font-size: 1.2rem; font-style: italic; }
