/* Klauth form accessibility and mobile controls, 2026-08-21 */
.klauth-app-v2-module-column .sppb-addon-module.klauth-app-v2-form-wrapper {
    padding-top: 32px;
}

/* klauth-sticky-logo-size-20260903: kompaktes Desktop-Logo beim Scrollen */
@media (min-width: 992px) {
    #sp-header .logo img.logo-image {
        transition: height .2s ease, width .2s ease;
    }

    #sp-header.header-sticky .logo img.logo-image {
        width: auto !important;
        height: 86px !important;
        max-height: 86px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #sp-header .logo img.logo-image {
        transition: none;
    }
}

#mod-visform2 .klauth-captcha-label {
    display: block;
    margin: 0 0 .4rem;
}

#mod-visform2 .captchaCont input[type="text"] {
    min-height: 44px;
}

#mod-visform4 .next_btn,
#mod-visform4 .back_btn,
#mod-visform4 .summary_btn,
#mod-visform4 .correct_btn,
#mod-visform4 input[type="submit"] {
    min-height: 44px;
    min-width: 44px;
}

#mod-visform2 :focus-visible,
#mod-visform4 :focus-visible {
    outline: 3px solid #0f5f91;
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    .klauth-app-v2-module-column .sppb-addon-module.klauth-app-v2-form-wrapper {
        padding-top: 24px;
    }
}

/* Klauth site-wide keyboard navigation, 2026-09-01 */
.klauth-skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 100000;
    padding: 12px 16px;
    border-radius: 4px;
    background: #ffffff;
    color: #0f4f78;
    font-weight: 700;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .28);
    transform: translateY(-150%);
}

.klauth-skip-link:focus {
    transform: translateY(0);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
    outline: 3px solid #0f5f91 !important;
    outline-offset: 3px !important;
}

.sp-megamenu-parent > li.sp-has-child:focus-within > .sp-dropdown {
    display: block;
    opacity: 1;
    visibility: visible;
}

.offcanvas-menu .menu-toggler.klauth-menu-toggle {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    background: transparent;
    color: inherit;
}

#mod-visform2 input[type="submit"] {
    min-width: 44px;
    min-height: 44px;
}

/* Startseiten-Hero auf sehr breiten Monitoren, 2026-09-01 */
@media (min-width: 1920px) {
    .klauth-hero35-wrap {
        width: 100%;
        max-width: 2000px;
        margin-inline: auto;
    }

    .teamfoto-crop img {
        object-position: center 30% !important;
    }
}

/* Primäre Aktionsbuttons: weiße Schrift in allen Interaktionszuständen, 2026-09-02 */
.klauth-btn-primary:hover,
.klauth-btn-primary:focus,
.klauth-btn-primary:active,
.klauth-overview-btn-primary:hover,
.klauth-overview-btn-primary:focus,
.klauth-overview-btn-primary:active,
.sppb-btn-primary:hover,
.sppb-btn-primary:focus,
.sppb-btn-primary:active,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    color: #fff !important;
}

/* klauth-button-note-spacing-20260902: Luft zwischen Hero-Buttons und Hinweis */
.klauth-buttons + .klauth-hero-note {
    margin-top: 24px;
}

/* klauth-datev-footer-logo-size-20260903: DATEV-Siegel überall in Referenzgröße */
#sp-footer img[src*="DATEV_Label_Digitale_Kanzlei_2026"],
#sp-bottom img[src*="DATEV_Label_Digitale_Kanzlei_2026"],
#sp-footer img[src*="label_smartexperts_farbig"],
#sp-bottom img[src*="label_smartexperts_farbig"] {
    max-width: 100% !important;
    height: auto !important;
}

/* klauth-datev-footer-logo-link-width-20260903: alte 25%-Linkregel neutralisieren */
#sp-footer a:has(> img[src*="DATEV_Label_Digitale_Kanzlei_2026"]),
#sp-bottom a:has(> img[src*="DATEV_Label_Digitale_Kanzlei_2026"]),
#sp-footer a:has(> img[src*="label_smartexperts_farbig"]),
#sp-bottom a:has(> img[src*="label_smartexperts_farbig"]) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

/* klauth-video-logo-gap-20260903: 10px Luft über der DATEV-Logozeile */
#sp-footer .klauth-vimeo-consent ~ .sppb-col-md-6,
#sp-bottom .klauth-vimeo-consent ~ .sppb-col-md-6 {
    margin-top: 10px;
}

