/* V154: Eigenständiges mobiles Hauptmenü
   Nur dieser Bereich steuert das mobile Menü unter Logo/Suche/Konto/Hamburger.
*/

.rc-mobile-main-tabs {
    display: none;
}

@media (max-width: 820px) {
    /* Alte mobile Navigationsvarianten werden zusätzlich abgesichert versteckt. */
    .rc-site-header-v3 .rc-header-mobile-quicknav,
    .rc-site-header-v3 .rc-header-mobile-race-subnav {
        display: none !important;
    }

    /* Desktop-/Portalnavigation auf Mobil ausblenden, Logo/Icon-Zeile bleibt. */
    .rc-site-header-v3 .rc-header-portal-nav,
    .rc-site-header-v3 .rc-main-nav,
    .rc-site-header-v3 .rc-header-primary-nav,
    .rc-site-header-v3 .rc-header-primary-nav-v3 {
        display: none !important;
    }

    .rc-site-header-v3 .rc-header-v3-navline,
    .rc-site-header-v3 .rc-header-v40-navline {
        display: block !important;
        width: 100% !important;
        margin-top: 12px !important;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        margin: 0;
        padding: 8px;
        border-radius: 18px;
        background: rgba(255, 253, 248, .07);
        border: 1px solid rgba(255, 253, 248, .12);
        box-sizing: border-box;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 0 8px;
        border-radius: 12px;
        background: rgba(255, 253, 248, .08);
        border: 1px solid rgba(255, 253, 248, .12);
        color: #fffdf8;
        text-decoration: none;
        font-size: 13px;
        font-weight: 900;
        line-height: 1;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a.is-active {
        background: #e4bf63;
        border-color: #e4bf63;
        color: #053821;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .10);
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a:active {
        transform: translateY(1px);
    }
}

@media (max-width: 380px) {
    .rc-site-header-v3 .rc-mobile-main-tabs {
        gap: 6px;
        padding: 7px;
        border-radius: 16px;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a {
        min-height: 34px;
        border-radius: 10px;
        font-size: 12px;
        padding: 0 6px;
    }
}


/* V155: Termine-Untermenü im eigenständigen mobilen Menü */
.rc-mobile-race-tabs {
    display: none;
}

@media (max-width: 820px) {
    .rc-site-header-v3 .rc-mobile-main-tabs button {
        appearance: none;
        -webkit-appearance: none;
        font-family: inherit;
        cursor: pointer;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a,
    .rc-site-header-v3 .rc-mobile-main-tabs button {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 0 8px;
        border-radius: 12px;
        background: rgba(255, 253, 248, .08);
        border: 1px solid rgba(255, 253, 248, .12);
        color: #fffdf8;
        text-decoration: none;
        font-size: 13px;
        font-weight: 900;
        line-height: 1;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a.is-active,
    .rc-site-header-v3 .rc-mobile-main-tabs button.is-active {
        background: #e4bf63;
        border-color: #e4bf63;
        color: #053821;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .10);
    }

    .rc-site-header-v3 .rc-mobile-race-tabs {
        display: flex;
        gap: 7px;
        width: 100%;
        margin: 8px 0 0;
        padding: 7px;
        border-radius: 16px;
        background: rgba(255, 253, 248, .055);
        border: 1px solid rgba(255, 253, 248, .10);
        box-sizing: border-box;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs[hidden] {
        display: none !important;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs a {
        flex: 1 1 0;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 0 7px;
        border-radius: 10px;
        background: rgba(255, 253, 248, .08);
        border: 1px solid rgba(255, 253, 248, .12);
        color: #fffdf8;
        text-decoration: none;
        font-size: 12px;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs a.is-active {
        background: #fffdf8;
        border-color: #fffdf8;
        color: #053821;
    }
}

@media (max-width: 380px) {
    .rc-site-header-v3 .rc-mobile-main-tabs a,
    .rc-site-header-v3 .rc-mobile-main-tabs button {
        min-height: 34px;
        border-radius: 10px;
        font-size: 12px;
        padding: 0 6px;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs {
        gap: 6px;
        padding: 6px;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs a {
        min-height: 30px;
        font-size: 11.5px;
    }
}


/* V159: Ampel-Akzente für Heute / Kommend / Ergebnisse
   Kein Icon, kein zusätzlicher Platzverbrauch.
   Kommend nutzt ein helles Amber-Gelb, bewusst anders als das normale Turfsport-Gold.
*/
:root {
    --ts-race-today: #1f8a4c;
    --ts-race-upcoming: #ffd166;
    --ts-race-results: #b84a4a;
}

.rc-header-race-subnav a.rc-race-state-heute,
.rc-mobile-race-tabs a.rc-race-state-heute {
    border-bottom: 3px solid var(--ts-race-today) !important;
}

.rc-header-race-subnav a.rc-race-state-kommend,
.rc-mobile-race-tabs a.rc-race-state-kommend {
    border-bottom: 3px solid var(--ts-race-upcoming) !important;
}

.rc-header-race-subnav a.rc-race-state-ergebnisse,
.rc-mobile-race-tabs a.rc-race-state-ergebnisse {
    border-bottom: 3px solid var(--ts-race-results) !important;
}

.rc-header-race-subnav a.rc-race-state-heute.is-active,
.rc-mobile-race-tabs a.rc-race-state-heute.is-active {
    background: rgba(31, 138, 76, .16) !important;
    border-color: rgba(31, 138, 76, .28) !important;
    border-bottom-color: var(--ts-race-today) !important;
    color: #0f5138 !important;
}

.rc-header-race-subnav a.rc-race-state-kommend.is-active,
.rc-mobile-race-tabs a.rc-race-state-kommend.is-active {
    background: rgba(255, 209, 102, .20) !important;
    border-color: rgba(255, 209, 102, .44) !important;
    border-bottom-color: var(--ts-race-upcoming) !important;
    color: #5a4216 !important;
}

.rc-header-race-subnav a.rc-race-state-ergebnisse.is-active,
.rc-mobile-race-tabs a.rc-race-state-ergebnisse.is-active {
    background: rgba(184, 74, 74, .14) !important;
    border-color: rgba(184, 74, 74, .28) !important;
    border-bottom-color: var(--ts-race-results) !important;
    color: #6f2424 !important;
}

@media (max-width: 820px) {
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-heute,
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-kommend,
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-ergebnisse {
        border-bottom-width: 3px !important;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-heute.is-active {
        background: rgba(31, 138, 76, .24) !important;
        color: #f8fff9 !important;
        border-color: rgba(31, 138, 76, .38) !important;
        border-bottom-color: var(--ts-race-today) !important;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-kommend.is-active {
        background: rgba(255, 209, 102, .24) !important;
        color: #fff8df !important;
        border-color: rgba(255, 209, 102, .48) !important;
        border-bottom-color: var(--ts-race-upcoming) !important;
    }

    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-ergebnisse.is-active {
        background: rgba(184, 74, 74, .22) !important;
        color: #fff4f4 !important;
        border-color: rgba(184, 74, 74, .38) !important;
        border-bottom-color: var(--ts-race-results) !important;
    }
}


/* V168: Mobile Haupt-/Untermenü sauber getrennt */
.rc-mobile-market-tabs {
    display: none;
}

@media (max-width: 820px) {
    .rc-site-header-v3 .rc-mobile-main-tabs button {
        appearance: none;
        -webkit-appearance: none;
        font-family: inherit;
        cursor: pointer;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a,
    .rc-site-header-v3 .rc-mobile-main-tabs button {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
        padding: 0 8px;
        border-radius: 12px;
        background: rgba(255, 253, 248, .08);
        border: 1px solid rgba(255, 253, 248, .12);
        color: #fffdf8;
        text-decoration: none;
        font-size: 13px;
        font-weight: 900;
        line-height: 1;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a.is-active,
    .rc-site-header-v3 .rc-mobile-main-tabs button.is-active {
        background: #e4bf63;
        border-color: #e4bf63;
        color: #053821;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .10);
    }

    .rc-site-header-v3 .rc-mobile-sub-tabs,
    .rc-site-header-v3 .rc-mobile-race-tabs,
    .rc-site-header-v3 .rc-mobile-market-tabs {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px;
        width: 100%;
        margin: 8px 0 0;
        padding: 7px;
        border-radius: 16px;
        background: #f2eadc;
        border: 1px solid rgba(228,191,99,.34);
        box-sizing: border-box;
    }

    .rc-site-header-v3 .rc-mobile-market-tabs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        background: #edf2eb;
        border-color: rgba(15,81,56,.20);
    }

    .rc-site-header-v3 .rc-mobile-sub-tabs[hidden],
    .rc-site-header-v3 .rc-mobile-race-tabs[hidden],
    .rc-site-header-v3 .rc-mobile-market-tabs[hidden] {
        display: none !important;
    }

    .rc-site-header-v3 .rc-mobile-sub-tabs a,
    .rc-site-header-v3 .rc-mobile-race-tabs a,
    .rc-site-header-v3 .rc-mobile-market-tabs a {
        flex: 1 1 0;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 0 6px;
        border-radius: 10px;
        background: rgba(255,255,255,.68);
        border: 1px solid rgba(15,81,56,.10);
        color: #153c2b;
        text-decoration: none;
        font-size: 12px;
        font-weight: 900;
        line-height: 1;
        white-space: nowrap;
    }

    .rc-site-header-v3 .rc-mobile-sub-tabs a.is-active,
    .rc-site-header-v3 .rc-mobile-race-tabs a.is-active,
    .rc-site-header-v3 .rc-mobile-market-tabs a.is-active {
        background: #0f5138;
        border-color: #0f5138;
        color: #fffdf8;
    }
}

@media (max-width: 380px) {
    .rc-site-header-v3 .rc-mobile-sub-tabs,
    .rc-site-header-v3 .rc-mobile-race-tabs,
    .rc-site-header-v3 .rc-mobile-market-tabs {
        gap: 5px;
        padding: 6px;
    }

    .rc-site-header-v3 .rc-mobile-sub-tabs a,
    .rc-site-header-v3 .rc-mobile-race-tabs a,
    .rc-site-header-v3 .rc-mobile-market-tabs a {
        min-height: 30px;
        font-size: 11px;
        padding: 0 4px;
    }
}


/* V171: Untermenü-Lesbarkeit + Tipps-Untermenü */
.rc-mobile-tips-tabs {
    display: none;
}

@media (max-width: 820px) {
    .rc-site-header-v3 .rc-mobile-sub-tabs,
    .rc-site-header-v3 .rc-mobile-race-tabs,
    .rc-site-header-v3 .rc-mobile-market-tabs,
    .rc-site-header-v3 .rc-mobile-tips-tabs {
        background: #f3ead9 !important;
        border-color: rgba(120, 86, 34, .24) !important;
    }

    .rc-site-header-v3 .rc-mobile-market-tabs {
        background: #edf2eb !important;
    }

    .rc-site-header-v3 .rc-mobile-tips-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        background: #eee8f4 !important;
        border-color: rgba(70, 48, 94, .18) !important;
    }

    .rc-site-header-v3 .rc-mobile-tips-tabs[hidden] {
        display: none !important;
    }

    .rc-site-header-v3 .rc-mobile-sub-tabs a,
    .rc-site-header-v3 .rc-mobile-race-tabs a,
    .rc-site-header-v3 .rc-mobile-market-tabs a,
    .rc-site-header-v3 .rc-mobile-tips-tabs a {
        color: #111111 !important;
        background: rgba(255,255,255,.76) !important;
        border-color: rgba(17,17,17,.12) !important;
    }

    .rc-site-header-v3 .rc-mobile-sub-tabs a.is-active,
    .rc-site-header-v3 .rc-mobile-race-tabs a.is-active,
    .rc-site-header-v3 .rc-mobile-market-tabs a.is-active,
    .rc-site-header-v3 .rc-mobile-tips-tabs a.is-active {
        color: #111111 !important;
        background: #ffffff !important;
        border-color: rgba(17,17,17,.22) !important;
        box-shadow: inset 0 -3px 0 #0f5138;
    }

    .rc-site-header-v3 .rc-mobile-tips-tabs a.is-active {
        box-shadow: inset 0 -3px 0 #7d5aa7;
    }
}


/* V172: Heute/Kommend aktiv im mobilen Termine-Untermenü dunkel lesbar */
@media (max-width: 820px) {
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-heute.is-active,
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-kommend.is-active {
        color: #111111 !important;
        text-shadow: none !important;
    }
}


/* V173: Alle aktiven Termine-Untermenü-Punkte dunkel lesbar */
@media (max-width: 820px) {
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-heute.is-active,
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-kommend.is-active,
    .rc-site-header-v3 .rc-mobile-race-tabs a.rc-race-state-ergebnisse.is-active {
        color: #111111 !important;
        text-shadow: none !important;
    }
}


/* V277: Mobile Hauptnavigation mit sichtbarem Tippspiel
   Markt wandert ins Hamburger-Menü, Tippspiel bekommt eigene Unterpunkte. */
.rc-mobile-tippspiel-tabs {
    display: none;
}

@media (max-width: 820px) {
    .rc-site-header-v3 .rc-mobile-tippspiel-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        background: #f3ead9 !important;
        border-color: rgba(120, 86, 34, .24) !important;
    }

    .rc-site-header-v3 .rc-mobile-tippspiel-tabs[hidden] {
        display: none !important;
    }

    .rc-site-header-v3 .rc-mobile-tippspiel-tabs a {
        color: #111111 !important;
        background: rgba(255,255,255,.78) !important;
        border-color: rgba(17,17,17,.12) !important;
    }

    .rc-site-header-v3 .rc-mobile-tippspiel-tabs a.is-active {
        color: #111111 !important;
        background: #ffffff !important;
        border-color: rgba(17,17,17,.22) !important;
        box-shadow: inset 0 -3px 0 #d7ad3f;
    }

    .rc-site-header-v3 .rc-mobile-main-tabs a {
        white-space: nowrap;
    }
}
