/* Consistent public-facing controls. WordPress admin and plugin controls excluded. */
:root {
  --ms-ui-radius: 10px;
  --ms-ui-border: rgba(190, 211, 224, .3);
  --ms-ui-surface: linear-gradient(135deg, rgba(49, 77, 94, .55), rgba(15, 38, 53, .78));
  --ms-ui-text: #edf3f7;
}
body :is(.site-header, #main-content, .site-footer) .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  box-sizing: border-box;
  min-height: 48px;
  max-width: 100%;
  padding: .8rem 1.4rem !important;
  border: 1px solid rgba(255, 202, 162, .35) !important;
  border-radius: var(--ms-ui-radius) !important;
  background: #a94308 !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .005em !important;
  text-align: center;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: break-word;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 5px 14px rgba(0,0,0,.10) !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  transform: none !important;
}
body :is(.site-header, #main-content, .site-footer) .button:hover {
  background: #923906 !important;
  border-color: rgba(255, 210, 177, .65) !important;
  transform: none !important;
}
/* Non-contact actions remain quieter than project enquiries. */
body #main-content a.button:not([href$="#kontakt"]),
body #main-content .button--outline,
body #main-content :is(.ms-service-links, .ms-services-project-links, .ms-reference-services__links, .related-links) > a,
body #main-content :is(a.ms-guide-glass-button, .guide-card > a, .practice-focus__grid article > a, .hero-actions > a:not(.button)),
body .site-footer .footer-vcard-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: .65rem 1rem !important;
  border: 1px solid var(--ms-ui-border) !important;
  border-radius: var(--ms-ui-radius) !important;
  background: var(--ms-ui-surface) !important;
  color: var(--ms-ui-text) !important;
  font-size: .9375rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-align: center;
  white-space: normal !important;
  overflow-wrap: break-word;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  transform: none !important;
  transition: border-color .18s ease, background-color .18s ease !important;
}
body #main-content :is(.ms-service-links, .ms-services-project-links, .ms-reference-services__links, .related-links) > a:hover,
body #main-content :is(a.ms-guide-glass-button, .guide-card > a, .practice-focus__grid article > a, .hero-actions > a:not(.button)):hover,
body #main-content a.button:not([href$="#kontakt"]):hover,
body .site-footer .footer-vcard-link:hover {
  border-color: rgba(216,232,241,.65) !important;
  background: #294758 !important;
}
body #main-content :is(.ms-service-links, .ms-services-project-links, .ms-reference-services__links) {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: stretch;
}
body #main-content .related-links > a { display: flex; margin-top: .65rem; }
body #main-content :is(.guide-filter__button, .service-jump-links a) {
  border-radius: var(--ms-ui-radius) !important;
  border: 1px solid var(--ms-ui-border) !important;
  background: rgba(23, 48, 64, .8) !important;
  color: #e4edf3 !important;
  min-height: 44px;
  box-sizing: border-box;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
body #main-content .guide-filter__button:is(.is-active, [aria-pressed="true"]) {
  border-color: #dfa277 !important;
  background: #35434a !important;
  color: #fff !important;
  font-weight: 650 !important;
  box-shadow: inset 0 -2px 0 #dfa277 !important;
}
body #main-content :is(.article-content p, .entry-content, .guide-sources, .form-check, .contact-list) a:not(.button),
body .site-footer :is(.footer-legal-links, .footer-navigation, .footer-contact) a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
  text-decoration-color: rgba(188,211,226,.5);
}
body :is(.site-header, #main-content, .site-footer, .msb-mobile-contact) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #f4bd91 !important;
  outline-offset: 4px !important;
}
body #main-content .contact-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
  border-radius: var(--ms-ui-radius) !important;
  border: 1px solid rgba(180,204,220,.55) !important;
  background: #102b3a !important;
  color: #edf3f7 !important;
  padding: .8rem .9rem;
  box-sizing: border-box;
  max-width: 100%;
}
body #main-content .contact-form :is(input, textarea)::placeholder { color: #b8c8d2; opacity: 1; }
body #main-content .contact-form label { font-size: .9375rem; line-height: 1.6; }
body #main-content .hero-actions { gap: .85rem; }
@media (max-width: 600px) {
  body #main-content :is(.ms-service-links, .ms-services-project-links, .ms-reference-services__links) > a { flex: 1 1 145px; }
  body #main-content .hero-actions > a { max-width: 100%; }
  body #main-content .contact-form .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.site-header, #main-content, .site-footer) :is(.button, a, button) { transition: none !important; }
}

/* 3.6.100: discreet framed footer links instead of underlines. */
body .site-footer .footer-navigation .menu {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px !important;
}
body .site-footer .footer-navigation .menu li { margin: 0 !important; padding: 0; }
body .site-footer :is(.footer-navigation, .footer-contact, .footer-legal-links) a {
  display: inline-flex !important;
  align-items: center;
  box-sizing: border-box;
  min-height: 44px !important;
  max-width: 100%;
  padding: 9px 14px !important;
  border: 1px solid rgba(183, 207, 221, .25) !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, rgba(54, 82, 99, .24), rgba(15, 40, 55, .42)) !important;
  color: #e3edf3 !important;
  font-size: .9375rem !important;
  font-weight: 500;
  line-height: 1.5 !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition: background-color .18s ease, border-color .18s ease;
}
body .site-footer .footer-navigation a { width: 100%; }
body .site-footer .footer-contact .contact-list { gap: 10px !important; }
body .site-footer .footer-contact a { justify-self: start; overflow-wrap: anywhere; }
body .site-footer .footer-legal-links { display: flex; flex-wrap: wrap; gap: 8px; }
body .site-footer :is(.footer-navigation, .footer-contact, .footer-legal-links) a:hover {
  background: rgba(51, 80, 98, .6) !important;
  border-color: rgba(205, 224, 235, .55) !important;
  text-decoration: none !important;
}
@media (prefers-reduced-motion: reduce) {
  body .site-footer :is(.footer-navigation, .footer-contact, .footer-legal-links) a { transition: none !important; }
}

