/**
 * Badenair visual polish — same layouts, quieter surfaces, clearer type.
 * Loaded after ba-ui-theme.css. Brand orange + navy only.
 */

/* —— Type hierarchy —— */
body {
  font-family: var(--baden-font-body) !important;
  line-height: 1.55 !important;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.site-branding .main-title,
.site-branding .main-title a,
.main-title,
.main-title a,
.entry-title,
.page-header h1,
h1.entry-title {
  font-family: var(--baden-font-brand) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
}

h2, h3 {
  font-family: var(--baden-font-brand) !important;
  letter-spacing: -0.02em;
  font-weight: 700 !important;
}

/* —— Header chrome —— */
.site-header .inside-header {
  gap: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.main-navigation .main-nav > ul > li > a {
  font-weight: 550;
  letter-spacing: 0.01em;
  border-radius: var(--baden-radius-sm);
}

.main-navigation .main-nav > ul > li:not(.current-menu-item) > a:hover {
  background: var(--baden-orange-soft) !important;
  color: var(--baden-orange) !important;
}

/* —— Language switcher (dark + light) —— */
.gtranslate_wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 3px !important;
  margin-left: 6px !important;
  background: var(--baden-nav-control) !important;
  border: 1px solid var(--baden-border) !important;
  border-radius: var(--baden-radius) !important;
  box-shadow: none !important;
}

.gtranslate_wrapper a.glink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border-radius: var(--baden-radius-sm) !important;
  background: transparent !important;
  transform: none !important;
  transition: background-color 0.15s ease !important;
}

.gtranslate_wrapper a.glink:hover,
.gtranslate_wrapper a.glink:focus-visible {
  background: var(--baden-orange-soft) !important;
  transform: none !important;
  outline: none !important;
}

.gtranslate_wrapper a.glink.gt-current-lang {
  background: var(--baden-nav-icon) !important;
}

.gtranslate_wrapper a.glink.gt-current-lang img {
  opacity: 1;
}

.gtranslate_wrapper img {
  display: block !important;
  width: 20px !important;
  height: auto !important;
  margin: 0 !important;
}

/* Profile Builder hides ALL navigation for guests via CSS — restore on public pages */
body.wppb-private-website-hide-menus.page-id-7 .main-navigation,
body.wppb-private-website-hide-menus.page-id-14 .main-navigation,
body.wppb-private-website-hide-menus.page-id-16 .main-navigation,
body.wppb-private-website-hide-menus.page-id-17 .main-navigation,
body.wppb-private-website-hide-menus.page-id-18 .main-navigation,
body.wppb-private-website-hide-menus.page-id-7 #site-navigation,
body.wppb-private-website-hide-menus.page-id-14 #site-navigation,
body.wppb-private-website-hide-menus.page-id-16 #site-navigation,
body.wppb-private-website-hide-menus.page-id-17 #site-navigation,
body.wppb-private-website-hide-menus.page-id-18 #site-navigation,
body.wppb-private-website-hide-menus.page-id-7 .mobile-menu-control-wrapper,
body.wppb-private-website-hide-menus.page-id-16 .mobile-menu-control-wrapper,
body.wppb-private-website-hide-menus.page-id-17 .mobile-menu-control-wrapper,
body.wppb-private-website-hide-menus.page-id-18 .mobile-menu-control-wrapper {
  display: block !important;
}

/* Guests on public pages: keep brand + lang + auth, hide ops destinations */
body:not(.logged-in).page-id-7 .main-nav > ul > li:not(.menu-item-login):not(.menu-item-register):not(.menu-item-gtranslate):not(.onyx-menu-item),
body:not(.logged-in).page-id-16 .main-nav > ul > li:not(.menu-item-login):not(.menu-item-register):not(.menu-item-gtranslate):not(.onyx-menu-item),
body:not(.logged-in).page-id-17 .main-nav > ul > li:not(.menu-item-login):not(.menu-item-register):not(.menu-item-gtranslate):not(.onyx-menu-item),
body:not(.logged-in).page-id-18 .main-nav > ul > li:not(.menu-item-login):not(.menu-item-register):not(.menu-item-gtranslate):not(.onyx-menu-item) {
  display: none !important;
}

/* Inline flag switcher injected as menu item */
.menu-item-gtranslate .gtranslate_wrapper,
li.menu-item-gtranslate > div {
  position: static !important;
}

/* Ensure gtranslate menu item stays visible when present */
.menu-item-gtranslate,
.main-nav > ul > li.menu-item-gtranslate {
  display: inline-flex !important;
  align-items: center !important;
}

/* —— Auth forms (Anmelden / Registrieren / Reset) —— */
body.page-id-16 .site-content,
body.page-id-17 .site-content,
body.page-id-18 .site-content {
  color-scheme: dark;
}

body.page-id-16 .entry-title,
body.page-id-17 .entry-title,
body.page-id-18 .entry-title {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  margin-bottom: 0.55em !important;
}

