.shs-banner {
  --shs-background: oklch(0.97 0.035 185);
  --shs-foreground: oklch(0.3 0.07 225);
  --shs-primary: oklch(0.45 0.09 225);
  --shs-primary-foreground: oklch(0.985 0.01 85);
  --shs-border: oklch(0.83 0.06 185);
  --shs-highlight: oklch(0.8 0.13 85);
  box-sizing: border-box;
  width: 100%;
  margin: 12px 0 16px;
  padding: 20px;
  color: var(--shs-foreground);
  background: var(--shs-background);
  border: 1px solid var(--shs-border);
  border-top: 3px solid var(--shs-highlight);
  border-radius: 8px;
  font-family: inherit;
  font-size: 15px;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: left;
}
.shs-banner *, .shs-banner *::before, .shs-banner *::after { box-sizing: border-box; }
.shs-banner .shs-kop { margin: 0 0 8px; color: var(--shs-foreground); font-size: 21px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.shs-viering { display: inline-block; transform-origin: center; animation: shs-vieren 1.5s ease-in-out .3s 2; }
.shs-banner .shs-bewijs { margin: 0 0 4px; font-size: 15px; color: var(--shs-foreground); }
.shs-banner .shs-uitnodiging { margin: 0 0 16px; font-size: 15px; color: var(--shs-foreground); }
.shs-banner a.shs-boek { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; max-width: 100%; padding: 11px 16px; border: 1px solid var(--shs-primary); border-radius: 8px; background: var(--shs-primary); color: var(--shs-primary-foreground); font: inherit; font-weight: 700; text-align: center; text-decoration: none; line-height: 1.4; white-space: normal; }
.shs-banner a.shs-boek:hover { text-decoration: underline; }
.shs-banner a.shs-boek:focus-visible { outline: 3px solid var(--shs-primary); outline-offset: 3px; }
li.shs-banner-item { list-style: none; }
@keyframes shs-vieren { 0%, 100% { transform: rotate(0); } 35% { transform: rotate(-9deg) scale(1.12); } 65% { transform: rotate(7deg) scale(1.08); } }
@media (max-width: 380px) { .shs-banner { padding: 16px; } .shs-banner .shs-kop { font-size: 20px; } .shs-banner a.shs-boek { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .shs-viering { animation: none; } }