.g-min-width-280 {
    min-width: 280px;
}

@media (min-width: 577px) and (max-width: 768px) {
    .g-min-width-280 {
        min-width: 150px;
    }
    .events-list-buttons .container .row {
        width: 170px;
    }
    .events-list-buttons {
        height: 69px;
    }
}

.events-list-buttons .container .row {
    height: 64px;
    position: relative;
}

.events-list-buttons .container .row > * > * {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%; /* whatever height you need */
}

/* moved from script tag in file 'lib/TravixNaviBundle/Resources/views/Includes/header/header.html.twig' to here */
.aa-dropdown-menu {
    background-color: white !important;
}

/* A11y - Accessibility improvements */
.nav-item.active > a {
    color: #000 !important;
    background-color: #fff !important;
}

/*#main-nav > li {*/
/*    z-index: 1;*/
/*}*/

#main-nav > li:focus-visible {
    z-index: 2;
}

/* Skip links */
.skip-link {
    position: absolute;
    top: -40px;
    /*top: 0.5rem;*/
    left: 6px;
    background: #000;
    color: white;
    padding: 8px;
    text-decoration: none;
    z-index: 100;
    /*border-radius: 0 0 4px 4px;*/
    transition: top 0.3s ease;
}

.skip-link:focus {
    top: 0.5rem;
    outline: 2px solid #fff;
    outline-offset: 2px;
    /*outline: none;*/
    box-shadow:
            inset 0 0 0 2px black,
            0 0 0 2px white,
            0 0 0 4px black;
}

/* Focus styles for better keyboard navigation */
.focus-visible,
*:focus-visible {
    /*outline: 2px solid #007cba;*/
    /*outline: none; !*Deaktiviere Standard-Outline*!*/
    outline: 2px solid #fff;
    outline-offset: 2px;
    box-shadow:
        /*inset 0 0 0 2px black,  !* innere helle Linie *!*/
        /*0 0 0 2px white,  !* mittlere dunkle Linie *!*/
        /*0 0 0 4px black;  !* äußere dunkle Linie *!*/
        0 0 0 2px black;  /* äußere dunkle Linie */
}

/* Enhanced focus for navigation elements */
#main-nav a:focus,
#main-nav a:focus-visible {
    background-color: #fff !important;
    color: #000 !important;
    /*outline: 2px solid #007cba !important;*/
    outline: 2px solid #fff !important;
    outline-offset: 2px;
    box-shadow:
        /*inset 0 0 0 2px black,*/
        /*0 0 0 2px white,*/
        /*0 0 0 4px black;*/
        0 0 0 2px black;
    position: relative;
    z-index: 999;
    margin-right: 4px;
}

/* Ensure navigation links are properly focusable */
#main-nav a {
    position: relative;
    pointer-events: auto !important;
    display: block;
}

/* Debug: Add visible focus indicator for testing */
/*#main-nav a:focus {*/
/*    background: yellow !important;*/
/*    color: black !important;*/
/*    border: 2px solid red !important;*/
/*}*/

/* Ensure list items don't interfere with focus */
#main-nav li {
    pointer-events: auto !important;
}

/* Submenu focus styles */
.hs-sub-menu a[role="menuitem"]:focus-visible {
    background-color: #f0f0f0;
    color: #000;
    /*outline: 2px solid #007cba;*/
    outline: 2px solid #fff;
    outline-offset: -2px;
    /*outline: none; !* Deaktiviere Standard-Outline *!*/
    box-shadow:
        /*inset 0 0 0 2px black,*/
        /*0 0 0 2px white,*/
        /*0 0 0 4px black;*/
        0 0 0 2px black;
}

/* Ensure submenus are properly visible when opened via keyboard */
.hs-sub-menu-opened .hs-sub-menu,
.hs-mega-menu-opened .hs-mega-menu {
    display: block !important;
}

/* "more" contrast mode support */
@media (prefers-contrast: more) {
    .skip-link:focus {
        outline: 3px solid white;
        background: #000;
    }
    
    #main-nav a[role="menuitem"]:focus-visible {
        outline: 3px solid #000;
        background: #fff;
        /*padding: 2px;*/
        /*outline: none; !* Deaktiviere Standard-Outline *!*/
        box-shadow:
            /*inset 0 0 0 2px black,*/
            /*0 0 0 2px white,*/
            /*0 0 0 4px black;*/
            0 0 0 2px black;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .skip-link {
        transition: none;
    }
    
    .hs-sub-menu.animated,
    .hs-mega-menu.animated {
        animation: none !important;
    }

    z-index: 99999;
}

a:focus-visible, input:focus-visible, button:focus-visible, .form-check-inline label,
.form-wrapper label:has(input.focus-visible), .form-wrapper select.focus-visible {
    outline: 2px solid #000000 !important;
    outline-offset: 2px;
    /*outline: none; !* Deaktiviere Standard-Outline *!*/
    box-shadow:
        /*inset 0 0 0 2px black,*/
        0 0 0 2px white,
        0 0 0 4px black;
    /*position: relative;*/
    /*position: absolute;*/
    /*z-index: 99999;*/
}

