/* Shared HU/EN/DE navigation. Deliberately isolated from page-specific themes. */
.wv-language { position: relative; flex: 0 0 auto; color: #191726; font: 700 13px/1.3 'DM Sans', system-ui, sans-serif; }
.wv-language > summary { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; min-width: 86px; padding: 8px; border: 1px solid #d7d5e6; border-radius: 12px; background: #fff; cursor: pointer; list-style: none; box-sizing: border-box; }
.wv-language > summary::-webkit-details-marker { display: none; }
.wv-language[open] > summary { border-color: #4658f6; background: #f0efff; }
.wv-language-chevron { font-size: 12px; }
.wv-language-flag { flex: 0 0 24px; display: inline-block; border-radius: 2px; box-shadow: 0 0 0 1px rgb(25 23 38 / 12%); overflow: hidden; vertical-align: middle; }
.wv-language .wv-language-panel { position: absolute; z-index: 110; inset: calc(100% + 8px) 0 auto auto; display: grid; width: max-content; min-width: 190px; max-width: calc(100vw - 26px); padding: 6px; border: 1px solid #d7d5e6; border-radius: 14px; background: #fff; box-shadow: 0 14px 35px rgb(25 23 38 / 16%); }
.wv-language:not([open]) > .wv-language-panel { display: none; }
.wv-language-panel a, .wv-language-mobile a, .wv-language-footer a { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 12px; border-radius: 8px; color: #191726; text-decoration: none; font: 600 14px/1.4 'DM Sans', system-ui, sans-serif; box-sizing: border-box; }
.wv-language-panel a:hover, .wv-language-panel a[aria-current], .wv-language-mobile a[aria-current] { background: #eeedff; color: #303ead; }
.wv-language-panel a[aria-current]::after { content: '✓'; margin-left: auto; }
.wv-language :is(summary,a):focus-visible, .wv-language-mobile a:focus-visible, .wv-language-footer a:focus-visible { outline: 3px solid #4658f6; outline-offset: 3px; }
.wv-language-mobile { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 0 16px; margin-bottom: 12px; border-bottom: 1px solid #d7d5e6; }
.mobile-menu .wv-language-mobile a { min-height: 44px; padding: 8px; font-size: 13px; }
.wv-language-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 12px; padding: 20px 16px 32px; }
.site-footer .wv-language-footer a { color: #f4f3ff; }
.site-footer .wv-language-footer a:hover, .site-footer .wv-language-footer a[aria-current] { background: rgb(255 255 255 / 12%); }
.wv-original-language { font-size: .76em; font-weight: 500; }
.wv-translation-note { font-size: .85rem; color: inherit; opacity: .85; margin: 12px 0 20px; }
html:is([lang="en"], [lang="de"]) .price-card { min-width: 0; }
html:is([lang="en"], [lang="de"]) .price { flex-wrap: wrap; }
html:is([lang="en"], [lang="de"]) .price-top { overflow-wrap: anywhere; }
html:is([lang="en"], [lang="de"]) body.wv-inner main { overflow-wrap: anywhere; hyphens: auto; }
/* Flatten only the existing two actions so the switch sits between phone and CTA. */
.wv-v2-home .header-inner { gap: 18px; }
.wv-v2-home .header-inner > .brand { order: 1; flex-shrink: 0; }
.wv-v2-home .desktop-nav { order: 2; }
.wv-v2-home .desktop-actions { display: contents; }
.wv-v2-home .header-phone { order: 3; white-space: nowrap; }
.wv-v2-home .header-inner .wv-language { order: 4; }
.wv-v2-home .desktop-actions > .button { order: 5; white-space: nowrap; }
.wv-v2-home .menu-toggle { order: 6; flex-shrink: 0; }
/* Inner-page headers keep the existing back link and reserve a right-hand slot. */
body.wv-inner .site-header, body.wv-inner header.top { position: sticky; padding-right: 120px; min-height: 76px; overflow: visible; }
body.wv-inner :is(.site-header, header.top) > .wv-language { position: absolute; right: clamp(13px, 3vw, 40px); top: 14px; }
@media (max-width: 1240px) {
  .wv-v2-home .desktop-nav, .wv-v2-home .desktop-actions > a { display: none; }
  .wv-v2-home .menu-toggle { display: block; }
  .wv-v2-home .header-inner { justify-content: flex-start; gap: 10px; }
  .wv-v2-home .header-inner .wv-language { margin-left: auto; }
  .wv-v2-home .mobile-menu { top: 74px; bottom: auto; height: calc(100dvh - 74px); overflow-y: auto; overscroll-behavior: contain; padding-bottom: calc(28px + env(safe-area-inset-bottom)); background: #f7f5ff; }
  body.menu-open :is(.mobile-call, .wvc-bubble, .wvc-panel, .wvc-teaser, .wv-consent, .wv-consent-settings) { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
}
@media (max-width: 360px) {
  .wv-v2-home .header-inner { gap: 6px; }
  .wv-language > summary { min-width: 80px; gap: 5px; padding-inline: 6px; }
  .mobile-menu .wv-language-mobile a { gap: 5px; padding-inline: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .wv-language *, .wv-language-mobile *, .wv-language-footer * { transition: none !important; }
}
