/* Windy Git brand accent. Layered on top of Gitea's theme rather than
   replacing it, so upstream theme fixes keep arriving. */
:root {
  --color-primary: #0ea5e9;
  --color-primary-dark-1: #0284c7;
  --color-primary-dark-2: #0369a1;
  --color-primary-light-1: #38bdf8;
  --color-primary-light-2: #7dd3fc;
}
.wg-hero { max-width: 780px; margin: 4rem auto 2rem; padding: 0 1.5rem; text-align: center; }
.wg-hero h1 { font-size: 2.6rem; margin: 1.2rem 0 .4rem; letter-spacing: -.02em; }
.wg-hero .wg-sub { font-size: 1.15rem; opacity: .78; margin-bottom: 2.2rem; }
.wg-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
           max-width: 900px; margin: 0 auto 2.5rem; padding: 0 1.5rem; text-align: left; }
.wg-card { border: 1px solid var(--color-secondary); border-radius: 8px; padding: 1.1rem 1.2rem; }
.wg-card h3 { margin: 0 0 .35rem; font-size: 1.02rem; }
.wg-card p { margin: 0; opacity: .74; font-size: .9rem; line-height: 1.5; }
.wg-cta { margin-bottom: 3rem; }

/* Logo swap via CSS.
   Cloudflare cached the stock /assets/img/logo.svg for 6h and no available API
   token can purge. Pointing at a NEW filename sidesteps the stale object
   without touching Gitea's own templates — the supported customisation surface,
   per D-2 (membrane, not merge). */
img[src$="/assets/img/logo.svg"] {
  content: url("/assets/img/wg-mark.svg");
}