/* 3.6.101: entire contact row is actionable, including icon and label. */
body :is(#main-content .contact-details, .site-footer .footer-contact) .contact-list > li.ms-contact-action-row {
  display: block !important;
  min-width: 0;
  padding: 0;
  margin: 0;
}
body :is(#main-content .contact-details, .site-footer .footer-contact) a.ms-contact-action {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) 14px;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 72px !important;
  box-sizing: border-box;
  padding: 13px 15px !important;
  border: 1px solid rgba(183, 208, 223, .25) !important;
  border-radius: 12px !important;
  background: linear-gradient(120deg, rgba(58, 87, 105, .26), rgba(14, 39, 54, .6)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
  color: #edf3f7 !important;
  text-decoration: none !important;
  white-space: normal !important;
  text-align: left !important;
  transition: border-color .18s ease, background-color .18s ease;
}
body :is(#main-content .contact-details, .site-footer .footer-contact) a.ms-contact-action:hover {
  border-color: rgba(226, 185, 153, .65) !important;
  background: #213e50 !important;
}
body :is(#main-content .contact-details, .site-footer .footer-contact) .ms-contact-action .contact-icon {
  width: 24px;
  height: 24px;
  color: #e4ad84;
  margin: 0;
}
body :is(#main-content .contact-details, .site-footer .footer-contact) .ms-contact-action__copy { display: grid; gap: 3px; min-width: 0; }
body :is(#main-content .contact-details, .site-footer .footer-contact) .ms-contact-action__label {
  color: #b9cbd7;
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.4;
}
body :is(#main-content .contact-details, .site-footer .footer-contact) .ms-contact-action__value {
  color: #edf3f7;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
body :is(#main-content .contact-details, .site-footer .footer-contact) .ms-contact-action__arrow { color: #b9cbd7; font-size: 1rem; }
body #main-content .contact-details { align-self: start; }
body #main-content .contact-details h2 { font-size: clamp(1.625rem, 2.4vw, 2rem); line-height: 1.3; }
body #main-content .contact-details > p { font-size: 1rem; line-height: 1.75; color: #d2dfe7; }
body #main-content .contact-details .contact-list { gap: 12px; margin-top: 24px; }
body #main-content .contact-details > small { font-size: .875rem; line-height: 1.65; color: #b9cbd7; }
body .site-footer .footer-navigation a { justify-content: space-between; padding-inline: 14px !important; font-weight: 400; }
body .site-footer .footer-navigation a::after { content: '›'; color: #a9c0ce; margin-left: 12px; }
@media (max-width: 380px) {
  body :is(#main-content .contact-details, .site-footer .footer-contact) a.ms-contact-action { grid-template-columns: 24px minmax(0, 1fr); padding: 12px !important; gap: 10px; }
  body :is(#main-content .contact-details, .site-footer .footer-contact) .ms-contact-action__arrow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(#main-content .contact-details, .site-footer .footer-contact) a.ms-contact-action { transition: none !important; }
}


/* 3.6.133 – Referenz-Leistungslinks wirklich mittig, auch gegen Interface-Bundle */
body #main-content.site-main .ms-reference-services .container > h2 {
  text-align:center!important;
}
body #main-content.site-main .ms-reference-services nav.ms-reference-services__links {
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
}
body #main-content.site-main .ms-reference-services nav.ms-reference-services__links > a {
  flex:0 1 auto!important;
  width:auto!important;
  text-align:center!important;
  justify-content:center!important;
}
/* Kontaktbereich: Text ausnahmslos weiß, Symbole orange.
   Höhere Spezifität als premium- und home-bundle-Regeln. */
body #main-content.site-main #kontakt .contact-details ul.contact-list > li.ms-contact-identity-card > span,
body #main-content.site-main #kontakt .contact-details ul.contact-list > li.ms-contact-identity-card > span.contact-address,
body #main-content.site-main #kontakt .contact-details ul.contact-list > li.ms-contact-action-row > a.ms-contact-action,
body #main-content.site-main #kontakt .contact-details ul.contact-list > li.ms-contact-action-row > a.ms-contact-action .ms-contact-action__copy,
body #main-content.site-main #kontakt .contact-details ul.contact-list > li.ms-contact-action-row > a.ms-contact-action .ms-contact-action__value {
  color:#f5f8fa!important;
  -webkit-text-fill-color:#f5f8fa!important;
}
body #main-content.site-main #kontakt .contact-details ul.contact-list .contact-icon {
  color:#ff8739!important;
  -webkit-text-fill-color:#ff8739!important;
}

