/* Fokus-Ringe nur bei Tastaturbedienung */
:where(a,button,input,select,textarea):focus-visible {
  outline:2px solid color-mix(in srgb, var(--gptlogofarbe) 70%, black 10%);
  outline-offset:2px; border-radius:var(--radius-sm);
}

/* dezente Hover-Politur */
@media (hover:hover) and (pointer:fine) {
  a#button:hover,
  button.start:hover, button.start2:hover, button.gpt:hover,
  button.b50:hover, button.b1:hover, button.senden:hover, button.text:hover,
  button.kalender:hover, button.news:hover, button.spende:hover,
  button.termin:hover, button.linkstudio:hover {
    filter:brightness(1.03);
  }
}

/* Bewegungen reduzieren */
@media (prefers-reduced-motion:reduce) {
  * {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* Helferklassen */
.visually-hidden {
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px;
}
.center-block { margin-left:auto!important; margin-right:auto!important; }
.maxw-30 { max-width:30rem!important; }
.maxw-40 { max-width:40rem!important; }
.maxw-50 { max-width:50rem!important; }

/* Druck */
@media print {
  html, body, header, footer, nav { background:#fff !important; box-shadow:none !important; }
  a[href]::after { content:" (" attr(href) ")"; font-size:90%; color:#444; }
  #navlink, #cross-rounded-borders { display:none !important; }
}

/* ==== Utilities ==== */
.muted { color: var(--muted, #666); }
.small { font-size: 0.9rem; }

.start-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 24px 0 32px;
}

.start-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 110px;
  padding: 20px 22px;
  text-decoration: none;
  border-radius: 18px;
  background: linear-gradient(135deg, #5b3b87 0%, #7a5aa6 100%);
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(91, 59, 135, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.start-card:hover,
.start-card:focus {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(91, 59, 135, 0.24);
  filter: brightness(1.03);
  outline: none;
}

.start-card:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.75);
  outline-offset: 2px;
}

.start-title {
  display: block;
  font-size: 1.18rem;
  font-weight: 700;
  line-height: 1.3;
}

.start-subtitle {
  display: block;
  margin-top: 6px;
  font-size: 0.97rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
}