#containerblack {
    a:focus-visible, input:focus-visible, button:focus-visible, .form-check-inline label,
    .form-wrapper label:has(input.focus-visible), .form-wrapper select.focus-visible {
        outline: 2px solid #ffffff !important;
        outline-offset: 2px;
        box-shadow:
            0 0 0 2px black;
    }
}

#contact_form_salutation_0:focus-visible:first-of-type + div, #contact_form_salutation_1:focus-visible:first-of-type + div, #contact_form_acceptPrivacyPolicy:focus-visible:first-of-type + div {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px;
    box-shadow:
        0 0 0 2px black;
}

#contact_form_message:focus-visible, #contact_form_acceptPrivacyPolicy:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px;
    box-shadow:
        0 0 0 2px black;
}

.skip-link {
    position: absolute;
    top: -100px;
    left: 0.5rem;
    background: #ffffff;
    font-size: 1.1111111111vw;
    font-weight: 600;
    color: #000000;
    padding: 0.5rem 0.5rem;
    line-height: 1;
    z-index: 9999;
    text-decoration: none;
    transition: top 0.3s ease;
    /*outline: 3px solid #fd7e14;*/
    /*outline-offset: 2px;*/
}

.skip-link:hover, .skip-link:focus {
    color: #000000;
}

#main-content {
    a:focus-visible {
        /*outline-color: deeppink !important;*/
        /*outline: none; !* Deaktiviere Standard-Outline *!*/
    }

    .search-home {
        a:focus-visible, input:focus-visible {
            /*outline-color: white !important;*/
            outline-color: black !important;
            /*outline: none; !* Deaktiviere Standard-Outline *!*/
        }
    }
}

.event-element {
    a:focus-visible {
        right: 4px;
        bottom: 4px;
    }
}

.topbar-nav a.btn.btn-secondary.g-color-white--hover:focus {
    color: #fff !important;
}

#basket-bar-invoker:focus-visible {
    /*outline-offset: 13px;*/
}

.hs-sub-menu .dropdown-item a:focus-visible {
    margin-right: 0!important;
}

.sidebar-link:focus-visible {
    margin-right: 4px!important;
    padding-right: 1px!important;
}

#sponsorenlogos {
    a {
        display: inline-block;
    }

    a:focus-visible {
        outline-color: #ffffff !important;
        outline: none; /* Deaktiviere Standard-Outline */
        box-shadow:
            /*inset 0 0 0 2px black,*/
            /*0 0 0 2px white,*/
            /*0 0 0 4px black;*/
            0 0 0 2px black;
    }
}

button.header-order-list-item {
    width: 100%;
    background-color: transparent;
    /*display: block;*/
}
button.header-order-list-item {
    border: 0;
}

/*.form-wrapper input.focus-visible, .form-wrapper  button.focus-visible, .form-wrapper select.focus-visible,*/
/*.form-wrapper  a.focus-visible, .form-wrapper label:has(input.focus-visible), .account-navigation a.focus-visible,*/
/*.order-overview-wrapper a, button.header-order-list-item, .form-wrapper textarea.focus-visible*/
/*{*/
/*    outline-color: deeppink !important;*/
/*}*/

#va-suche.form-control:focus {
    outline: 2px solid #fff;
    box-shadow:
        0 0 0 2px white,
        0 0 0 4px black;
}

#va-suche[tabindex="-1"]:focus {
    outline: 3px solid #fff!important;
}

/* breadcrumb navigation*/
#breadcrumb {

    .breadcrumb-items {

        background: #000;
        padding: 0;
        border: none;

        .breadcrumb-item {
            list-style-type: none;
            padding: 0!important;

            a, span {
                display: inline-block;
                color: #fff;
                padding: 3px 10px;
                height: 100%;
            }
            a:hover {
                text-decoration: none;
            }
        }

        .breadcrumb-item::before {
            margin: 0 5px;
            color: #fff;
            padding-right: 0;
        }

        .breadcrumb-item.active {
            color: white!important;
        }
        .breadcrumb-item.active::before {
            font-weight: normal;
        }

        .breadcrumb-item::marker {
            display: none!important;
        }

    }
}

#contacts-section {
    .footer-img {
        display: block;
    }
}

.btn:focus {
    box-shadow:
        0 0 0 2px white,
        0 0 0 4px black;
}

.btn:focus, .btn:active:focus, .btn.active:focus {
    box-shadow:
        0 0 0 2px white,
        0 0 0 4px black;
}

#buttonOne:focus {
    outline: 2px solid white !important;
    box-shadow: 0 0 0 2px black;
}

.js-minus:focus-visible {
    margin-right: 2px;
}

.js-plus:focus-visible {
    margin-left: 2px;
}

.js-result {
    padding-left: 2px!important;
}

.js-result:focus-visible {
    outline: 2px solid white !important;
    box-shadow: 0 0 0 2px black;
}

.visually-hidden input[type='checkbox'] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    display: inline-block !important;
}

#form_delivery:focus-visible, #form_invoice:focus-visible, #form_deliveryMessage:focus-visible, #form_shippingtype:focus-visible, #form_paymenttype_0:focus-visible, #form_paymenttype_1:focus-visible {
    outline: 2px solid white !important;
    box-shadow: 0 0 0 2px black;
}

#form_paymenttype_0:focus-visible:first-of-type + div, #form_paymenttype_1:focus-visible:first-of-type + div {
    outline: 2px solid black !important;
}