/* ai.ch — AI in Switzerland page extras. Builds on css/style.css tokens. */

/* intro block: why Switzerland punches above its weight */
.sw-intro {
  background: var(--card); border: 1px solid var(--card-edge);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-s); padding: 1.1rem 1.25rem;
  margin: 1.3rem 0 .4rem;
}
.sw-intro h2 { font-size: 1.15rem; margin: 0 0 .35rem; }
.sw-intro p { color: var(--text-dim); font-size: .95rem; margin: 0; }
.sw-intro strong { color: var(--text); }

/* card grid */
.sw-list { grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); }

/* group accent: colored left edge + matching category badge */
/* «Kartenblatt» (2026-08-30): the entry is a register row. The category colour
   survives as a small square in the margin instead of a card rail. */
/* the category colour lives on the badge at the right of the title line */
.reg__row.sw-item .reg__t > .g-cat {
  color: var(--sw-c, var(--accent));
  background: color-mix(in srgb, var(--sw-c, var(--accent)) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--sw-c, var(--accent)) 40%, transparent);
}
.sw-item[data-g="research"] { --sw-c: #5b8db8; }
.sw-item[data-g="bigtech"]  { --sw-c: #8cbbe0; }
.sw-item[data-g="models"]   { --sw-c: #f87171; }
.sw-item[data-g="policy"]   { --sw-c: #34d399; }
.sw-item[data-g="people"]   { --sw-c: #b08ad6; }
.sw-item[data-g="startups"] { --sw-c: #fbbf24; }
.sw-item[data-g="services"] { --sw-c: #f472b6; }
.sw-item .g-cat {
  color: var(--sw-c);
  background: color-mix(in srgb, var(--sw-c) 14%, transparent);
}

/* place row with pin + canton badge */
.sw-place {
  display: flex; align-items: center; gap: .45rem; flex-wrap: wrap;
  font-size: .8rem; color: var(--text-dim); margin: 0 0 .5rem;
}
.sw-place svg, .reg__m svg { width: 13px; height: 13px; flex: none; opacity: .7; }
/* place link in the margin: reads as text, reveals itself on hover (centres the map) */
.sw-place-link { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.sw-place-link:hover, .sw-place-link:focus-visible { color: var(--accent-2); border-bottom-color: currentColor; }
.sw-canton {
  font-size: .68rem; font-weight: 700; letter-spacing: .04em;
  color: var(--text);
  background: color-mix(in srgb, var(--sw-c, var(--accent)) 12%, var(--bg-soft));
  border: 1px solid color-mix(in srgb, var(--sw-c, var(--accent)) 45%, var(--card-edge));
  padding: .1em .5em; border-radius: 7px; white-space: nowrap;
}

.sw-item .sw-note { font-size: .9rem; margin-bottom: .55rem; }
.sw-link {
  font-size: .8rem; font-weight: 600; color: var(--accent-2);
  text-decoration: none;
}
.sw-link:hover { text-decoration: underline; }

/* footer note */
.sw-state { color: var(--text-dim); font-size: .85rem; margin: 0 0 2rem; }
