/**
 * Tabs CSS - AKT Tab Element
 * 
 * Styles for horizontal tabs with:
 * - Horizontal scrollable navigation on mobile
 * - Smooth transitions between content
 * - Responsive layout with images and text
 * - Accessibility support
 * - Different tab styles (default, underline, pills)
 * - Fixed 130px width for tab navigation buttons
 * - UPDATED: Only font-weight change on hover, no background color change
 */

/* Tab Wrapper */
.akt-tabs-wrapper {
    width: 100%;
    margin: 0 auto;
}

/* Header Section - With Background */
.akt-tabs__header {
    text-align: center;
    margin-bottom: 0; /* Kein Abstand zur Navigation */
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 50px 20px 24px 20px;
    background: var(--aktd-color-ice, #F2F4F6);
}

.akt-tabs__title {
    color: var(--aktd-color-font, #363D52);
    font-family: "DM Sans", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 27px; /* 150% */
    text-align: center;
    margin-bottom: 0!important;
    opacity: 0.8;
    text-transform: unset;
}

.akt-tabs__subtitle {
    color: var(--aktd-color-font, #363D52);
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 27px;
    text-align: center;
    margin: 0;
}

/* Tab Container */
.akt-tabs {
    width: 100%;
    max-width: var(--aktd-max-width, 1272px);
    margin: 0 auto;
    padding: 0; /* Kein Padding */
}

/* Tab Navigation Wrapper - With Background, stays within akt-tabs */
.akt-tabs__nav-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    margin-bottom: 80px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    background: var(--aktd-color-ice, #F2F4F6);
}
/*AKT TABS MEDIA*/
.akt-tabs-wrapper-media .akt-tabs__nav{
    min-height:90px;
    justify-content: flex-start;
    padding:0;
}
.akt-tabs-wrapper-media .akt-tabs__bottom-nav{
    display:none;
}

.akt-tabs__nav-wrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}
.akt-tabs-wrapper-media .akt-tabs__panel .vc_column-inner{
    padding:0 !important;
}

/* Tab Navigation Container - Nur für die Buttons */
.akt-tabs__nav {
    display: flex;
    gap: 4px; /* Kleiner Gap zwischen den Navigation-Buttons */
    min-width: max-content;
    position: relative;
    width: 100%;
    padding: 0 20px;
    justify-content: center; /* Navigation-Buttons zentriert */
    overflow-x: auto; /* Ermöglicht horizontales Scrollen wenn nötig */
}

/* Individual Tab Navigation Button - Mit fester Breite von 130px */
.akt-tabs__tab {
    background: none;
    border: none;
    padding: 8px 0 30px 0; /* Einheitlich mit Active-State, verhindert Text-Versatz */
    color: var(--aktd-color-font, #363D52);
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.1; /* Noch kompaktere Line-Height */
    cursor: pointer;
    position: relative;
    transition: font-weight 0.2s ease; /* Nur font-weight Transition */
    white-space: normal; /* Erlaubt Textumbruch */
    /* Natürlichere Zeilenumbrüche: erst an Leerzeichen, kein automatisches Trennen */
    word-break: break-word; /* bricht sehr lange Wörter */
    overflow-wrap: anywhere; /* verhindert Container-Overflow */
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    /* Moderne, weiche Balance des Umbruchs (progressive enhancement) */
    text-wrap: balance;
    border-bottom: 3px solid transparent;
    opacity: 0.7;
    text-align: center; /* Zentriert den Text */
    
    /* Feste Größe und Positioning */
    width: 160px; /* Etwas breiter für natürlichere Umbrüche */
    min-height: 60px; /* Erhöhte Mindesthöhe für mehrzeiligen Text */
    max-height: 90px; /* Etwas mehr Platz für zwei Zeilen */
    flex: 0 0 160px; /* Feste Breite, kein Grow/Shrink */
    box-sizing: border-box;
    display: flex;
    align-items: flex-end; /* Text immer unten abschließen */
    justify-content: center;
    overflow: hidden; /* Text bleibt innerhalb des Buttons */
    
    /* Bessere Textrendering-Qualität */
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* UPDATED: Hover-Effekt für font-weight und border */
.akt-tabs__tab:hover {
    font-weight: 700; /* Text wird fett beim Hovern */
    border-bottom-color: var(--aktd-color-font, #363D52); /* Border unten beim Hover */
    background-color: transparent; /* Kein Hintergrund beim Hover */
    color:var(--aktd-color-font, #363D52); /* Keine Farbänderung beim Hover */  
    /* Keine Opacity-, Color- oder Background-Änderung */
}
.akt-tabs__tab:focus{
    background-color: transparent; /* Kein Hintergrund beim Hover */
    color:var(--aktd-color-font, #363D52); /* Keine Farbänderung beim Hover */ 
}

/* Active Tab */
/* Active Tab */
.akt-tabs__tab--active {
    opacity: 1;
    font-weight: 500;
    border-bottom-color: var(--aktd-color-font, #363D52);
    /* Kein Padding-Override, damit der Text nicht springt */
}

/* Tab Styles - Underline (Default) */
.akt-tabs--style-underline .akt-tabs__tab--active {
    border-bottom-color: var(--aktd-color-font, #363D52);
}

/* Pills Style - Anpassungen NUR für Navigation-Buttons */
.akt-tabs--style-pills .akt-tabs__nav {
    gap: 8px;
    border-bottom: none;
}

.akt-tabs--style-pills .akt-tabs__tab {
    background: rgba(54, 61, 82, 0.1);
    border-radius: 20px;
    border-bottom: none;
    padding: 4px 4px 8px 4px; /* Reduziertes Top-Padding für Pills Style */
    width: 160px; /* Gleiche Breite wie Standard */
    min-height: 60px; /* Gleiche Mindesthöhe */
    max-height: 90px; /* Gleiche Maximalhöhe */
    flex: 0 0 160px;
    align-items: flex-end; /* Text unten ausrichten */
    overflow: visible; /* Sichtbarer Text auch bei Überlauf */
    
    /* Verbesserte Silbentrennung auch für Pills */
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: none;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    text-wrap: balance;
}

.akt-tabs--style-pills .akt-tabs__tab--active {
    background: var(--aktd-color-font, #363D52);
    color: var(--aktd-color-white, #FFFFFF);
    border-bottom: none;
}

/* UPDATED: Pills Hover-Effekt auch nur für font-weight */
.akt-tabs--style-pills .akt-tabs__tab:hover {
    font-weight: 700; /* Nur Text wird fett, Background bleibt gleich */
}

.akt-tabs--style-pills .akt-tabs__tab--active:hover {
    font-weight: 700; /* Auch aktiver Pills Tab wird nur fett */
}

/* Tab Content - Bleibt unverändert in voller Breite */
.akt-tabs__content {
    position: relative;
    min-height: 400px;
    background: transparent; /* Kein Hintergrund für Content */
    width: 100%; /* Content behält volle Breite */
}

/* Tab Panel - Bleibt unverändert in voller Breite */
.akt-tabs__panel {
    display: none;
    width: 100%; /* Panels behalten volle Breite */
}

.akt-tabs__panel--active {
    display: block !important;
}

.akt-tabs__panel[hidden] {
    display: none !important;
}

/* Ensure active panel is always visible */
.akt-tabs__panel--active:not([hidden]) {
    display: block !important;
}

/* Panel Content */
.akt-tabs__panel-content {
    width: 100%;
}

/* Next Link */
.akt-tabs__next-link-wrapper {
    text-align: right;
    margin-top: 2rem;
}

/* Counter: standardmäßig (Desktop) ausblenden */
.akt-tabs__counter { display: none; }
/* Top Controls (nur mobil sichtbar) */
.akt-tabs__top-controls { display: none; }

.akt-tabs__next-link {
    color: var(--aktd-color-font, #363D52);
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}

.akt-tabs__next-link:hover {
    color: var(--aktd-color-light-blue, #009FE3);
    transform: translateX(5px);
}

.akt-tabs__next-link::after {
    content: ' →';
    transition: transform 0.3s ease;
}

.akt-tabs__next-link:hover::after {
    transform: translateX(3px);
}

/* Bottom Navigation */
.akt-tabs__bottom-nav {
    margin-top: 40px;
    background: transparent; /* Kein Hintergrund für Bottom Navigation */
}

.akt-tabs__bottom-nav-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.akt-tabs__bottom-nav-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* Navigation Buttons - UPDATED: Nur font-weight und icon beim Hover, keine anderen Effekte */
.akt-tabs__nav-button {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: none;
    border: none;
    color: var(--aktd-color-font, #363D52);
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 4px;
    transition: font-weight 0.2s ease; /* Nur font-weight Transition */
    min-height: 44px;
    max-width: 45%;
    box-shadow: none; /* Kein Schatten für Navigation-Buttons */
    line-height: 1.5em;
}

/* UPDATED: Navigation Button Hover - Nur font-weight wird fett, keine anderen Effekte */
.akt-tabs__nav-button:hover:not(:disabled), .akt-tabs__nav-button:focus:not(:disabled) {
    font-weight: 700; /* Nur Text und Icon werden fett */
    color: var(--aktd-color-font, #363D52); /* Keine Farbänderung */
    background: none; /* Kein Hintergrund */
    border: none; /* Kein Rahmen */
    box-shadow: none; /* Kein Schatten */
    transform: none; /* Keine Transformation */
}

.akt-tabs__nav-button:hover:not(:disabled) .akt-tabs__nav-button-icon {
    font-weight: 700; /* Icon wird auch fett */
}

.akt-tabs__nav-button:disabled {
    /* Inaktiv vollständig ausblenden, Platz behalten für Layout-Stabilität */
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    cursor: default;
}

.akt-tabs__nav-button:focus {
    outline: none;
    background: none; /* Kein Hintergrund beim Focus */
    border: none; /* Kein Rahmen beim Focus */
}

/* Previous Button - Left aligned */
.akt-tabs__nav-button--prev {
    justify-content: flex-start;
    text-align: left;
}

/* Next Button - Right aligned */
.akt-tabs__nav-button--next {
    justify-content: flex-end;
    text-align: right;
}

/* Navigation Button Icons */
.akt-tabs__nav-button-icon {
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    flex-shrink: 0;
    transition: font-weight 0.2s ease; /* Transition für Icon font-weight */
}

/* Button Text */
.akt-tabs__nav-button-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

/* No Items Message */
.akt-tabs__no-items {
    text-align: center;
    padding: 3rem;
    color: var(--aktd-color-font, #363D52);
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    opacity: 0.7;
}

.akt-tabs__no-items p {
    margin: 0;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .akt-tabs__content-layout {
        gap: 2rem;
    }
    
    .akt-tabs__content-title {
    }
}

/* Responsive Anpassungen NUR für Navigation-Buttons */
@media (max-width: 1024px) {
    .akt-tabs-wrapper {
        padding: 0; /* Kein Padding für Wrapper */
    }
    
    
    .akt-tabs__header {
        padding: 2rem 15px 40px 15px; /* 40px Abstand von Titel zu Buttons */
        margin-bottom: 0; /* Kein Abstand zur Navigation */
    }
    .akt-tabs__nav-wrapper {
        margin-bottom: 50px;
        padding: 0 15px 20px 15px; /* gleiche Breite wie Header */
    }
    
    .akt-tabs__nav {
        padding: 0 15px;
        gap: 0;
        margin-bottom:40px; /* Zwei Labels links/rechts */
    }
    
    /* Mobile: zeige nur aktiven und direkt folgenden Tab */
    .akt-tabs__nav .akt-tabs__tab { display: none; }
    .akt-tabs__nav .akt-tabs__tab.akt-tabs__tab--active,
    .akt-tabs__nav .akt-tabs__tab.akt-tabs__tab--next { display: flex; }

    .akt-tabs__tab {
        width: 170px; /* Max. 130px wie gewünscht */
        max-width: 170px;
        flex: 1 1 170px; /* darf schrumpfen, überschreitet Container nicht */
        min-width: 0; /* erlaubt Flex-Schrumpfen */
        padding: 8px 5px 30px; /* wie Desktop */
        min-height: 60px;
        max-height: 90px;
        align-items: flex-end; /* Text unten ausrichten */
        white-space: normal; /* wie Desktop */
        overflow: hidden;
        text-overflow: ellipsis;
        word-break: break-word;
        overflow-wrap: anywhere;
        hyphens: none;
        text-wrap: balance;
    }
    .akt-tabs-wrapper-media .akt-tabs__nav{
    justify-content: center;
}

    .akt-tabs__tab--active { font-weight: 700; }
    
    .akt-tabs__content-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .akt-tabs__content-title {
        margin-bottom: 1.5rem;
    }
    
    .akt-tabs__text-content p {
    }
    
    .akt-tabs__action-button {
        padding: 10px 20px;
    }
    
    .akt-tabs__next-link-wrapper {
        text-align: center;
        margin-top: 1.5rem;
    }
    
    /* Bottom Navigation - Mobile */
    .akt-tabs__bottom-nav { margin-top: 50px;}
    .akt-tabs__bottom-nav-content { padding: 0 15px; }
    
    .akt-tabs__nav-button { padding: 6px 8px; min-height: 36px; max-width: none; }
    .akt-tabs__nav-button-text { display: none; }
    .akt-tabs__nav-button-icon { font-size: 22px; opacity: 0.6; display: inline-block; color: var(--aktd-color-font, #363D52); }

    /* Zähler mittig zwischen den Pfeilen */
    .akt-tabs__counter {
        font-family: "DM Sans", sans-serif;
        font-size: 16px;
        color: var(--aktd-color-font, #363D52);
        opacity: 0.6;
        user-select: none;
        display: inline-block; /* mobil sichtbar */
        text-align: center;
        min-width: 48px;
    }

    /* Top Controls: Pfeile + Counter unter den Tabs */
    .akt-tabs__top-controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        padding-top: 8px;
    }
    .akt-tabs__top-controls .akt-tabs__nav-button { padding: 0 6px; min-height: auto; }
    .akt-tabs__top-controls .akt-tabs__nav-button-text { display: none; }
    .akt-tabs__nav-wrapper .akt-tabs__counter--top { display: block; text-align: center; }
    
    .akt-tabs__nav-button-text {
    }
    
    /* Pills Style - Mobile Anpassungen NUR für Navigation */
    .akt-tabs--style-pills .akt-tabs__tab {
        padding: 8px 0 30px 0;
        width: 130px; max-width: 130px; flex: 1 1 130px; min-width: 0; min-height: 60px; max-height: 90px;
        align-items: flex-end;
        white-space: normal; overflow: hidden; text-overflow: ellipsis;
        word-break: break-word; overflow-wrap: anywhere; hyphens: none; text-wrap: balance;
    }
    .akt-tabs__bottom-nav-buttons{
        gap:16px;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .akt-tabs-wrapper {
        padding: 0; /* Kein Padding für Wrapper */
    }
    
    .akt-tabs__header {
        padding: 1.5rem 10px 40px 10px; /* 40px Abstand von Titel zu Buttons */
        margin-bottom: 0; /* Kein Abstand zur Navigation */
    }
    
    .akt-tabs__subtitle {
    }
    
    .akt-tabs__nav-wrapper { padding: 0 12px 1rem 12px; margin-bottom:50px; }
    
    .akt-tabs__nav { padding: 0 12px; gap: 0; justify-content: center; }
    /* Bis 480px nur den aktiven Tab anzeigen */
    .akt-tabs__nav .akt-tabs__tab { display: none; }
    .akt-tabs__nav .akt-tabs__tab.akt-tabs__tab--active { display: flex; }
    /* Überschreibt die <=768px-Regel, die den nächsten Tab zeigt */
    .akt-tabs__nav .akt-tabs__tab.akt-tabs__tab--next { display: none !important; }
    
    .akt-tabs__tab {
        width: 170px; max-width: 170px; flex: 0 1 170px; min-width: 0;
        padding: 8px 0 30px 0;
        min-height: 60px; max-height: 90px;
        align-items: flex-end;
        white-space: normal; overflow: hidden; text-overflow: ellipsis;
        word-break: break-word; overflow-wrap: anywhere; hyphens: none; text-wrap: balance;
    }
    .akt-tabs__tab--active { font-weight: 700; }
    
    .akt-tabs__content-title {
    }
    
    .akt-tabs__content-layout {
        gap: 1rem;
    }
    
    .akt-tabs__text-content {
        gap: 1rem;
    }
    
    .akt-tabs__images {
        gap: 1rem;
    }
    
    /* Bottom Navigation - Very Small Mobile */
    .akt-tabs__bottom-nav { margin-top: 1rem; padding-top: 0.75rem; }
    .akt-tabs__bottom-nav-content { padding: 0 12px; }
    
    .akt-tabs__nav-button { padding: 4px 6px; min-height: 34px; }
    .akt-tabs__nav-button-text { display: none; }
    .akt-tabs__nav-button-icon { font-size: 22px; opacity: 0.6; display: inline-block; color: var(--aktd-color-font, #363D52); }
    .akt-tabs__counter { font-size: 15px; display: inline-block; }
    .akt-tabs__top-controls { gap: 14px; padding-top: 6px; }
    .akt-tabs__nav-wrapper .akt-tabs__counter--top { display: block; }
    
    .akt-tabs__nav-button-text {
    }
    
    .akt-tabs__image {
        max-height: 150px;
    }
    
    /* Pills Style - Very Small Mobile */
    .akt-tabs--style-pills .akt-tabs__tab {
        padding: 8px 0 30px 0; width: 130px; max-width: 130px; flex: 1 1 130px; min-width: 0; min-height: 60px; max-height: 90px;
        align-items: flex-end; white-space: normal; overflow: hidden; text-overflow: ellipsis; word-break: break-word; overflow-wrap: anywhere; hyphens: none; text-wrap: balance;
    }
}

/* Accessibility - High Contrast Mode */
@media (prefers-contrast: high) {
    .akt-tabs__tab {
        border-width: 2px;
    }
    
    .akt-tabs__tab--active {
        border-bottom-width: 4px;
    }
    
    .akt-tabs__action-button {
        border: 2px solid currentColor;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .akt-tabs__tab,
    .akt-tabs__panel,
    .akt-tabs__action-button,
    .akt-tabs__next-link,
    .akt-tabs__nav-button,
    .akt-tabs__nav-button-icon {
        transition: none;
    }
    
    .akt-tabs__action-button::before {
        transition: none;
    }
    
    .akt-tabs__panel {
        transform: none;
    }
    
    .akt-tabs__panel--active {
        transform: none;
    }
}

/* Print Styles */
@media print {
    .akt-tabs-wrapper {
        background: transparent !important;
        padding: 1rem 0;
    }
    
    .akt-tabs__nav-wrapper {
        display: none;
    }
    
    .akt-tabs__panel {
        position: static !important;
        opacity: 1 !important;
        transform: none !important;
        pointer-events: auto !important;
        page-break-inside: avoid;
        margin-bottom: 2rem;
        border: 1px solid #ccc;
        padding: 1rem;
    }
    
    .akt-tabs__content-layout {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .akt-tabs__action-button {
        color: #000 !important;
        background: transparent !important;
        border: 1px solid #000 !important;
    }
    
    /* Hide bottom navigation in print */
    .akt-tabs__bottom-nav {
        display: none;
    }
}



