/* Global styles
   - Base resets + document-level defaults
   - Design tokens live in assets/css/tokens.css
*/

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  background: var(--wbs-bg);
  color: var(--wbs-text);
  font-family: var(--wbs-font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Shared CTA buttons (canonical styles are defined in Hero) */
.btn{
  padding:.78em 1.15em;
  border-radius: var(--wbs-radius-pill);
  font-weight:500;
  font-size:.92rem;
  text-decoration:none;
  border:1px solid transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  line-height:1;
  color:inherit;
}
.btn:active{ transform: translateY(1px); }

.btn-primary{
  background: var(--wbs-magenta-soft);
  color:#fff;
}

.btn-secondary{
  background: var(--wbs-bg);
  border:1px solid var(--wbs-magenta-soft);
  color:var(--wbs-magenta-soft);
}
.btn-secondary:hover{
  background:var(--wbs-magenta-soft-a06);
  border-color:var(--wbs-magenta-soft);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}

/* In-page anchors (for #form, #ablauf, #kontakt) — no visual impact */
.wbs-anchor{
  display:block;
  width:0;
  height:0;
  scroll-margin-top: calc(var(--wpbar, 0px) + var(--wbs-space-6));
}

/* Desktop: reserve scrollbar space (prevents layout shift when accordions open) */
@supports (scrollbar-gutter: stable){
  html{ scrollbar-gutter: stable; }
}
@supports not (scrollbar-gutter: stable){
  @media (hover:hover) and (pointer:fine){
    html{ overflow-y: scroll; }
  }
}
@media (hover:hover) and (pointer:fine){
  html{ overflow-y: scroll; }
}

/* Adaptive translation notice (shown on EN/UA/RU pages) */
.translationNote{
  width: var(--wbs-wrap);
  margin: 14px auto 0;
  display: flex;
  justify-content: center;
}
.translationNote__badge{
  display: inline-flex;
  align-items: center;
  gap: .55em;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--wbs-magenta-a06);
  border: 1px solid var(--wbs-magenta-a18);
  color: var(--wbs-magenta);
  font-size: .82rem;
  line-height: 1.25;
  text-align: center;
}
.translationNote__badge::before{
  content: "";
  width: .48em;
  height: .48em;
  border-radius: var(--wbs-radius-pill);
  background: var(--wbs-magenta);
  opacity: .9;
  flex: 0 0 auto;
}
