:root {
    --color-bg:        #363636;
    --color-text:      #ffffff;
    --color-highlight: #00e1d0;
    --color-btn-bg:    #ffffff;
    --color-btn-text:  #000000;
    --font-display:    'Bebas Neue', sans-serif;
    --font-body:       'Inter', sans-serif;
}

html { scroll-behavior: smooth; }

.btn-primary {
    background-color: #00e1d0 !important;
    color:black !important;
}

body {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: .9rem;
    line-height: 1.7;
}


.news-card-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.news-card-img-placeholder {
    width: 100%;
    height: 200px;
    background-color: #e9ecef;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-highlight);
}

h2 {
    margin-top:20px;
}
@media screen and (max-width:500px) {
    h2 {
        font-size:200%;
    }
}

.navbar {
    background-color: #000;
    border-bottom: 1px solid #222 !important;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.navbar-brand {
    display: flex;
    align-items: center;
}

.logo-koepper {
    width: 200px;
}

@media screen and (min-width:500px) {
    .logo-koepper-bortenlaenger {
    width: 230px;
    }      
}
@media screen and (min-width:1200px) {
    .logo-koepper-bortenlaenger {
    width: 300px;
    }      
}

.navbar-nav .nav-link {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 500;
    color: #ffffff !important;
    text-transform: none;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    transition: color 0.2s;
}

.navbar-nav .nav-link:hover {
    color: var(--color-highlight) !important;
}

.btn-site {
    background-color: var(--color-btn-bg);
    color: var(--color-btn-text);
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: none;
    padding: 0.75rem 2rem;
    transition: background-color 0.2s, color 0.2s;
}

.btn-site:hover {
    background-color: var(--color-highlight);
    color: #fff;
}

.btn-site-outline {
    background-color: var(--color-btn-bg);
    color: var(--color-btn-text);
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: none;
    padding: 0.75rem 2rem;
    transition: background-color 0.2s, color 0.2s;
}

.btn-site-outline:hover {
    background-color: var(--color-highlight);
    border-color: var(--color-highlight);
    color: #fff;
}

.rounded-more {
    border-radius: 16px !important;
}

#hero {
    background-color: #ccc;
    background-image: url('../img/mercedes_hintergrund_hero_oben.webp');
    background-size: cover;
    background-position: right 41%;
    background-repeat: no-repeat;
    padding: 2rem 0 2rem;
    min-height: 300px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
@media screen and (min-width:800px) {
    #hero {
        background-position: center 10%;
        min-height: 470px;
        padding: 7rem 0 6rem;

    }     
}
@media screen and (min-width:1080px) {
    #hero {
    background-position: center 38%;
    }     
}

#hero h1 {
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.1;
    margin-bottom: 1.5rem;
    color:black;
}

#hero .hero-glass {
    width:70%;
}

#hero .hero-text {
    width: 100%;
    color: #000000;
    margin-bottom: 2rem;
}

@media (max-width: 767px) {
    #hero .hero-text { width: 100%; }
    #hero .hero-glass {
        width:100%;
    }
}

#fahrzeuge {
    padding: 5rem 0;
    border-top: 1px solid rgba(255,255,255,0.07);
}

#fahrzeuge h2 {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    margin-bottom: 1.25rem;
}

#fahrzeuge p {
    color: #ffffff;
}

#kacheln {
    padding: 1rem;
    border-top: 1px solid rgba(255,255,255,0.07);
}

.kachel {
    border: none;
    border-radius: 0;
    padding: 0;
    text-align: center;
    transition: transform 0.25s;
}

.kachel:hover {
    transform: translateY(-2px);
}

.kachel-logo {
    background-color: #262626;
    width: 96%;
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    border: 3px solid #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0.85rem auto;
    font-size: 0.55rem;
    color: rgba(255,255,255,0.35);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: border-color 0.25s;
}

.kachel-logo img {
    width:96%;
    margin:auto;
}

.kachel:hover .kachel-logo {
    border-color: var(--color-highlight);
}

