html { scroll-behavior: smooth; }

#top { padding: 6px 0; }
#top .social { display: inline-block; }
#top .social a { margin-right: 8px; }
#top .login { display: inline-block; float: right; }
#top .language-switcher { float: right; }

.navbar .navbar-brand img { max-height: 48px; width: auto; }

@media (min-width: 992px) {
    .navbar .nav-item.dropdown-mega { position: static; }
    .navbar .dropdown-mega .dropdown-menu {
        left: 0;
        right: 0;
        width: 100%;
        border-radius: 0;
        padding: 24px;
    }
}

.dropdown-menu .yamm-content h5 { margin-top: 0; }
.dropdown-menu .yamm-content ul { list-style: none; padding-left: 0; }

#footer .footer-hr { border-top: 1px solid rgba(255, 255, 255, .2); }

#packages.packages { display: block; margin: 0; }
.packages-slider { position: relative; }
.owl-packages {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    list-style: none;
    padding: 0 0 16px;
    margin: 0 0 20px;
    -webkit-overflow-scrolling: touch;
}
.owl-packages > .item {
    flex: 0 0 300px;
    scroll-snap-align: start;
    margin: 0;
}
.packages-slider .slider-btn {
    position: absolute;
    top: 130px;
    z-index: 2;
    border: none;
    background: #58b1fc;
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 22px;
    line-height: 40px;
    cursor: pointer;
    opacity: .9;
}
.packages-slider .slider-btn:hover { opacity: 1; }
.packages-slider .slider-prev { left: -8px; }
.packages-slider .slider-next { right: -8px; }

/* Hero-Carousel: Höhe + Layout (ersetzt owl-carousel-Padding) */
.home-carousel { background-color: #58b1fc; }
.home-carousel .carousel { padding-top: 60px; padding-bottom: 40px; }
.home-carousel .carousel-item { min-height: 320px; }
.home-carousel .carousel-control-prev,
.home-carousel .carousel-control-next { width: 5%; opacity: .8; }

/* Navbar-Links im ursprünglichen Theme-Look (BS3 -> BS5 Bridge) */
.navbar-nav .nav-link {
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.08em;
    border-top: solid 5px transparent;
    color: #555;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-item.dropdown.show > .nav-link {
    border-top-color: #58b1fc;
    color: #555;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-item.active > .nav-link {
    border-top-color: #3e7db2;
    color: #555;
}
.navbar-nav .dropdown-toggle::after { vertical-align: middle; }

/* Sidebar-Listen (nav-pills nav-stacked) wieder vertikal im BS3-Look */
.panel.sidebar-menu .nav.nav-pills {
    display: block;
    flex-direction: column;
}
.panel.sidebar-menu .nav.nav-pills > li { display: block; }
.panel.sidebar-menu .nav.nav-pills > li > a {
    display: block;
    padding: 5px 0;
    line-height: 1.4;
    background: none;
    text-decoration: none;
}
.panel.sidebar-menu .nav.nav-pills > li > a:hover {
    background: none;
    text-decoration: underline;
}

/* Heading-Breadcrumbs: Fallback-Hintergrund (Textur-404) + Breadcrumb rechtsbündig */
#heading-breadcrumbs { background-color: #f4f4f4; }
#heading-breadcrumbs .row { align-items: center; }
#heading-breadcrumbs .breadcrumb {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-bottom: 0;
    background: none;
    padding: 0;
}
/* Fallback auch für texturierte Bar-Sektionen */
.bar.background-pentagon { background-color: #f4f4f4; }

/* Preis-Pakete: Header/Preis-Block robust (auto-Höhe statt fixe 57/100px -> kein Überlappen) */
.packages .package .package-header {
    height: auto;
    min-height: 57px;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
}
.packages .package .package-header h5 { line-height: 1.3; }
.packages .package .price {
    height: auto;
    line-height: 1.3;
    padding: 12px 6px;
}
