/* Tagesprogramm Cleanup - Entfernt Zielflaggen und Positionsnummern */

/* ZIELFLAGGEN ENTFERNEN */
/* Entferne das Zielflaggen-Muster (::after Element) */
.session-card::after {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Entferne Racing Flag Patterns für verschiedene Prioritäten */
.session-card.high-priority::before,
.session-card.medium-priority::before {
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)) !important;
    background-size: auto !important;
    background-position: initial !important;
}

/* Entferne Finish Line Pattern */
.session-card.finished::before {
    background: var(--color-primary) !important;
    opacity: 1 !important;
}

/* Entferne alle Zielflaggen-ähnlichen Muster */
.session-card::after,
.session-card .chequered-flag,
.session-card .racing-flag,
.session-card .checkered-pattern {
    display: none !important;
}

/* POSITIONSNUMMERN ENTFERNEN */
/* Verstecke die Positionsnummer komplett */
.session-card__position {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Passe Grid-Layout an ohne Positionsspalte */
.session-card__header {
    grid-template-columns: 70px 1fr !important; /* Entferne die 40px für Position */
    gap: var(--spacing-sm);
}

/* Mobile Anpassung ohne Position */
@media (max-width: 768px) {
    .session-card {
        grid-template-columns: 50px 1fr !important; /* Entferne auto für Position */
    }
}

/* Entferne alle Position-bezogenen Elemente */
.session-card__number,
.session-card .position-indicator,
.session-card .racing-position {
    display: none !important;
}

/* WEITERE RACING-ELEMENTE ENTFERNEN */
/* Entferne Racing Speed Indicator */
.session-card__speed {
    display: none !important;
}

/* Entferne Position-basierte Styling */
.session-card.position-1,
.session-card.position-2, 
.session-card.position-3 {
    border: none !important;
    box-shadow: none !important;
    animation: none !important;
}

/* Entferne spezielle Position-Animationen aus racing-animations.css */
.session-card.position-1::before,
.session-card.position-2::before,
.session-card.position-3::before {
    background: var(--color-primary) !important;
    box-shadow: none !important;
    animation: none !important;
}

/* Entferne Racing Number Pulse Animation */
@keyframes racingNumberPulse {
    /* Leere Animation */
}

/* Entferne alle Racing-bezogenen Pulse-Animationen */
.session-card.position-1,
.session-card.position-2,
.session-card.position-3 {
    animation: none !important;
}

/* SAUBERES LAYOUT OHNE RACING-ELEMENTE */
/* Vereinfachtes Session Card Design */
.session-card {
    /* Entferne komplexe Racing-Stripes */
    position: relative;
}

.session-card::before {
    /* Vereinfachter linker Rand statt Racing-Stripes */
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--color-primary) !important;
    transition: all 0.2s ease;
    animation: none !important; /* Keine Racing-Stripes Animation */
}

.session-card:hover::before {
    background: var(--color-primary) !important;
    width: 4px;
}

/* Entferne Racing Stripes Animation */
@keyframes racing-stripes {
    /* Leere Animation */
}

/* Entferne Tire Marks Animation */
@keyframes tireMarks {
    /* Leere Animation */
}

.session-card:hover::after {
    animation: none !important;
}

/* CLEAN F1-STYLE OHNE POSITIONSNUMMERN */
/* Fokus auf Zeit und Inhalt statt auf Racing-Elemente */
.session-card__main {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    min-width: 0;
    flex-grow: 1; /* Nutze den verfügbaren Platz ohne Position */
}