.kachel h5 {
    font-size: 0.95rem;
    margin-bottom: 0;
    color: #ffffff;
    text-transform: none;
    font-family: var(--font-body);
}

.kachel p {
    font-size: 0.82rem;
    color: #ffffff;
    margin-bottom: 0;
}

.img-placeholder,
.kontakt-foto,
#ueber-uns .intro-img {
    border-radius: 8px;
}

#ueber-uns {
    padding: 5rem 0;
    border-top: 1px solid rgba(255,255,255,0.07);
}

#ueber-uns .intro-img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

#ueber-uns .img-placeholder {
    width: 100%;
    height: 340px;
    background-color: #1a1a1a;
    border: 1px dashed rgba(255,255,255,0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.2);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.counter-block {
    text-align: center;
    padding: 2.5rem 1rem;
    border-top: 1px solid rgba(255,255,255,0.07);
    border-bottom: 1px solid rgba(255,255,255,0.07);
    margin: 3rem 0;
}

.counter-col {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.counter-col--visible {
    opacity: 1;
    transform: translateY(0);
}

.counter-number {
    font-family: var(--font-display);
    font-size: clamp(3rem, 6vw, 5rem);
    color: #ffffff;
    line-height: 1;
    letter-spacing: 0.02em;
}

.counter-label {
    font-size: 0.9rem;
    color: #fff;
    margin-top: 0.4rem;
    letter-spacing: 0.05em;
}

.standort-card {
    background-color: #1d1d1d;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    padding: 2rem 1.75rem;
    transition: transform 0.25s;
}

.standort-card:hover {
    transform: translateY(-4px);
}

.standort-card-header {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.85rem;
}

.standort-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.standort-card h5 {
    font-size: 1.1rem;
    margin-bottom: 0;
    color: #ffffff;
    text-transform: none;
    font-family: var(--font-body);
    font-weight: 700;
}

.standort-card address {
    font-style: normal;
    color: #ffffff;
    font-size: 0.95rem;
    line-height: 1.8;
    margin-bottom: 1.25rem;
}

.btn-standort {
    background-color: #D9D9D9;
    color: #000000;
    border: none;
    border-radius: 8px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.6rem 1.5rem;
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.2s, color 0.2s;
}

.btn-standort:hover {
    background-color: var(--color-highlight);
    color: #ffffff;
}

.service-card, .card-news {
    background-color: #1d1d1d;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    padding: 1.25rem 1rem;
    color: #ffffff;
}

.card-news {
    padding:0px;
}

.card-news .card-footer {
    color:#a9a9a9 !important;
}

.service-card h5 {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1.1rem;
    color: #ffffff;
    text-transform: none;
    margin-bottom: 0.75rem;
}

.service-card p {
    color: #ffffff;
    margin-bottom: 0;
}

.accordion-item {
    background-color: #1d1d1d;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px !important;
    margin-bottom: 0.5rem;
    overflow: hidden;
}

.accordion-button {
    background-color: #1d1d1d;
    color: #ffffff;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: none;
    border-radius: 8px !important;
}

.accordion-button:not(.collapsed) {
    background-color: #111;
    color: var(--color-highlight);
    box-shadow: none;
}

.accordion-button::after {
    filter: invert(1);
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300e1d0'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    filter: none;
    transform: rotate(-180deg);
}

#ueber-uns .accordion-body {
    background-color: #111;
    padding: 1.75rem;
}

/* Kontakt-Card */
.kontakt-card {
    text-align: left;
}