/* klauth-navigation-redesign-20260903: Desktop-Megamenü und Dropdowns */
@media (min-width: 992px) {
    .sp-megamenu-parent > li > a,
    .sp-megamenu-parent > li > span {
        border-bottom: 3px solid transparent;
        transition: color .18s ease, border-color .18s ease;
    }

    .sp-megamenu-parent > li:hover > a,
    .sp-megamenu-parent > li:focus-within > a,
    .sp-megamenu-parent > li.active > a {
        color: #126a9a !important;
        border-bottom-color: #126a9a;
    }

    .sp-megamenu-parent .sp-dropdown-inner {
        overflow: hidden;
        background: #fff !important;
        border-top: 4px solid #126a9a;
        border-radius: 0 0 13px 13px;
        box-shadow: 0 22px 48px rgba(25, 37, 48, .19) !important;
    }

    #klauth-desktop-submenu-1 {
        width: 900px !important;
        left: -450px !important;
    }

    #klauth-desktop-submenu-2,
    #klauth-desktop-submenu-3 {
        width: 330px !important;
    }

    #klauth-desktop-submenu-4 {
        width: 400px !important;
    }

    /* klauth-navigation-simple-align-20260903 */
    #klauth-desktop-submenu-2,
    #klauth-desktop-submenu-3,
    #klauth-desktop-submenu-4 {
        right: 0 !important;
        left: auto !important;
    }

    #klauth-desktop-submenu-1 > .sp-dropdown-inner {
        position: relative;
        padding: 51px 26px 26px !important;
    }

    #klauth-desktop-submenu-1 > .sp-dropdown-inner::before {
        content: "Leistungsbereiche";
        position: absolute;
        top: 25px;
        left: 26px;
        color: #126a9a;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1.2px;
        line-height: 1;
        text-transform: uppercase;
    }

    #klauth-desktop-submenu-1 .row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(250px, .9fr);
        grid-template-rows: auto auto auto;
        gap: 9px;
        margin: 0;
    }

    #klauth-desktop-submenu-1 .row > .col-sm-4:nth-child(-n+2),
    #klauth-desktop-submenu-1 .row > .col-sm-4:nth-child(-n+2) > .sp-mega-group {
        display: contents;
    }

    #klauth-desktop-submenu-1 .row > .col-sm-4:nth-child(3) {
        grid-column: 3;
        grid-row: 1 / 4;
        width: auto;
        max-width: none;
        padding: 0 0 0 24px;
        border-left: 1px solid #d9e7ef;
    }

    #klauth-desktop-submenu-1 .item-131 { grid-column: 1; grid-row: 1; }
    #klauth-desktop-submenu-1 .item-132 { grid-column: 2; grid-row: 1; }
    #klauth-desktop-submenu-1 .item-133 { grid-column: 1; grid-row: 2; }
    #klauth-desktop-submenu-1 .item-119 { grid-column: 2; grid-row: 2; }
    #klauth-desktop-submenu-1 .item-134 { grid-column: 1 / 3; grid-row: 3; }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134) {
        position: relative;
        min-width: 0;
        min-height: 66px;
        margin: 0 !important;
        border: 1px solid #d9e7ef;
        border-radius: 9px;
        background: #eef6fa;
        transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
    }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):hover,
    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):focus-within {
        z-index: 1;
        color: #fff;
        background: #126a9a;
        border-color: #126a9a;
        transform: translateX(3px);
    }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134) > a {
        min-height: 64px;
        padding: 12px 36px 10px 56px !important;
        display: block !important;
        color: #192530 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-transform: none !important;
        white-space: normal;
    }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):hover > a,
    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):focus-within > a {
        color: #fff !important;
    }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134) > a::before {
        position: absolute;
        top: 50%;
        left: 11px;
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        color: #126a9a;
        background: #fff;
        box-shadow: 0 2px 8px rgba(18, 106, 154, .12);
        font-family: "Font Awesome 6 Free";
        font-size: 14px;
        font-weight: 900;
        line-height: 1;
        transform: translateY(-50%);
    }

    #klauth-desktop-submenu-1 .item-131 > a::before { content: "\f1ec"; }
    #klauth-desktop-submenu-1 .item-132 > a::before { content: "\f201"; }
    #klauth-desktop-submenu-1 .item-133 > a::before { content: "\f135"; }
    #klauth-desktop-submenu-1 .item-119 > a::before { content: "\f0c0"; }
    #klauth-desktop-submenu-1 .item-134 > a::before { content: "\f5fc"; }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134) > a::after {
        display: block;
        margin-top: 4px;
        color: #64727e;
        font-size: 11px;
        font-weight: 400;
        line-height: 1.25;
        text-transform: none;
    }

    #klauth-desktop-submenu-1 .item-131 > a::after { content: "Sicher planen und gestalten"; }
    #klauth-desktop-submenu-1 .item-132 > a::after { content: "Entscheidungen fundieren"; }
    #klauth-desktop-submenu-1 .item-133 > a::after { content: "Gut vorbereitet starten"; }
    #klauth-desktop-submenu-1 .item-119 > a::after { content: "Verbände und Netzwerke"; }
    #klauth-desktop-submenu-1 .item-134 > a::after { content: "Prozesse einfach verbinden"; }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):hover > a::after,
    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):focus-within > a::after {
        color: rgba(255, 255, 255, .84);
    }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134)::after {
        content: "\f061";
        position: absolute;
        top: 50%;
        right: 13px;
        color: #126a9a;
        font-family: "Font Awesome 6 Free";
        font-size: 13px;
        font-weight: 900;
        line-height: 1;
        pointer-events: none;
        transform: translateY(-50%);
        transition: color .18s ease, transform .18s ease;
    }

    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):hover::after,
    #klauth-desktop-submenu-1 :is(.item-131, .item-132, .item-133, .item-119, .item-134):focus-within::after {
        color: #fff;
        transform: translate(3px, -50%);
    }

    #klauth-desktop-submenu-1 .item-136 > .sp-group-title {
        margin: 0 8px 8px !important;
        padding: 0 !important;
        color: #126a9a !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 1.2px;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    #klauth-desktop-submenu-1 .item-136 .sp-mega-group-child {
        margin: 0 !important;
        padding: 0 !important;
    }

    #klauth-desktop-submenu-1 .item-136 .sp-menu-item > a,
    #klauth-desktop-submenu-2 .sp-dropdown-items > .sp-menu-item > a,
    #klauth-desktop-submenu-3 .sp-dropdown-items > .sp-menu-item > a,
    #klauth-desktop-submenu-4 .sp-dropdown-items > .sp-menu-item > a {
        position: relative;
        min-height: 42px;
        margin: 2px 0;
        padding: 10px 34px 10px 12px !important;
        display: flex !important;
        align-items: center;
        color: #192530 !important;
        border-radius: 7px;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        text-transform: none !important;
        white-space: normal;
        transition: color .18s ease, background-color .18s ease, padding-left .18s ease;
    }

    #klauth-desktop-submenu-1 .item-136 .sp-menu-item > a::after,
    #klauth-desktop-submenu-2 .sp-dropdown-items > .sp-menu-item > a::after,
    #klauth-desktop-submenu-3 .sp-dropdown-items > .sp-menu-item > a::after,
    #klauth-desktop-submenu-4 .sp-dropdown-items > .sp-menu-item > a::after {
        content: "\f061";
        position: absolute;
        top: 50%;
        right: 12px;
        color: #126a9a;
        font-family: "Font Awesome 6 Free";
        font-size: 12px;
        font-weight: 900;
        line-height: 1;
        transform: translateY(-50%);
        transition: transform .18s ease;
    }

    #klauth-desktop-submenu-3 .sp-dropdown-items > .sp-menu-item:last-child > a::after {
        content: "\f35d";
    }

    #klauth-desktop-submenu-1 .item-136 .sp-menu-item:hover > a,
    #klauth-desktop-submenu-1 .item-136 .sp-menu-item:focus-within > a,
    #klauth-desktop-submenu-2 .sp-dropdown-items > .sp-menu-item:hover > a,
    #klauth-desktop-submenu-2 .sp-dropdown-items > .sp-menu-item:focus-within > a,
    #klauth-desktop-submenu-3 .sp-dropdown-items > .sp-menu-item:hover > a,
    #klauth-desktop-submenu-3 .sp-dropdown-items > .sp-menu-item:focus-within > a,
    #klauth-desktop-submenu-4 .sp-dropdown-items > .sp-menu-item:hover > a,
    #klauth-desktop-submenu-4 .sp-dropdown-items > .sp-menu-item:focus-within > a {
        padding-left: 17px !important;
        color: #0c557d !important;
        background: #eef6fa !important;
        box-shadow: inset 3px 0 #126a9a;
    }

    #klauth-desktop-submenu-1 .item-136 .sp-menu-item:hover > a::after,
    #klauth-desktop-submenu-1 .item-136 .sp-menu-item:focus-within > a::after,
    #klauth-desktop-submenu-2 .sp-dropdown-items > .sp-menu-item:hover > a::after,
    #klauth-desktop-submenu-2 .sp-dropdown-items > .sp-menu-item:focus-within > a::after,
    #klauth-desktop-submenu-3 .sp-dropdown-items > .sp-menu-item:hover > a::after,
    #klauth-desktop-submenu-3 .sp-dropdown-items > .sp-menu-item:focus-within > a::after,
    #klauth-desktop-submenu-4 .sp-dropdown-items > .sp-menu-item:hover > a::after,
    #klauth-desktop-submenu-4 .sp-dropdown-items > .sp-menu-item:focus-within > a::after {
        transform: translate(3px, -50%);
    }

    #klauth-desktop-submenu-2 > .sp-dropdown-inner,
    #klauth-desktop-submenu-3 > .sp-dropdown-inner,
    #klauth-desktop-submenu-4 > .sp-dropdown-inner {
        position: relative;
        padding: 50px 18px 17px !important;
    }

    #klauth-desktop-submenu-2 > .sp-dropdown-inner::before,
    #klauth-desktop-submenu-3 > .sp-dropdown-inner::before,
    #klauth-desktop-submenu-4 > .sp-dropdown-inner::before {
        position: absolute;
        top: 24px;
        left: 27px;
        color: #126a9a;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1.2px;
        line-height: 1;
        text-transform: uppercase;
    }

    #klauth-desktop-submenu-2 > .sp-dropdown-inner::before { content: "Kanzlei & Team"; }
    #klauth-desktop-submenu-3 > .sp-dropdown-inner::before { content: "Wissen & Service"; }
    #klauth-desktop-submenu-4 > .sp-dropdown-inner::before { content: "Arbeiten bei Klauth"; }
}