/* Saubere Hover-Effekte ohne Racing-Gimmicks */
.session-card:hover {
    background: linear-gradient(135deg, 
        rgba(0, 0, 0, 0.06) 0%,
        rgba(255, 255, 255, 0.04) 100%);
    border-left-color: var(--color-primary);
    border-left-width: 4px;
    transform: translateX(4px);
    box-shadow: 
        0 8px 24px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* Entferne alle Racing-Sounds und Speedometer-Effekte */
@keyframes speedometer {
    /* Leere Animation */
}

/* MOBILE ANPASSUNGEN */
@media (max-width: 768px) {
    /* Stelle sicher, dass auch auf Mobile keine Positionen angezeigt werden */
    .session-card__header {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 0 !important;
        grid-template-columns: none !important;
        min-height: 100px !important;
        height: auto !important;
        width: 100% !important;
    }
    
    .session-card {
        display: block !important;
        margin-bottom: 1.5rem !important;
        padding: 0 !important;
        min-height: 100px !important;
        height: auto !important;
        background: rgba(0, 0, 0, 0.8) !important;
        border: 1px solid rgba(220, 20, 60, 0.4) !important;
        border-radius: 12px !important;
        overflow: visible !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    }
    
    .session-card__time {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 80px !important;
        width: 80px !important;
        flex: 0 0 80px !important;
        background: linear-gradient(135deg, #DC143C 0%, #B91238 100%) !important;
        border-radius: 12px 0 0 12px !important;
        padding: 0.8rem 0.3rem !important;
        margin: 0 !important;
        height: 100% !important;
        min-height: 100px !important;
    }
    
    .session-card__time-display {
        font-size: 1.3rem !important;
        font-weight: 900 !important;
        color: white !important;
        font-family: 'Courier New', monospace !important;
        line-height: 1.1 !important;
        margin-bottom: 0.3rem !important;
    }
    
    .session-card__duration {
        font-size: 0.9rem !important;
        color: rgba(255, 255, 255, 0.9) !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    
    .session-card__main {
        flex: 1 !important;
        padding: 1.2rem !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    /* MOBILE: Ultra-spezifisch für Textumbruch-Fix */
    html body section#programm.programm .session-card .session-card__title {
        color: white !important;
        font-size: 1.1rem !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        margin: 0 0 0.5rem 0 !important;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
        
        /* MOBILE: Sanfte Textumbruch-Regeln - Ganze Wörter verschieben */
        word-wrap: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        
        /* MOBILE: Display-Fix gegen webkit-box */
        display: block !important;
        white-space: normal !important;
        max-height: none !important;
        height: auto !important;
        
        /* MOBILE: Webkit-box vollständig deaktivieren */
        overflow: visible !important;
        text-overflow: unset !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        
        /* MOBILE: Flex-Eigenschaften deaktivieren */
        align-items: unset !important;
        justify-content: unset !important;
    }
    
    .session-card__main {
        flex: 1 !important;
        padding: 1rem !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        background: transparent !important;
        border-radius: 0 12px 12px 0 !important;
        min-width: 0 !important;
        overflow: visible !important;
        height: auto !important;
        align-items: flex-start !important;
    }
    
    .session-card__details {
        margin-top: 0.8rem !important;
    }
    
    .session-card__description {
        color: rgba(255, 255, 255, 0.85) !important;
        font-size: 1rem !important;
        line-height: 1.4 !important;
        margin: 0 0 0.8rem 0 !important;
        
        /* MOBILE: Sanfte Textumbruch-Regeln für Beschreibung */
        word-wrap: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        white-space: normal !important;
        
        /* Flexibler Text ohne harte Begrenzung */
        display: block !important;
        overflow: visible !important;
        max-height: none !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
    }
    
    .session-card__footer {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.4rem !important;
        font-size: 0.9rem !important;
    }
    
    .session-card__location {
        color: rgba(255, 255, 255, 0.7) !important;
        font-weight: 500 !important;
    }
    
    .session-card__end-time {
        color: rgba(255, 255, 255, 0.6) !important;
        font-style: italic !important;
    }
    
    .session-card__position,
    .session-card__number,
    .session-card__speed {
        display: none !important;
    }
    
    /* MOBILE: Übergeordnete Container nicht begrenzen - ULTRA SPEZIFISCH */
    html body section#programm.programm {
        padding: 0 !important;
        margin: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        overflow-x: visible !important;
    }
    
    html body section#programm.programm .container {
        padding: 1.5rem 1rem !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    
    html body section#programm.programm .programm__tabs,
    html body section#programm.programm .programm__content,
    html body section#programm.programm .programm__day {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* SEHR KLEINE BILDSCHIRME */
@media (max-width: 480px) {
    .session-card {
        min-height: 110px !important;
        margin-bottom: 1.2rem !important;
    }
    
    .session-card__time {
        min-width: 100px !important;
        width: 100px !important;
        flex: 0 0 100px !important;
        min-height: 110px !important;
        padding: 0.8rem 0.4rem !important;
    }
    
    .session-card__time-display {
        font-size: 1.2rem !important;
    }
    
    .session-card__duration {
        font-size: 0.8rem !important;
    }
    
    .session-card__main {
        padding: 1rem !important;
    }
    
    /* KLEINE BILDSCHIRME: Ultra-spezifisch für Textumbruch-Fix */
    html body section#programm.programm .session-card .session-card__title {
        font-size: 1.1rem !important;
        margin-bottom: 0.6rem !important;
        
        /* Kleine Bildschirme: Sanfte Textumbrüche - Ganze Wörter */
        word-wrap: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        white-space: normal !important;
        overflow: visible !important;
        
        /* Kleine Bildschirme: Webkit-box deaktivieren */
        display: block !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        text-overflow: unset !important;
        max-height: none !important;
        
        /* Kleine Bildschirme: Flex-Properties deaktivieren */
        align-items: unset !important;
        justify-content: unset !important;
    }
    
    .session-card__description {
        font-size: 0.95rem !important;
        margin-bottom: 0.6rem !important;
        
        /* Kleine Bildschirme: Sanfte Textumbrüche */
        word-wrap: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        white-space: normal !important;
        overflow: visible !important;
        -webkit-line-clamp: unset !important;
    }
    
    .session-card__footer {
        font-size: 0.85rem !important;
        gap: 0.3rem !important;
    }
}

/* FINAL CLEANUP */
/* Entferne alle versteckten Racing-Elemente die eventuell noch da sind */
[class*="position-"],
[class*="racing-"],
[class*="flag"],
[class*="chequered"],
[class*="checkered"] {
    display: none !important;
}

/* Stelle sicher, dass nur wesentliche Session-Info angezeigt wird */
.session-card {
    /* Fokus auf: Zeit, Titel, Beschreibung */
    /* Ohne: Positionsnummern, Flaggen, Racing-Gimmicks */
}

/* Behalte nur die wichtigen visuellen Effekte */
.session-card:hover {
    /* Einfacher, professioneller Hover ohne Racing-Theater */
}

/* DEBUGGING: Stelle sicher, dass das neue Layout sichtbar ist */
.racing-timeline {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.session-card {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: rgba(0, 0, 0, 0.8) !important;
    border: 1px solid rgba(220, 20, 60, 0.4) !important;
    border-radius: 8px !important;
    padding: 0 !important;
    margin-bottom: 1.2rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
    transition: all 0.2s ease !important;
}

.session-card__header {
    display: flex !important;
    gap: 0 !important;
    align-items: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 80px !important;
}

.session-card__time {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 80px !important;
    width: 80px !important;
    flex: 0 0 80px !important;
    background: linear-gradient(135deg, #DC143C 0%, #B91238 100%) !important;
    border-radius: 8px 0 0 8px !important;
    padding: 1rem 0.5rem !important;
    margin: 0 !important;
    height: 100% !important;
    min-height: 80px !important;
    text-align: center !important;
    box-shadow: 0 2px 8px rgba(220, 20, 60, 0.3) !important;
}

.session-card__time-display {
    font-size: 1.1rem !important;
    font-weight: 900 !important;
    color: white !important;
    font-family: 'Courier New', monospace !important;
    line-height: 1.1 !important;
    margin-bottom: 0.2rem !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}

.session-card__duration {
    font-size: 0.75rem !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.session-card__main {
    flex: 1 !important;
    padding: 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: transparent !important;
    border-radius: 0 12px 12px 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

/* ULTRA-SPEZIFISCH: Überschreibt alle anderen CSS-Quellen */
html body section.programm .session-card .session-card__title {
    color: white !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 0.3rem 0 !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
    
    /* TEXTUMBRUCH-FIX: Ganze Wörter verschieben */
    word-wrap: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
    
    /* DISPLAY-FIX: Blockiert webkit-box */
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    
    /* WEBKIT-BOX DEAKTIVIERUNG */
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    text-overflow: unset !important;
}

/* DESKTOP: Hover-Effekte für Session Cards */
.session-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5) !important;
    border-color: rgba(220, 20, 60, 0.6) !important;
}

.session-card:hover .session-card__time {
    background: linear-gradient(135deg, #FF1744 0%, #DC143C 100%) !important;
    box-shadow: 0 4px 12px rgba(220, 20, 60, 0.4) !important;
}

/* SCROLL-EFFECTS CSS DEAKTIVIEREN - VERHINDERT TRANSPARENZ BEIM SCROLLEN */
.scroll-effect,
.scroll-effect.scroll-visible,
.scroll-effect.scroll-hidden,
.session-card.scroll-effect,
.ticket-card.scroll-effect,
.testimonial.scroll-effect,
.container.scroll-effect,
.section__title.scroll-effect,
.gallery__item.scroll-effect {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
    contain: none !important;
    transform-style: initial !important;
    backface-visibility: initial !important;
}

/* CONTAINER-TRANSPARENZ FINAL FIX - Verhindert alle Container-Transparenz */
/* Das Problem: Verschiedene JS-Dateien setzen scroll-effect auf .container Elemente */

/* LÖSUNG: Alle .container in problematischen Sektionen sind IMMER sichtbar */
section.partner .container,
section#partner .container,
section.events-testimonials .container,
section#events-testimonials .container,  
section.location .container,
section#location .container,
section.faq .container,
section#faq .container {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
    contain: none !important;
    transform-style: initial !important;
    backface-visibility: initial !important;
    filter: none !important;
}

/* ZUSÄTZLICH: Deaktiviert scroll-effect auf diesen spezifischen Containern */
section.partner .container.scroll-effect,
section#partner .container.scroll-effect,
section.events-testimonials .container.scroll-effect,
section#events-testimonials .container.scroll-effect,  
section.location .container.scroll-effect,
section#location .container.scroll-effect,
section.faq .container.scroll-effect,
section#faq .container.scroll-effect,
section.partner .container.scroll-effect.scroll-visible,
section.partner .container.scroll-effect.scroll-hidden,
section.events-testimonials .container.scroll-effect.scroll-visible,
section.events-testimonials .container.scroll-effect.scroll-hidden,
section.location .container.scroll-effect.scroll-visible,
section.location .container.scroll-effect.scroll-hidden,
section.faq .container.scroll-effect.scroll-visible,
section.faq .container.scroll-effect.scroll-hidden {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
    contain: none !important;
    transform-style: initial !important;
    backface-visibility: initial !important;
    filter: none !important;
}

.session-card__details {
    padding: 0 1rem 1rem 1rem !important;
    margin-top: 0 !important;
}

.session-card__description {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    margin: 0 0 0.8rem 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.session-card__footer {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem !important;
    font-size: 0.9rem !important;
}

.session-card__location {
    color: rgba(255, 255, 255, 0.7) !important;
    font-weight: 500 !important;
}

.session-card__end-time {
    color: rgba(255, 255, 255, 0.6) !important;
    font-style: italic !important;
}

/* ÜBERGEORDNETE CONTAINER ERWEITERN - ULTRA SPEZIFISCH */
html body section.programm {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

html body section.programm .container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 2rem 1rem !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

html body section.programm .programm__tabs {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

html body section.programm .programm__content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

html body section.programm .programm__day {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

