.uk-navbar-left {
  overflow: auto;
  max-width: 50%;
  white-space: nowrap;
  scrollbar-width: thin;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
.uk-navbar-nav .uk-nav li {
  white-space: normal;
}
.uk-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
/* ===============
   MAIN MENÜ (Desktop Navbar Dropdown)
   =============== */

/* Mehr Abstand & Rundung für Dropdown-Links */
.uk-navbar-dropdown-nav > li > a {
    padding: 12px 16px;
    border-radius: 4px;
}

/* Hover/Fokus-Effekt für Dropdown-Links */
.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus,
.uk-navbar-dropdown-nav > li > a:focus-visible {
    background: #f5f5f5;
    color: #111;
    outline: 2px solid transparent;
    outline-offset: 2px;
}

/* Optische Trennung zwischen Dropdown-Einträgen */
.uk-navbar-dropdown-nav > li + li {
    border-top: 2px solid #e5e5e5;
    margin-top: 5px;
    padding-top: 5px;
}

.uk-navbar-dropdown {
    padding: 10px;
}


/* Touch-Geräte: Größere Klickfläche */
@media (pointer: coarse) {
    .uk-navbar-dropdown-nav > li > a {
        padding: 14px 18px;
    }
}


/* ==============
   MOBILE MENÜ (Offcanvas)
   ============== */

/* Layout: Menü oben statt vertikal zentriert */
#offcanvas .uk-offcanvas-bar > .uk-margin-auto-vertical {
    margin-top: 0 !important;
    margin-bottom: auto !important;
}

/* --------------
   Plus/Minus Tog------------------------------------------------------------ */

/* Plus-Icon standardmäßig sichtbar */
#mobile-menu .subnav-toggle .toggle-icon-plus {
    display: inline-block;
}

/* Minus-Icon standardmäßig versteckt */
#mobile-menu .subnav-toggle .toggle-icon-minus {
    display: none;
}

/* Bei geöffnetem Untermenü: Icons tauschen */
#mobile-menu .uk-parent.uk-open > .subnav-toggle .toggle-icon-plus {
    display: none;
}
#mobile-menu .uk-parent.uk-open > .subnav-toggle .toggle-icon-minus {
    display: inline-block;
}

/* Keine Rotation für Kategorietitel-Links */
#mobile-menu .uk-parent.uk-open > a.subnav-toggle {
    transform: none !important;
}

/* --------------------------------------------------------------------------
   Hover/Fokus-Effekte (heller Hintergrund auf dunklem Offcanvas)
   -------------------------------------------------------------------------- */

/* Hauptmenüpunkte */
#mobile-menu > li > a:hover,
#mobile-menu > li > a:focus {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

/* Submenü-Einträge */
#mobile-menu .uk-nav-sub li > a:hover,
#mobile-menu .uk-nav-sub li > a:focus {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

/* Textfarbe beim Hover: volle Deckkraft */
#mobile-menu > li > a:hover,
#mobile-menu .uk-nav-sub li > a:hover {
    color: #fff;
    opacity: 1;
}

/* Touch-Geräte: Größere Klickfläche */
@media (pointer: coarse) {
    #mobile-menu > li > a,
    #mobile-menu .uk-nav-sub li > a {
        padding: 14px 16px;
    }
}


/* ==============
   CUSTOM FONT CLASSES für individuelle Überschriften/Texte
   =============== */

/* Caveat - Handschrift-Stil für besondere Überschriften */
.font-caveat {
    font-family: 'Caveat', cursive !important;
    font-weight: 500;
}

.font-caveat-bold {
    font-family: 'Caveat', cursive !important;
    font-weight: 700;
}

/* Cantata One - Elegante Serif-Schrift */
.font-cantata {
    font-family: 'Cantata One', serif !important;
    font-weight: 400;
}

/* Londrina Shadow - Dekorative Shadow-Schrift */
.font-londrina {
    font-family: 'Londrina Shadow', fantasy !important;
    font-weight: 400;
}