/* klauth-navigation-redesign-20260903: Mobile Akkordeon-Navigation */
.offcanvas-menu .offcanvas-inner ul.menu > li > a,
.offcanvas-menu .offcanvas-inner ul.menu > li > .menu-separator {
    border-bottom: 1px solid #d9e7ef;
    color: #192530;
    font-weight: 700;
}

.offcanvas-menu .offcanvas-inner ul.menu .menu-child {
    margin: 5px 0 12px !important;
    padding: 7px !important;
    border-radius: 10px;
    background: #eef6fa;
}

.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > a,
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > .menu-separator {
    position: relative;
    min-height: 44px;
    padding: 11px 38px 11px 13px !important;
    display: flex;
    align-items: center;
    color: #192530 !important;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    white-space: normal;
}

.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > a::after {
    content: "\f061";
    position: absolute;
    top: 50%;
    right: 13px;
    color: #126a9a;
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}

.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > a:hover,
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > a:focus,
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li.current > a,
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li.active > a {
    color: #fff !important;
    background: #126a9a !important;
}

.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > a:hover::after,
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > a:focus::after,
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li.current > a::after,
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li.active > a::after {
    color: #fff;
}

.offcanvas-menu .offcanvas-inner ul.menu .menu-child > .menu-divider > .menu-separator {
    margin-top: 5px;
    color: #126a9a !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
    .sp-megamenu-parent *,
    .offcanvas-menu .menu-child * {
        transition: none !important;
    }
}

/* klauth-navigation-compact-desktop-20260903 */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #klauth-desktop-submenu-1 {
        width: 800px !important;
        left: -400px !important;
    }

    #klauth-desktop-submenu-1 > .sp-dropdown-inner {
        padding: 49px 20px 20px !important;
    }

    #klauth-desktop-submenu-1 > .sp-dropdown-inner::before {
        top: 24px;
        left: 20px;
    }

    #klauth-desktop-submenu-1 .row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(220px, .85fr);
        gap: 7px;
    }

    #klauth-desktop-submenu-1 .row > .col-sm-4:nth-child(3) {
        padding-left: 18px;
    }
}
