/* deadline-widget — self-contained styles for the embeddable iframe.
   No main.css, no design-token import. Brand hex values copied verbatim from
   css/grant-page.css :root so the widget matches the site without a dependency.
   Keep this under ~6KB. */

:root {
  --w-cream: #FAF7F2;
  --w-paper: #ffffff;
  --w-ink: #1C1917;
  --w-ink-2: #57534E;
  --w-ink-3: #6B6560;
  --w-border: #E7E5E4;
  --w-forest: #2d6a4f;
  --w-forest-deep: #1B4332;
  --w-sienna: #C4532B;
  /* Darker sienna for the urgent chip text: #A3401F on the chip bg clears 4.5:1
     (WCAG AA) where the lighter #C4532B did not. */
  --w-sienna-strong: #993A1B;
  --w-amber: #b45309;
  --w-amber-bg: #fef3c7;
  --w-sienna-bg: #f9e3da;
  --w-neutral-bg: #f1efe9;
  --w-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--w-body);
  color: var(--w-ink);
  background: var(--w-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.gcw {
  border: 1px solid var(--w-border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--w-paper);
  max-width: 100%;
}

.gcw__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
  background: var(--w-forest-deep);
  color: var(--w-cream);
}

.gcw__head-title {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin: 0;
  line-height: 1.25;
}

.gcw__head-tag {
  font-size: 0.66rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.82;
  white-space: nowrap;
}

.gcw__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gcw__item { margin: 0; }

.gcw__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 14px;
  border-top: 1px solid var(--w-border);
  text-decoration: none;
  color: inherit;
  transition: background 0.12s ease;
}
.gcw__item:first-child .gcw__row { border-top: 0; }
.gcw__row:hover,
.gcw__row:focus-visible { background: var(--w-cream); outline: none; }
.gcw__row:focus-visible { box-shadow: inset 0 0 0 2px var(--w-forest); }

.gcw__main { min-width: 0; flex: 1; }

.gcw__title {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--w-ink);
  line-height: 1.3;
  margin: 0 0 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gcw__row:hover .gcw__title { color: var(--w-forest); }

.gcw__amount {
  font-size: 0.72rem;
  color: var(--w-ink-3);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gcw__chip {
  flex-shrink: 0;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--w-neutral-bg);
  color: var(--w-ink-2);
  letter-spacing: 0.01em;
}
.gcw__chip--soon { background: var(--w-sienna-bg); color: var(--w-sienna-strong); }
.gcw__chip--month { background: var(--w-amber-bg); color: var(--w-amber); }

.gcw__empty {
  padding: 20px 16px;
  text-align: center;
  font-size: 0.82rem;
  color: var(--w-ink-2);
  line-height: 1.5;
}
.gcw__empty a { color: var(--w-forest); font-weight: 600; }

.gcw__foot {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-top: 1px solid var(--w-border);
  background: var(--w-cream);
}
.gcw__foot a {
  font-size: 0.72rem;
  color: var(--w-ink-2);
  text-decoration: none;
  line-height: 1.4;
  text-align: center;
}
.gcw__foot a:hover { color: var(--w-forest); }
.gcw__foot strong { color: var(--w-forest-deep); font-weight: 700; }

.gcw__loading {
  padding: 20px 16px;
  text-align: center;
  font-size: 0.8rem;
  color: var(--w-ink-3);
}

/* Narrow partner columns (300px sidebars) */
@media (max-width: 360px) {
  .gcw__head { padding: 10px 12px; }
  .gcw__row { padding: 10px 12px; }
  .gcw__title { font-size: 0.82rem; }
}
