/* Bestehende Markenschriften und Farben; große, durchgehende Bedienflächen. */
.header_wapper .tt-menu-trigger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    padding: 0;
    margin: 0 0 0 -13px;
    border: 0;
    border-radius: 0;
    color: #404040;
    background: transparent;
    cursor: pointer;
    touch-action: manipulation;
}
.tt-menu-trigger svg, .tt-menu svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
}
.tt-menu {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(100%, 420px);
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    color: #404040;
    background: #fff;
    overflow: hidden;
    font: 16px/1.5 'Roboto-Regular', sans-serif;
    text-align: start;
}
.tt-menu:not([open]) { display: none; }
.tt-menu[open] { display: flex; flex-direction: column; }
.tt-menu::backdrop { background: rgb(22 22 21 / 38%); }
.tt-menu__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex: 0 0 auto;
    min-height: 76px;
    padding: max(12px, env(safe-area-inset-top)) 16px 12px 24px;
    border-bottom: 1px solid #ccd1d2;
}
.tt-menu__header h2 {
    margin: 0;
    padding: 0;
    color: inherit;
    font: 20px/1.3 'Roboto-Medium', sans-serif;
    letter-spacing: 0;
    text-transform: none;
}
.tt-menu__close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
    touch-action: manipulation;
}
.tt-menu__content {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #707070 #fff;
    padding-bottom: max(24px, env(safe-area-inset-bottom));
}
.tt-menu ul, .tt-menu li { list-style: none; margin: 0; padding: 0; }
.tt-menu__list > li { border-bottom: 1px solid #ccd1d2; }
.tt-menu .tt-menu__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    min-height: 60px;
    padding: 16px 24px;
    color: #404040;
    font: 16px/1.5 'Roboto-Medium', sans-serif;
    letter-spacing: .045em;
    text-transform: uppercase;
    text-decoration: none;
    overflow-wrap: anywhere;
    cursor: pointer;
    touch-action: manipulation;
    list-style: none;
}
.tt-menu summary::-webkit-details-marker { display: none; }
.tt-menu__indicator { flex: 0 0 24px; }
.tt-menu__section[open] > summary { background: #f5f5f5; }
.tt-menu__section[open] .tt-menu__plus { display: none; }
.tt-menu .tt-menu__links { padding: 4px 0 16px; }
.tt-menu .tt-menu__links a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 10px 24px 10px 36px;
    color: #404040;
    font: 16px/1.5 'Roboto-Regular', sans-serif;
    text-decoration: none;
    overflow-wrap: anywhere;
    touch-action: manipulation;
}
.tt-menu .tt-menu__links .tt-menu__overview { text-decoration: underline; text-underline-offset: 4px; }
.tt-menu a[aria-current="page"] { font-family: 'Roboto-Medium', sans-serif; text-decoration: underline; text-underline-offset: 4px; }
.tt-menu__secondary { padding: 24px 24px 0; }
.tt-menu__languages { display: flex; align-items: center; gap: 8px; margin-bottom: 20px; }
.tt-menu__languages > * {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: #404040;
    font: 14px/1.5 'Roboto-Regular', sans-serif;
    text-decoration: none;
}
.tt-menu__languages [aria-current] { font-family: 'Roboto-Medium', sans-serif; border-bottom: 1px solid currentColor; }
.tt-menu__contact a { display: flex; align-items: center; gap: 16px; min-height: 52px; color: #404040; text-decoration: none; }
.tt-menu__contact img { flex: 0 0 24px; object-fit: contain; }
.tt-menu__social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #ccd1d2; }
.tt-menu__social a { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.tt-menu__social img { object-fit: contain; }
.tt-menu ::selection { color: #fff; background: #404040; }
.tt-menu-trigger:focus-visible, .tt-menu :is(a, button, summary):focus-visible { outline: 2px solid #404040; outline-offset: -4px; }
@media (hover: hover) {
    .tt-menu :is(a, summary, button):hover, .tt-menu-trigger:hover { background: #f5f5f5; }
    .tt-menu .tt-menu__links a:hover { text-decoration: underline; text-underline-offset: 4px; }
}
@media (max-width: 991px) { .header_wapper .tt-menu-trigger { display: flex; } }
@media (prefers-reduced-motion: no-preference) {
    .tt-menu[open] { animation: tt-menu-enter 160ms ease-out; }
    @keyframes tt-menu-enter { from { opacity: .8; transform: translateX(-12px); } to { opacity: 1; transform: translateX(0); } }
}