.kontakt-foto {
    width: 100%;
    aspect-ratio: 3 / 4;
    background-color: #1a1a1a;
    border: 1px dashed rgba(255,255,255,0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.2);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.kontakt-name {
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: #ffffff;
    letter-spacing: 0.04em;
    text-transform: none;
    margin-bottom: 0.15rem;
}

.kontakt-funktion {
    font-size: 0.82rem;
    color: var(--color-highlight);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 0.85rem;
}

.kontakt-info {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    font-size: 0.88rem;
    color: #ffffff;
    margin-bottom: 0.35rem;
    text-decoration: none;
}

.kontakt-info:hover {
    color: var(--color-highlight);
}

.kontakt-info svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.sidebar-icons {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 3px;
    z-index: 1000;
}

.sidebar-icon-card {
    width: 48px;
    height: 48px;
    background-color: #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px 0 0 0;
    cursor: pointer;
    transition: background-color 0.2s;
    text-decoration: none;
}

.sidebar-icon-card:nth-child(1) { border-radius: 8px 0 0 0; }
.sidebar-icon-card:nth-child(2) { border-radius: 0; }
.sidebar-icon-card:nth-child(3) { border-radius: 0; }
.sidebar-icon-card:nth-child(4) { border-radius: 0 0 0 8px; }

.sidebar-icon-card:hover {
    background-color: var(--color-highlight);
}

.sidebar-icon-card svg {
    width: 30px;
    height: 30px;
    fill: #000000;
}

@media (max-width: 767px) {
    .sidebar-icons { display: none; }
    .counter-block {
        padding: 1.5rem 1rem;
        border-top: 1px solid rgba(255,255,255,0.07);
        border-bottom: 1px solid rgba(255,255,255,0.07);
        margin: 2rem 0;
    }

}

.social-icon-circle {
    width: 80px;
    height: 80px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s, transform 0.2s;
}

.social-icon-circle:hover {
    background-color: var(--color-highlight);
    transform: translateY(-4px);
}

.social-icon-circle svg {
    width: 36px;
    height: 36px;
    fill: #000000;
    transition: fill 0.2s;
}

.social-icon-circle:hover svg {
    fill: #ffffff;
}

footer {
    background-color: #000;
    padding: 2rem 0;
    text-align: center;
    color: #ffffff;
}

.sidebar-dots {
    position: fixed;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .4s ease, visibility .4s ease;
}
.sidebar-dots.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.sidebar-dot {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    text-decoration: none;
    line-height: 1;
    padding: 6px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: transparent;
    transition: border-color .35s ease, background-color .35s ease, backdrop-filter .35s ease, padding .35s ease;
}
.sidebar-dot .dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    transition: background-color .35s ease, transform .35s ease;
}
.sidebar-dot .dot-label {
    display: inline-block;
    font-size: 0;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #fff;
    letter-spacing: .02em;
    transition: max-width .35s ease, opacity .3s ease, font-size .3s ease;
}
.sidebar-dot.active {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.sidebar-dot.active .dot {
    background: #ffffff;
    transform: scale(1.4);
}
.sidebar-dot.active .dot-label {
    font-size: 10px;
    max-width: 140px;
    opacity: 1;
}
.sidebar-dot:hover {
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.sidebar-dot:hover .dot-label {
    font-size: 11px;
    max-width: 140px;
    opacity: 1;
}
@media (max-width: 991.98px) {
    .sidebar-icons,
    .sidebar-dots {
    display: none !important;
    }
}

#leaflet-karte {
    height:630px !important;
}

@media (max-width: 600px) {
    #leaflet-karte {
        margin-top:50px !important;
        height:330px;
    }
}

.mercedes-marker-wrapper {
    background: transparent !important;
    border: none !important;
}

.mercedes-marker {
    width: 40px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mercedes-marker img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}

.sidebar-dots{opacity:0;visibility:hidden;pointer-events:none;}

#hero{position:relative;overflow:hidden;}
#hero .hero-bg-slider{position:absolute;inset:0;z-index:0;}
#hero .hero-bg-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroBgFade 18s infinite ease-in-out;will-change:opacity,transform;}
#hero .hero-bg-slide:nth-child(1){animation-delay:0s;}
#hero .hero-bg-slide:nth-child(2){animation-delay:6s;}
#hero .hero-bg-slide:nth-child(3){animation-delay:12s;}
#hero .hero-bg-slide:nth-child(4){animation-delay:18s;}
#hero .container{position:relative;z-index:1;}