.wppb-user-forms,
.wppb-login-form,
.wppb-register-user,
.wppb-recover-password {
  background: var(--baden-card) !important;
  border: 1px solid var(--baden-border) !important;
  border-radius: var(--baden-radius-lg) !important;
  box-shadow: none !important;
  padding: var(--baden-space-5) !important;
}

.wppb-user-forms label,
.wppb-login-form label,
.wppb-form-field > label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 6px !important;
  color: var(--baden-text-secondary) !important;
  font-size: 0.92rem !important;
  font-weight: 560 !important;
  letter-spacing: 0.01em;
}

.wppb-user-forms input[type="text"],
.wppb-user-forms input[type="email"],
.wppb-user-forms input[type="password"],
.wppb-user-forms input[type="url"],
.wppb-login-form input[type="text"],
.wppb-login-form input[type="password"],
.wppb-form-field input[type="text"],
.wppb-form-field input[type="email"],
.wppb-form-field input[type="password"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 0 var(--baden-space-4) !important;
  padding: 12px 14px !important;
  background: var(--baden-input) !important;
  border: 1px solid var(--baden-border) !important;
  border-radius: var(--baden-radius) !important;
  color: var(--baden-text) !important;
  box-shadow: none !important;
}

.wppb-user-forms input:focus,
.wppb-login-form input:focus,
.wppb-form-field input:focus {
  outline: none !important;
  border-color: var(--baden-orange) !important;
  box-shadow: var(--baden-focus) !important;
}

.wppb-user-forms .login-submit input[type="submit"],
.wppb-user-forms input[type="submit"],
.wppb-login-form input[type="submit"],
.wppb-form-field input[type="submit"],
.button.wppb-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 4px !important;
  padding: 12px 16px !important;
  background: var(--baden-orange) !important;
  border: 0 !important;
  border-radius: var(--baden-radius) !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  box-shadow: none !important;
  text-transform: none !important;
}

.wppb-user-forms .login-submit input[type="submit"]:hover,
.wppb-user-forms input[type="submit"]:hover,
.wppb-login-form input[type="submit"]:hover {
  background: var(--baden-orange-hover) !important;
}

.wppb-form-field.wppb-remember-me,
.login-remember {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: var(--baden-space-4) !important;
}

.wppb-form-field.wppb-remember-me label,
.login-remember label {
  margin: 0 !important;
  width: auto !important;
}

.wppb-login-form .login-register,
.wppb-login-wrap .wppb-login-links,
.wppb-user-forms .login-register {
  margin-top: var(--baden-space-4) !important;
  color: var(--baden-text-muted) !important;
}

/* —— Cover —— */
body.page-id-7 .entry-content,
body.page-id-7 .ba-cover,
body.page-id-7 h1,
body.page-id-7 .main-title {
  text-shadow: none !important;
}

body.page-id-7 {
  letter-spacing: 0.005em;
}

/* —— Shared buttons / cards (tone down AI chrome) —— */
.ba-btn,
.ba-ops-btn,
.wp-block-button__link,
.wp-element-button {
  border-radius: var(--baden-radius) !important;
  box-shadow: none !important;
  text-transform: none !important;
}

.ba-btn--primary,
.ba-ops-btn--primary {
  background: var(--baden-orange) !important;
  border-color: var(--baden-orange) !important;
  color: #fff !important;
}

.ba-btn--primary:hover,
.ba-ops-btn--primary:hover {
  background: var(--baden-orange-hover) !important;
  border-color: var(--baden-orange-hover) !important;
}

.ba-ops-panel,
.ba-ops-shell .ba-ops-panel,
.ba-modal__dialog {
  box-shadow: none !important;
  border-color: var(--baden-ops-line, var(--baden-border)) !important;
}

/* —— Focus visibility —— */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.menu-toggle:focus-visible {
  outline: none !important;
  box-shadow: var(--baden-focus) !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}


/* Force GTranslate menu widget into a compact inline flag row */
li.menu-item-gtranslate {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}
li.menu-item-gtranslate > div[id^="gtranslate_menu_wrapper"] {
  position: static !important;
  white-space: nowrap !important;
}
li.menu-item-gtranslate .gt_switcher {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--baden-nav-control) !important;
  border: 1px solid var(--baden-border) !important;
  border-radius: var(--baden-radius) !important;
  padding: 3px !important;
  box-shadow: none !important;
}
li.menu-item-gtranslate .gt_selected {
  display: none !important;
}
li.menu-item-gtranslate .gt_option {
  display: flex !important;
  flex-direction: row !important;
  position: static !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
  gap: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
}
li.menu-item-gtranslate .gt_option a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: var(--baden-radius-sm) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
}
li.menu-item-gtranslate .gt_option a img {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}
li.menu-item-gtranslate .gt_option a.gt_current,
li.menu-item-gtranslate .gt_option a.gt-current-lang {
  background: var(--baden-nav-icon) !important;
}
li.menu-item-gtranslate .gt_option a:hover,
li.menu-item-gtranslate .gt_option a:focus-visible {
  background: var(--baden-orange-soft) !important;
}