/* Open Sans - Alternative Sans-Serif */
.font-opensans {
    font-family: 'Open Sans', sans-serif !important;
}

.font-opensans-light {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 300;
}

.font-opensans-bold {
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 700;
}

/* Outfit Light - Extra leicht für elegante Headlines */
.font-outfit-thin {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 100;
}

.font-outfit-light {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 300;
}

.font-outfit-black {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 900;
}

/* Frank Ruhl Libre - Elegante Serif für klassische Texte */
.font-frankruhl {
    font-family: 'Frank Ruhl Libre', serif !important;
}

.font-frankruhl-light {
    font-family: 'Frank Ruhl Libre', serif !important;
    font-weight: 300;
}

.font-frankruhl-regular {
    font-family: 'Frank Ruhl Libre', serif !important;
    font-weight: 400;
}

.font-frankruhl-bold {
    font-family: 'Frank Ruhl Libre', serif !important;
    font-weight: 700;
}

.font-frankruhl-black {
    font-family: 'Frank Ruhl Libre', serif !important;
    font-weight: 900;
}


/* Removed padding-bottom from first column in layout-rows */
.uk-grid > .uk-width-1-1@m:first-child {
    margin-bottom: 0 !important;
}

/* Reduce grid margin between rows of same layout */
.uk-grid > .uk-grid-margin {
    margin-top: 0 !important; /* oder ein kleinerer Wert wie 1rem */
}

/* ==========================================================================
   ACCORDION (CUSTOM STYLE)
   ========================================================================== */
/* Hintergrundbereich mit seitlichem Abstand */
.uk-accordion {
    background: #f2f2f2;
    padding: 10px;
    margin: 0 6px;
    border-radius: 10px;
}

/* Accordionliste (Einträge) */
.uk-accordion > li {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0px !important;
}

.uk-accordion > li + li {
    margin-top: 6px;
}

/* Override UIKit accordion item spacing */
.uk-accordion > :nth-child(n+2) {
    margin-top: 10px !important;
}

.uk-accordion-title {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 12px !important;
    font-weight: 500;
    font-size: 0.95rem;
    line-height: 1.2;
    color: #333;
    text-decoration: none;
    margin-bottom: 0 !important;
}

/* remove UIKit default marker and place custom icon on the left */
.uk-accordion-title::before {
    content: "+";
    background: none !important;
    background-image: none !important;
    font-weight: 700;
    color: #666;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-right: 2px;
}

.uk-accordion-title::after {
    content: "";
    display: none !important;
}

/* Geöffnetes Accordion */
.uk-open > .uk-accordion-title::before {
    content: "–";
    color: #111;
    background-image: none !important;
}

.uk-open {
    border-color: #d0d0d0;
    box-shadow: 0 2px 6px rgb(0 0 0 / 0.06);
}

.uk-open > .uk-accordion-title {
    background: #f7f7f7;
    border-bottom: 1px solid #e5e5e5;
}

.uk-accordion-content {
    padding: 8px 8px 8px;
    margin: 20px;
    color: #444;
}

/* Reset inherited UIKit accordion item rule for content lists */
.uk-accordion-content li {
    border-bottom: 0 !important;
    padding-bottom: 5px !important;
}

/* Reset margins for paragraphs and lists in accordion content */
.uk-accordion-content ul,
.uk-accordion-content ol,
.uk-accordion-content dl,
.uk-accordion-content pre,
.uk-accordion-content address,
.uk-accordion-content fieldset,
.uk-accordion-content figure {
    margin: 0;
}

.uk-accordion-content *+ul,
.uk-accordion-content *+ol,
.uk-accordion-content *+dl,
.uk-accordion-content *+pre,
.uk-accordion-content *+address,
.uk-accordion-content *+fieldset,
.uk-accordion-content *+figure {
    margin-top: 0;
}

/* Admin Bar Spacing - offset body/main content */
body {
    padding-top: var(--admin-bar--height, 0);
}