@keyframes heroBgFade{
  0%   {opacity:0;transform:scale(1);}
  11%  {opacity:1;transform:scale(1.02);}
  33%  {opacity:1;transform:scale(1.06);}
  44%  {opacity:0;transform:scale(1.08);}
  100% {opacity:0;transform:scale(1.08);}
}

@media (prefers-reduced-motion: reduce){
  #hero .hero-bg-slide{animation:none;opacity:1;}
  #hero .hero-bg-slide:nth-child(n+2){display:none;}
}

#hero .hero-glass{
  display:inline-block;
  background:rgba(255,255,255,0.32);
  backdrop-filter:blur(6px) saturate(140%);
  -webkit-backdrop-filter:blur(6px) saturate(140%);
  border:1px solid rgba(255,255,255,0.25);
  border-radius:16px;
  padding:1.75rem 2rem;
  box-shadow:0 8px 32px rgba(0,0,0,0.15);
}
#hero .hero-glass h1{margin-bottom:0.75rem;}
#hero .hero-glass .hero-text{margin-bottom:0;}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  #hero .hero-glass{background:rgba(255,255,255,0.5);}
}
/* News-Slider: Desktop 3, Tablet 2, Mobil 1 Eintrag sichtbar */
.news-slider{position:relative;padding:0 2.75rem;}
.news-slider-track{--news-gap:1.5rem;display:flex;gap:var(--news-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;}
.news-slider-track::-webkit-scrollbar{display:none;}
.news-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;}
@media (min-width:768px){.news-slide{flex-basis:calc((100% - var(--news-gap)) / 2);}}
@media (min-width:992px){.news-slide{flex-basis:calc((100% - 2 * var(--news-gap)) / 3);}}
.news-slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0 0 .2rem;cursor:pointer;opacity:.85;transition:opacity .2s;}
.news-slider-btn:hover:not(:disabled){opacity:1;}
.news-slider-btn:disabled{opacity:.25;cursor:default;}
.news-slider-prev{left:0;}
.news-slider-next{right:0;}
@media (min-width:1280px){
  .news-slider{padding:0;}
  .news-slider-prev{left:-3.5rem;}
  .news-slider-next{right:-3.5rem;}
}
/* Ab 1400px ist der Bootstrap-Container breiter, daher weniger Platz am Rand */
@media (min-width:1400px){
  .news-slider-btn{width:2rem;height:2rem;font-size:1.4rem;}
  .news-slider-prev{left:-2.7rem;}
  .news-slider-next{right:-2.7rem;}
}
@media (prefers-reduced-motion: reduce){.news-slider-track{scroll-behavior:auto;}}

