/* Local fixes — language switcher, footer dropdown, buttons, icons */
html.js body { opacity: 1; }

/* --- Language switcher (works with combined.min.css) --- */
.langswitcher {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-left: 12px;
  text-align: left;
}
footer .langswitcher,
#footer .langswitcher,
.imprint_navi .langswitcher {
  margin-left: 0;
}
.langswitcher .startlang {
  color: #fff !important;
  text-decoration: none;
  font-size: 13px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
}
header.light .langswitcher .startlang {
  color: #111 !important;
  border-color: rgba(0,0,0,.2);
}

/* Click + hover open (local.js toggles .open) */
.langswitch {
  display: none !important;
}
.langswitcher.open .langswitch,
.langswitcher:hover .langswitch {
  display: block !important;
}

/* Header dropdown — beat combined.min.css (#header .langswitch a { width:100% }, .langswitch { width:60px }) */
#header .langswitcher .langswitch,
#header .langswitcher.open .langswitch,
#header .langswitcher:hover .langswitch,
header .langswitcher .langswitch,
.langswitcher.istop .langswitch {
  display: none !important;
  position: absolute !important;
  bottom: auto !important;
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 4px) !important;
  z-index: 121212 !important;
  min-width: 120px !important;
  width: auto !important;
  max-width: none !important;
  padding: 6px 0 !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.12) !important;
  text-align: left !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
#header .langswitcher.open .langswitch,
#header .langswitcher:hover .langswitch,
.langswitcher.open .langswitch,
.langswitcher:hover .langswitch {
  display: block !important;
}
#header .langswitch a,
#header .langswitcher .langswitch a,
header .langswitcher .langswitch a,
.langswitcher.istop .langswitch a {
  display: block !important;
  width: auto !important;
  min-width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
#header .langswitcher,
header .langswitcher,
.langswitcher.istop {
  overflow: visible !important;
}
#header .helpernav,
#header .helpernav .r,
#header .helpernav .c {
  overflow: visible !important;
}

/* Footer: dropdown above trigger */
#footer .langswitcher .langswitch,
footer .langswitcher .langswitch,
.imprint_navi .langswitcher .langswitch,
.langswitcher.notop .langswitch {
  bottom: 25px !important;
  top: auto !important;
  left: -5px !important;
  right: auto !important;
  min-width: 90px;
  width: auto;
  padding: 5px 10px;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  z-index: 12000;
}

#footer .langswitch a,
footer .langswitch a,
.imprint_navi .langswitch a,
header .langswitch a,
.langswitch a {
  display: block;
  padding: 9px 14px;
  color: #333 !important;
  text-decoration: none;
  font-size: 13px;
  white-space: nowrap;
}
#footer .langswitch a:hover,
.imprint_navi .langswitch a:hover,
header .langswitch a:hover,
.langswitch a:hover {
  background: #f4f4f4;
  color: #DC3831 !important;
}

.imprint_navi nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 12px;
}
.imprint_navi .langswitcher {
  flex: 0 0 auto;
}

/* Flag emoji — SVG flag pack not in mirror */
.flag-icon {
  display: inline-block;
  width: 1.2em;
  margin-right: 4px;
}
.flag-icon-gb::before,
.flag-icon-en::before { content: "🇬🇧"; }
.flag-icon-de::before { content: "🇩🇪"; }
.flag-icon-fr::before { content: "🇫🇷"; }
.flag-icon-it::before { content: "🇮🇹"; }

/* --- Mobile menu & back to top --- */
#mn { display: block; }
@media (max-width: 1000px) {
  #mno { display: block; cursor: pointer; }
  #mn { display: none; }
  #mn.open { display: block; }
}
.backtotop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9000;
  cursor: pointer;
  font-size: 28px;
  color: #DC3831;
}
.backtotop.show { display: block; }

img[src=""], img:not([src]) {
  min-height: 40px;
  background: #f0f0f0;
}

/* Font Awesome fallback — webfont files not in mirror */
.link:before,
a.link:before,
.btn:not(.special):not(.semi):before,
a.btn:not(.special):not(.semi):before {
  content: "›" !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  font-style: normal !important;
  display: inline-block;
  margin-right: 8px;
  color: #DC3831;
}
.btn.special:before,
a.btn.special:before {
  content: "" !important;
}
#mno .fal:before,
#mno i:before {
  content: "☰" !important;
  font-family: inherit !important;
}
.backtotop .fa:before,
.backtotop i:before {
  content: "↑" !important;
  font-family: inherit !important;
}
.fal.fa-search:before,
.fa-search:before,
i.fa-search:before {
  content: "⌕" !important;
  font-family: inherit !important;
  margin-right: 6px;
  font-style: normal;
}
.helpernav .fa-angle-right:before,
.fal.fa-angle-right:before {
  content: "›" !important;
  font-family: inherit !important;
}
.menu li.icon > a:before {
  font-family: inherit !important;
  font-weight: 700 !important;
}
.menu li.icon.liste > a:before { content: "☰" !important; }
.menu li.icon.daumen > a:before { content: "👍" !important; }
.menu li.icon.zahnrad > a:before { content: "⚙" !important; }
.menu li.icon.tropfen > a:before { content: "◆" !important; }

/* Footer Product Finder button */
#footer .btn.special,
footer .btn.special {
  display: inline-block;
  margin-top: 12px;
  padding: 6px 20px;
  background: #fff;
  border: 1px solid #DC3831;
  color: #DC3831 !important;
  text-decoration: none;
  font-size: 16px;
  transition: all 0.3s ease;
}
#footer .btn.special:hover,
footer .btn.special:hover {
  background: #DC3831;
  color: #fff !important;
}
