/* ══════════════════════════════════════════════════════════════════
   draftingmillwork.com — site-own components. Loaded AFTER base.css.
   Everything derives from --accent (set in each page's head).
   ══════════════════════════════════════════════════════════════════ */

/* ── Line icons from assets/icons.svg ── */
.ic { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; display: block; }
.card .icon .ic { color: var(--accent-ink); }
.tidbit .dot .ic { width: 18px; height: 18px; color: var(--accent-ink); }
@media (max-width: 560px) { .site-header .brand .muted { display: none; } }

/* ── Hero: her lines, one per row ── */
.hero-lines { text-align: left; max-width: 720px; margin: 0 auto; }
.hero-lines h1 { font-size: clamp(2rem, 4.6vw, 3.3rem); line-height: 1.12; margin: 18px 0 26px; }
.hero-lines .verse { font-family: var(--serif); font-size: clamp(1.15rem, 2.2vw, 1.5rem); color: var(--gray-700); line-height: 1.5; max-width: 620px; }
.hero-lines .verse + .verse { margin-top: 1.1em; }
.hero-lines .verse em { color: var(--accent-ink); font-style: italic; }
.hero-lines .now { font-family: var(--font); font-weight: 800; font-size: clamp(1.4rem, 3vw, 2rem); color: var(--ink); letter-spacing: -0.03em; margin-top: 1.4em; }
.hero-lines .btn-row { margin-top: 34px; }

/* ── The drawing (cabinet elevation) ── */
.drawing { background: #fff; border: 1px solid var(--gray-150); border-radius: var(--radius-lg); padding: clamp(16px, 2.5vw, 28px); box-shadow: var(--shadow-sm); }
.drawing svg { width: 100%; height: auto; display: block; color: var(--accent-ink); }
.drawing .ink { stroke: var(--ink); }
.drawing .dim { stroke: var(--accent); }
.drawing .thin { stroke-width: 0.6; opacity: .55; }
.drawing text { font: 600 4.2px var(--mono); fill: var(--gray-500); letter-spacing: .05em; }
.drawing .title { font: 700 5px var(--font); fill: var(--ink); letter-spacing: .12em; }
.drawing figcaption { margin-top: 14px; font-size: 0.8rem; color: var(--gray-400); text-align: center; }

/* ── Receipt block ── */
.receipt { background: #fff; border: 1px solid var(--gray-150); border-left: 3px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; padding: 20px 24px; box-shadow: var(--shadow-xs); }
.receipt .q { font-family: var(--serif); font-size: 1.15rem; color: var(--ink); line-height: 1.45; }
.receipt .src { margin-top: 10px; font-size: 0.78rem; color: var(--gray-400); }

/* ── Site directory grid ── */
.sites { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.site { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: #fff; border: 1px solid var(--gray-150);
  border-radius: var(--radius); text-decoration: none; box-shadow: var(--shadow-xs); transition: border-color .2s, transform .2s var(--ease); }
.site:hover { border-color: var(--accent-line); transform: translateY(-2px); }
.site .fav { flex-shrink: 0; width: 36px; height: 36px; border-radius: 9px; background: var(--accent-wash); color: var(--accent-ink);
  display: grid; place-items: center; font-weight: 800; font-size: 0.95rem; }
.site .name { font-weight: 600; color: var(--ink); font-size: 0.92rem; }
.site .desc { font-size: 0.78rem; color: var(--gray-500); line-height: 1.35; }