/* Guests: hide ops destinations by menu item id */
body:not(.logged-in).page-id-7 .main-nav > ul > li.menu-item-21,
body:not(.logged-in).page-id-7 .main-nav > ul > li.menu-item-242,
body:not(.logged-in).page-id-7 .main-nav > ul > li.menu-item-381,
body:not(.logged-in).page-id-7 .main-nav > ul > li.menu-item-226,
body:not(.logged-in).page-id-7 .ba-nav-notif-item,
body:not(.logged-in).page-id-16 .main-nav > ul > li.menu-item-21,
body:not(.logged-in).page-id-16 .main-nav > ul > li.menu-item-242,
body:not(.logged-in).page-id-16 .main-nav > ul > li.menu-item-381,
body:not(.logged-in).page-id-16 .main-nav > ul > li.menu-item-226,
body:not(.logged-in).page-id-16 .ba-nav-notif-item,
body:not(.logged-in).page-id-17 .main-nav > ul > li.menu-item-21,
body:not(.logged-in).page-id-17 .main-nav > ul > li.menu-item-242,
body:not(.logged-in).page-id-17 .main-nav > ul > li.menu-item-381,
body:not(.logged-in).page-id-17 .main-nav > ul > li.menu-item-226,
body:not(.logged-in).page-id-17 .ba-nav-notif-item,
body:not(.logged-in).page-id-18 .main-nav > ul > li.menu-item-21,
body:not(.logged-in).page-id-18 .main-nav > ul > li.menu-item-242,
body:not(.logged-in).page-id-18 .main-nav > ul > li.menu-item-381,
body:not(.logged-in).page-id-18 .main-nav > ul > li.menu-item-226,
body:not(.logged-in).page-id-18 .ba-nav-notif-item {
  display: none !important;
}


/* ba-lang-switcher-fix-2026-11-02 */
/* Kill GTranslate absolute positioning that breaks clicks/layout */
li.menu-item-gtranslate,
li.menu-item-gtranslate > div[id^="gtranslate_menu_wrapper"],
li.menu-item-gtranslate .gtranslate_wrapper,
.gtranslate_wrapper {
  position: static !important;
  white-space: nowrap !important;
}

/* Flags widget: always show both language links */
.gtranslate_wrapper,
li.menu-item-gtranslate .gtranslate_wrapper {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 3px !important;
  background: var(--baden-nav-control) !important;
  border: 1px solid var(--baden-border) !important;
  border-radius: var(--baden-radius, 10px) !important;
}

.gtranslate_wrapper a.glink,
li.menu-item-gtranslate .gtranslate_wrapper a.glink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: var(--baden-radius-sm, 8px) !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

.gtranslate_wrapper a.glink img,
li.menu-item-gtranslate .gtranslate_wrapper a.glink img {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.gtranslate_wrapper a.glink.gt-current-lang,
.gtranslate_wrapper a.glink.gt_current,
li.menu-item-gtranslate .gtranslate_wrapper a.glink.gt-current-lang {
  background: var(--baden-nav-icon) !important;
}

html:has(body.page-id-7) .gtranslate_wrapper a.glink.gt-current-lang,
html:has(body.page-id-7) .gtranslate_wrapper a.glink.gt_current,
html.onyx-dark-mode .gtranslate_wrapper a.glink.gt-current-lang {
  background: var(--baden-orange) !important;
}

.gtranslate_wrapper a.glink:hover,
.gtranslate_wrapper a.glink:focus-visible {
  background: var(--baden-orange-soft, rgba(251,103,11,.14)) !important;
}

/* ba-lang-flags-visible-2026-11-02 */
li.menu-item-gtranslate {
  margin-left: auto !important;
  z-index: 40 !important;
}
li.menu-item-gtranslate > a.gt-current-wrapper {
  display: none !important;
}
li.menu-item-gtranslate > .sub-menu,
li.menu-item-gtranslate > ul.dropdown-menu {
  display: flex !important;
  flex-direction: row !important;
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 3px !important;
  gap: 2px !important;
  background: var(--baden-nav-control) !important;
  border: 1px solid var(--baden-border) !important;
  border-radius: var(--baden-radius, 10px) !important;
  box-shadow: none !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  float: none !important;
}
li.menu-item-gtranslate-child {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
li.menu-item-gtranslate-child > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 32px !important;
  min-width: 34px !important;
  padding: 0 !important;
  border-radius: var(--baden-radius-sm, 8px) !important;
  background: transparent !important;
}
li.menu-item-gtranslate-child > a.gt-current-lang,
li.menu-item-gtranslate-child > a.gt_current {
  background: var(--baden-nav-icon) !important;
}
html:has(body.page-id-7) li.menu-item-gtranslate-child > a.gt-current-lang,
html.onyx-dark-mode li.menu-item-gtranslate-child > a.gt-current-lang {
  background: var(--baden-orange) !important;
}
li.menu-item-gtranslate-child > a img {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}