/* Toolkit cards: self-contained styles for the card modules embedded on WordPress pages or anywhere else.
   Namespaced under .cv-cards so nothing leaks into the host page. Tokens mirror the toolkit landings (recharge set);
   the site-wide branding pass can retune them here in one place. Session 2026-09-29 toolkit-cards. */
.cv-cards { --cvc-ink:#182634; --cvc-hero:#0f2a40; --cvc-accent:#1f5f8b; --cvc-accent-2:#2c7a4b; --cvc-gold:#d9a441; --cvc-muted:#5b6b7a; --cvc-line:#d8e0e6; --cvc-card:#fff;
  --cvc-ui:"Segoe UI", system-ui, Arial, sans-serif; --cvc-serif:Georgia, "Times New Roman", serif;
  /* variables the landing thumbnails reference (water-year bands, tiers, face value), so the SVGs render outside the toolkits */
  --wy-W:#2c6fae; --wy-AN:#8dbbe0; --wy-BN:#ece0bd; --wy-D:#e3b25f; --wy-C:#b06a24; --tier1:#1f5f8b; --tier2:#7fb0d6; --tier3:#c9d6e2; --face:#b8412e; --hero:#0f2a40; --accent:#1f5f8b; --accent-2:#2c7a4b; --gold:#d9a441;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap:22px; margin:0 0 32px; color:var(--cvc-ink); font-family:var(--cvc-serif); line-height:1.5; box-sizing:border-box; }
.cv-cards *, .cv-cards *::before, .cv-cards *::after { box-sizing:border-box; }
.cv-cards[data-cv-columns="2"] { grid-template-columns:repeat(auto-fill, minmax(min(100%, 380px), 1fr)); }
.cv-cards[data-cv-columns="4"] { grid-template-columns:repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.cv-cards-heading { font-family:var(--cvc-ui); font-size:1.25rem; font-weight:700; color:var(--cvc-ink); margin:0 0 14px; }
.cv-card { background:var(--cvc-card); border:1px solid var(--cvc-line); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 1px 2px rgba(20,40,60,.04); min-width:0; }
.cv-card .cv-shot { display:block; text-decoration:none; aspect-ratio:16/9; background:#e9eef2 center/cover no-repeat; border-bottom:1px solid var(--cvc-line); position:relative; overflow:hidden; }
.cv-card .cv-shot svg, .cv-card .cv-shot img { width:100%; height:100%; display:block; object-fit:cover; }
.cv-card .cv-shot:hover, .cv-card .cv-shot:focus-visible { outline:3px solid var(--cvc-accent); outline-offset:-3px; }
.cv-card .cv-lock { position:absolute; top:12px; right:12px; font-family:var(--cvc-ui); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; background:var(--cvc-accent-2); color:#fff; padding:4px 8px; border-radius:999px; }
.cv-card .cv-lock.cv-ok { background:var(--cvc-accent); }
.cv-card .cv-dev { position:absolute; top:12px; left:12px; font-family:var(--cvc-ui); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; background:var(--cvc-gold); color:var(--cvc-ink); font-weight:700; padding:4px 8px; border-radius:999px; box-shadow:0 1px 2px rgba(0,0,0,.25); }
.cv-card .cv-okt { color:var(--cvc-accent); }
.cv-card .cv-req { text-transform:none; letter-spacing:0; color:var(--cvc-accent-2); font-weight:600; }
.cv-card .cv-body { padding:18px 22px 20px; display:flex; flex-direction:column; flex:1; }
.cv-card .cv-step { font-family:var(--cvc-ui); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cvc-accent); margin:0 0 6px; }
.cv-card .cv-title { font-family:var(--cvc-serif); font-size:1.3rem; font-weight:700; margin:0 0 8px; line-height:1.25; color:var(--cvc-ink); }
.cv-card .cv-use { font-family:var(--cvc-ui); font-size:.9rem; color:var(--cvc-muted); margin:0 0 16px; flex:1; }
.cv-card .cv-btn { align-self:flex-start; font-family:var(--cvc-ui); display:inline-block; background:var(--cvc-accent); color:#fff !important; text-decoration:none !important; padding:9px 16px; border-radius:6px; font-size:.93rem; }
.cv-card .cv-btn:hover { background:#174a6d; }
.cv-card .cv-tk { font-family:var(--cvc-ui); font-size:.78rem; color:var(--cvc-muted); margin-top:10px; }
.cv-card .cv-tk a { color:var(--cvc-accent); }
.cv-cards-empty { font-family:var(--cvc-ui); color:var(--cvc-muted); font-size:.9rem; }
@media print { .cv-card .cv-btn { border:1px solid var(--cvc-accent); color:var(--cvc-accent) !important; background:none; } }