/* Team-Tabs (Dorsten / Wesel) */
.team-tabs{gap:.5rem;border:0;}
.team-tab{background:transparent;color:inherit;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.55rem 1.4rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.team-tab:hover{border-color:rgba(255,255,255,.8);}
.team-tab.active{background:#fff;color:#000;border-color:#fff;}
.team-tab:focus-visible{outline:2px solid #fff;outline-offset:2px;}
/* Cookie-Banner */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:2000;max-width:640px;margin:0 auto;background:#fff;color:#222;border-radius:.75rem;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:1.5rem;font-size:.95rem;}
.cookie-banner[hidden]{display:none;}
.cookie-banner h2{font-size:1.15rem;font-weight:700;margin-bottom:.5rem;}
.cookie-banner p{margin-bottom:1rem;}
.cookie-banner a{color:#3F56F4;}
.cookie-options{border-top:1px solid #e5e5e5;padding-top:1rem;margin-bottom:1rem;}
.cookie-options .form-check{margin-bottom:.75rem;}
.cookie-options small{display:block;color:#666;}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;}
.cookie-actions .btn{flex:1 1 auto;}
@media (min-width:576px){.cookie-actions .btn{flex:0 0 auto;}}

/* Kontakt-Widget (Chat-Bubble unten links) */
.contact-widget{position:fixed;left:1.25rem;bottom:1.25rem;z-index:1990;font-family:inherit;}
.contact-widget-toggle{width:60px;height:60px;border-radius:50%;border:0;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,0,0,.3);cursor:pointer;transition:transform .2s,background .2s;}
.contact-widget-toggle:hover{transform:scale(1.06);background:#222;}
.contact-widget-toggle:focus-visible{outline:2px solid #3F56F4;outline-offset:3px;}
.contact-widget-toggle svg{width:28px;height:28px;fill:currentColor;}
.contact-widget-toggle .cw-icon-close{display:none;width:22px;height:22px;}
.contact-widget.open .cw-icon-chat{display:none;}
.contact-widget.open .cw-icon-close{display:block;}
.contact-widget-panel{position:absolute;left:0;bottom:calc(100% + .9rem);width:300px;max-width:calc(100vw - 2.5rem);background:#fff;color:#222;border-radius:1rem;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:1.25rem 1.25rem 1.1rem;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s;}
.contact-widget.open .contact-widget-panel{opacity:1;visibility:visible;transform:translateY(0);}
.contact-widget-panel::after{content:"";position:absolute;left:22px;bottom:-8px;width:16px;height:16px;background:#fff;transform:rotate(45deg);}
.contact-widget-panel h2{font-size:1.15rem;font-weight:700;margin:0 0 .4rem;}
.contact-widget-panel p{font-size:.92rem;margin:0 0 1rem;line-height:1.45;}
.contact-widget-channels{display:flex;justify-content:space-between;gap:.5rem;}
.contact-widget-channels a{width:48px;height:48px;border-radius:50%;background:#f1f1f1;color:#000;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s,color .2s;}
.contact-widget-channels a:hover{background:#000;color:#fff;}
.contact-widget-channels svg{width:22px;height:22px;fill:currentColor;}
@media (prefers-reduced-motion: reduce){.contact-widget-toggle,.contact-widget-panel{transition:none;}}

/* Breiterer Container auf xxl (Bootstrap-Standard: 1320px) */
@media (min-width: 1400px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl {
    max-width: min(1520px, calc(100% - 6rem));
  }
}

@media (min-width: 992px) {
/* Menü immer im DOM, aber unsichtbar → animierbar */
.navbar .dropdown-menu {
    display: block;
    margin-top: 0;               /* keine Lücke, sonst bricht der Hover ab */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform-origin: top center;
    transform: perspective(600px) rotateX(-20deg) translateY(10px);
    transition: opacity .25s ease,
                transform .35s cubic-bezier(.2, .8, .2, 1),
                visibility .35s;
}

.navbar .dropdown.is-hover > .dropdown-menu,
.navbar .dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}

/* Einträge gestaffelt reingleiten lassen */
.navbar .dropdown-menu .dropdown-item {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity .25s ease, transform .25s ease, background-color .2s;
}
.navbar .dropdown.is-hover .dropdown-item,
.navbar .dropdown-menu.show .dropdown-item {
    opacity: 1;
    transform: none;
}
.navbar .dropdown-menu li:nth-child(1) .dropdown-item { transition-delay: .05s; }
.navbar .dropdown-menu li:nth-child(2) .dropdown-item { transition-delay: .10s; }
.navbar .dropdown-menu li:nth-child(3) .dropdown-item { transition-delay: .15s; }
.navbar .dropdown-menu li:nth-child(4) .dropdown-item { transition-delay: .20s; }
.navbar .dropdown-menu li:nth-child(5) .dropdown-item { transition-delay: .25s; }

/* kleiner Hover-Akzent */
.navbar .dropdown-item:hover {
    padding-left: 1.25rem;
    transition: padding-left .2s ease, background-color .2s;
}
}

/* Für Nutzer mit "Bewegung reduzieren" */
@media (prefers-reduced-motion: reduce) {
.navbar .dropdown-menu,
.navbar .dropdown-item { transition: none !important; transform: none !important; }
}
