/*
 * Gebäudereinigung Nürnberg - Frontend Styles
 * Professioneller Gebäudeservice
 * Blau (#009bff) | Albert Sans | Modern Clean Design
 * ALL STYLES WITH !important TO PREVENT THEME OVERRIDES
 */

/* ==================== CSS VARIABLES - SCOPED TO PLUGIN SECTIONS ==================== */
/* Define variables on each plugin section to avoid global theme conflicts */
.lb-gs-header,
.lb-gs-hero,
.lb-gs-services,
.lb-gs-projects,
.lb-gs-faqs,
.lb-gs-about,
.lb-gs-contact,
.lb-gs-footer,
.lb-gs-service-modal,
.lb-gs-faq-modal {
    /* Colors - Blue Accent Theme */
    --primary-color: #009bff !important;
    --primary-dark: #0080d4 !important;
    --foreground: #4d4d4d !important;
    --background: #ffffff !important;
    --muted: #f0f0f0 !important;
    --muted-foreground: #6b6b6b !important;
    --card: #ffffff !important;
    --card-foreground: #4d4d4d !important;
    --border: #e0e0e0 !important;

    /* Typography - Albert Sans only */
    --font-serif: 'Albert Sans', sans-serif !important;
    --font-sans: 'Albert Sans', sans-serif !important;
    --font-weight-heading: 600 !important;
    --font-weight-body: 200 !important;

    /* Shadows - matching React app shadow-md */
    --shadow-md: 0px 6px 12px -2px rgba(0, 0, 0, 0.10), 0px 3px 6px -3px rgba(0, 0, 0, 0.06) !important;
    --shadow-lg: 0px 10px 20px -4px rgba(0, 0, 0, 0.12), 0px 4px 8px -4px rgba(0, 0, 0, 0.08) !important;

    /* Transitions - all 500ms for consistency */
    --transition-duration: 500ms !important;

    /* Border Radius - subtle rounding for modern look */
    --radius: 4px !important;
}

/* ==================== SCOPED RESET - PLUGIN SECTIONS ONLY ==================== */
/* Reset only within plugin sections to avoid breaking WordPress/theme */
.lb-gs-header *,
.lb-gs-hero *,
.lb-gs-services *,
.lb-gs-projects *,
.lb-gs-faqs *,
.lb-gs-about *,
.lb-gs-contact *,
.lb-gs-footer *,
.lb-gs-service-modal *,
.lb-gs-faq-modal * {
    box-sizing: border-box !important;
}

/* Apply resets only to direct plugin section elements */
.lb-gs-header,
.lb-gs-hero,
.lb-gs-services,
.lb-gs-projects,
.lb-gs-faqs,
.lb-gs-about,
.lb-gs-contact,
.lb-gs-footer {
    font-family: 'Albert Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: var(--foreground) !important;
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Typography scoped to plugin sections */
.lb-gs-header p, .lb-gs-header span, .lb-gs-header div, .lb-gs-header button, .lb-gs-header a, .lb-gs-header label,
.lb-gs-hero p, .lb-gs-hero span, .lb-gs-hero div, .lb-gs-hero input, .lb-gs-hero textarea, .lb-gs-hero select, .lb-gs-hero button, .lb-gs-hero a, .lb-gs-hero label,
.lb-gs-services p, .lb-gs-services span, .lb-gs-services div, .lb-gs-services input, .lb-gs-services textarea, .lb-gs-services select, .lb-gs-services button, .lb-gs-services a, .lb-gs-services label,
.lb-gs-projects p, .lb-gs-projects span, .lb-gs-projects div, .lb-gs-projects input, .lb-gs-projects textarea, .lb-gs-projects select, .lb-gs-projects button, .lb-gs-projects a, .lb-gs-projects label,
.lb-gs-faqs p, .lb-gs-faqs span, .lb-gs-faqs div, .lb-gs-faqs input, .lb-gs-faqs textarea, .lb-gs-faqs select, .lb-gs-faqs button, .lb-gs-faqs a, .lb-gs-faqs label,
.lb-gs-about p, .lb-gs-about span, .lb-gs-about div, .lb-gs-about input, .lb-gs-about textarea, .lb-gs-about select, .lb-gs-about button, .lb-gs-about a, .lb-gs-about label,
.lb-gs-contact p, .lb-gs-contact span, .lb-gs-contact div, .lb-gs-contact input, .lb-gs-contact textarea, .lb-gs-contact select, .lb-gs-contact button, .lb-gs-contact a, .lb-gs-contact label,
.lb-gs-footer p, .lb-gs-footer span, .lb-gs-footer div, .lb-gs-footer button, .lb-gs-footer a,
.lb-gs-service-modal p, .lb-gs-service-modal span, .lb-gs-service-modal div, .lb-gs-service-modal button, .lb-gs-service-modal a,
.lb-gs-faq-modal p, .lb-gs-faq-modal span, .lb-gs-faq-modal div, .lb-gs-faq-modal button, .lb-gs-faq-modal a {
    font-family: 'Albert Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Headings scoped to plugin sections - SemiBold 600 */
.lb-gs-hero h1, .lb-gs-hero h2, .lb-gs-hero h3, .lb-gs-hero h4, .lb-gs-hero h5, .lb-gs-hero h6,
.lb-gs-services h1, .lb-gs-services h2, .lb-gs-services h3, .lb-gs-services h4, .lb-gs-services h5, .lb-gs-services h6,
.lb-gs-projects h1, .lb-gs-projects h2, .lb-gs-projects h3, .lb-gs-projects h4, .lb-gs-projects h5, .lb-gs-projects h6,
.lb-gs-faqs h1, .lb-gs-faqs h2, .lb-gs-faqs h3, .lb-gs-faqs h4, .lb-gs-faqs h5, .lb-gs-faqs h6,
.lb-gs-about h1, .lb-gs-about h2, .lb-gs-about h3, .lb-gs-about h4, .lb-gs-about h5, .lb-gs-about h6,
.lb-gs-contact h1, .lb-gs-contact h2, .lb-gs-contact h3, .lb-gs-contact h4, .lb-gs-contact h5, .lb-gs-contact h6,
.lb-gs-service-modal h1, .lb-gs-service-modal h2, .lb-gs-service-modal h3, .lb-gs-service-modal h4, .lb-gs-service-modal h5, .lb-gs-service-modal h6,
.lb-gs-faq-modal h1, .lb-gs-faq-modal h2, .lb-gs-faq-modal h3, .lb-gs-faq-modal h4, .lb-gs-faq-modal h5, .lb-gs-faq-modal h6 {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Albert Sans', sans-serif !important;
    font-weight: 600 !important;
}

/* Body text - Ultra Light 200 */
.lb-gs-hero p, .lb-gs-hero span, .lb-gs-hero li, .lb-gs-hero a,
.lb-gs-services p, .lb-gs-services span, .lb-gs-services li,
.lb-gs-projects p, .lb-gs-projects span, .lb-gs-projects li,
.lb-gs-faqs p, .lb-gs-faqs span, .lb-gs-faqs li,
.lb-gs-about p, .lb-gs-about span, .lb-gs-about li,
.lb-gs-contact p, .lb-gs-contact span, .lb-gs-contact li,
.lb-gs-service-modal p, .lb-gs-service-modal span, .lb-gs-service-modal li,
.lb-gs-faq-modal p, .lb-gs-faq-modal span, .lb-gs-faq-modal li {
    font-weight: 200 !important;
}

/* ==================== SMOOTH SCROLL ==================== */
html {
    scroll-behavior: smooth !important;
}

/* ==================== CONTAINER ==================== */
.lb-gs-container {
    max-width: 87.5rem !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

/* ==================== SKIP-LINK (Accessibility) ==================== */
.lb-gs-skip-link {
    position: absolute !important;
    top: -100px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--primary-color, #009bff) !important;
    color: #ffffff !important;
    padding: 0.75rem 1.5rem !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    border-radius: 0 0 8px 8px !important;
    z-index: 10000 !important;
    transition: top 0.3s ease !important;
    font-family: 'Albert Sans', sans-serif !important;
}

.lb-gs-skip-link:focus {
    top: 0 !important;
    outline: 3px solid var(--primary-dark, #0080d4) !important;
    outline-offset: 2px !important;
}

/* ==================== HEADER ==================== */
.lb-gs-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    background: rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    transition: background var(--transition-duration) ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-header__container {
    max-width: 87.5rem !important;
    margin: 0 auto !important;
    padding: 1rem 2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.lb-gs-header__logo {
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-header__logo a {
    text-decoration: none !important;
    color: var(--primary-color) !important;
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 1.5rem !important;
    transition: opacity var(--transition-duration) ease !important;
}

.lb-gs-header__logo a:hover {
    opacity: 0.8 !important;
}

.lb-gs-header__logo-placeholder {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 1.5rem !important;
    color: var(--primary-color) !important;
    font-weight: 400 !important;
}

/* Header Logo Image - Größer für bessere Sichtbarkeit */
.lb-gs-header__logo-image {
    width: 200px !important; /* Desktop: gut sichtbare Größe */
    max-width: 200px !important;
    height: auto !important;
    max-height: 70px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

.lb-gs-header__nav {
    display: none !important;
    gap: 2rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (min-width: 768px) {
    .lb-gs-header__nav {
        display: flex !important;
    }
}

.lb-gs-header__nav-link {
    font-family: var(--font-sans) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: var(--foreground) !important;
    text-decoration: none !important;
    transition: color var(--transition-duration) ease !important;
    padding: 0.5rem 0 !important;
    margin: 0 !important;
}

.lb-gs-header__nav-link:hover {
    color: var(--primary-color) !important;
}

.lb-gs-header__cta {
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-header__cta-button {
    display: inline-block !important;
    padding: 0.75rem 1.5rem !important;
    background: var(--primary-color) !important;
    color: white !important;
    font-family: var(--font-sans) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: var(--radius) !important;
    transition: background var(--transition-duration) ease !important;
    border: none !important;
    cursor: pointer !important;
    margin: 0 !important;
}

.lb-gs-header__cta-button:hover {
    background: var(--primary-dark) !important;
}

/* ==================== HERO SECTION ==================== */
.lb-gs-hero {
    position: relative !important;
    height: 100vh !important;
    min-height: 600px !important;
    overflow: hidden !important;
    background: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hero Hintergrundbild Container */
.lb-gs-hero__background-container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-hero__picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.lb-gs-hero__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-hero__placeholder,
.lb-gs-hero__placeholder-bg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%) !important;
    color: var(--muted-foreground) !important;
    font-family: var(--font-sans) !important;
}

/* Legacy Video-Klassen für Rückwärtskompatibilität */
.lb-gs-hero__video-container {
    display: none !important;
}

.lb-gs-hero__video-desktop,
.lb-gs-hero__video-mobile {
    display: none !important;
}

.lb-gs-hero__overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.4) !important; /* 40% schwarz für bessere Textlesbarkeit */
    z-index: 1 !important;
    pointer-events: none !important;
}

.lb-gs-hero__content {
    position: absolute !important;
    bottom: 80px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    color: white !important;
    z-index: 2 !important;
    width: 90% !important;
    max-width: 1000px !important;
    animation: slideUp 1s ease-out !important;
    margin: 0 !important;
    padding: 0 1rem !important;
}

@keyframes slideUp {
    from {
        opacity: 0 !important;
        transform: translateX(-50%) translateY(30px) !important;
    }
    to {
        opacity: 1 !important;
        transform: translateX(-50%) translateY(0) !important;
    }
}

.lb-gs-hero__heading {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: clamp(2rem, 6vw, 4rem) !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
        color: white !important;    
        text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5) !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
}

.lb-gs-hero__subheading {
    font-family: var(--font-sans) !important;
    font-size: clamp(1.125rem, 2.5vw, 1.5rem) !important;
    margin: 0 0 2rem 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5) !important;
    color: white !important;
}

.lb-gs-hero__cta-button {
    display: inline-block !important;
    padding: 1rem 2.5rem !important;
    background: var(--primary-color) !important;
    color: white !important;
    font-family: var(--font-sans) !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: var(--radius) !important;
    transition: all var(--transition-duration) ease !important;
    border: none !important;
    cursor: pointer !important;
    margin: 0 !important;
    box-shadow: 0 4px 12px rgba(155, 27, 48, 0.3) !important;
}

.lb-gs-hero__cta-button:hover {
    background: var(--primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(155, 27, 48, 0.4) !important;
}

/* ==================== HERO BACKGROUND SLIDESHOW ==================== */
.lb-gs-hero__bg-slideshow {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    overflow: hidden !important;
}

.lb-gs-hero__bg-slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    opacity: 0 !important;
    transition: opacity 1.5s ease-in-out !important;
    z-index: 0 !important;
}

.lb-gs-hero__bg-slide.active {
    opacity: 1 !important;
    z-index: 1 !important;
}

/* Mobiles Hintergrundbild (ersetzt Slideshow auf Mobile) */
.lb-gs-hero__mobile-bg {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    z-index: 0 !important;
}

@media (max-width: 767px) {
    /* Auf Mobile: Slideshow verstecken, mobiles Bild anzeigen (falls vorhanden) */
    .lb-gs-hero__mobile-bg {
        display: block !important;
    }

    .lb-gs-hero__mobile-bg ~ .lb-gs-hero__bg-slideshow,
    .lb-gs-hero:has(.lb-gs-hero__mobile-bg) .lb-gs-hero__bg-slideshow {
        display: none !important;
    }
}

/* Overlay über Slideshow */
.lb-gs-hero:has(.lb-gs-hero__bg-slideshow) .lb-gs-hero__overlay {
    z-index: 2 !important;
}

/* Content über Slideshow */
.lb-gs-hero:has(.lb-gs-hero__bg-slideshow) .lb-gs-hero__content {
    z-index: 3 !important;
}

/* ==================== SERVICES SECTION ==================== */
.lb-gs-services {
    padding: 5rem 1rem !important;
    background: var(--background) !important;
    margin: 0 !important;
}

.lb-gs-services__heading {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: clamp(3rem, 6vw, 4rem) !important;
    color: var(--primary-color) !important;
    text-align: center !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
}

.lb-gs-services__subtitle {
    text-align: center !important;
    color: var(--muted-foreground) !important;
    font-size: 1.125rem !important;
    margin: 0 auto 4rem !important;
    padding: 0 !important;
    max-width: 48rem !important;
    line-height: 1.8 !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-services__grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 2rem !important;
    max-width: 87.5rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.lb-gs-service-card {
    background: white !important;
    padding: 2rem !important;
    box-shadow: var(--shadow-md) !important;
    cursor: pointer !important;
    transition: transform var(--transition-duration) ease !important;
    border-radius: var(--radius) !important;
    border: none !important;
    margin: 0 !important;
}

.lb-gs-service-card:hover {
    transform: translateY(-4px) !important;
}

.lb-gs-service-card__icon {
    color: var(--primary-color) !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    width: 48px !important;
    height: 48px !important;
}

.lb-gs-service-card__icon svg {
    width: 100% !important;
    height: 100% !important;
    stroke-width: 1.5 !important;
    color: var(--primary-color) !important;
}

.lb-gs-service-card__title {
    font-family: var(--font-sans) !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: var(--foreground) !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.lb-gs-service-card__description {
    color: var(--muted-foreground) !important;
    line-height: 1.75 !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-service-card__learn-more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    color: var(--primary-color) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: gap var(--transition-duration) ease !important;
    font-family: var(--font-sans) !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
}

.lb-gs-service-card__learn-more:hover {
    gap: 0.75rem !important;
}

.lb-gs-service-card__learn-more .lb-gs-button-arrow {
    transition: transform var(--transition-duration) ease !important;
    display: inline-block !important;
}

.lb-gs-service-card__learn-more:hover .lb-gs-button-arrow {
    transform: translateX(0.25rem) !important;
}

/* Service Modal/Dialog */
.lb-gs-service-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.7) !important;
    z-index: 99999 !important;
    display: flex !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.25rem !important;
    margin: 0 !important;
    transition: opacity var(--transition-duration) ease, visibility var(--transition-duration) ease !important;
}

.lb-gs-service-modal.lb-gs-modal-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 99999 !important;
}

.lb-gs-service-modal.lb-gs-modal-open {
    display: flex !important;
    animation: fadeIn var(--transition-duration) ease !important;
}

@keyframes fadeIn {
    from { opacity: 0 !important; }
    to { opacity: 1 !important; }
}

.lb-gs-service-modal__content {
    background: white !important;
    padding: 3rem !important;
    max-width: 56rem !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    position: relative !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-lg) !important;
    animation: slideInModal var(--transition-duration) ease !important;
    margin: 0 !important;
}

@keyframes slideInModal {
    from {
        opacity: 0 !important;
        transform: scale(0.95) !important;
    }
    to {
        opacity: 1 !important;
        transform: scale(1) !important;
    }
}

.lb-gs-service-modal__close {
    position: absolute !important;
    top: 1.25rem !important;
    right: 1.25rem !important;
    background: none !important;
    border: none !important;
    font-size: 1.5rem !important;
    cursor: pointer !important;
    color: var(--muted-foreground) !important;
    line-height: 1 !important;
    width: 2rem !important;
    height: 2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color var(--transition-duration) ease !important;
    padding: 0 !important;
    margin: 0 !important;
}

.lb-gs-service-modal__close:hover {
    color: var(--foreground) !important;
}

.lb-gs-service-modal__body h3 {
    color: var(--primary-color) !important;
    font-family: var(--font-sans) !important;
    font-size: 1.875rem !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    font-weight: 600 !important;
}

.lb-gs-service-modal__body h4 {
    color: var(--foreground) !important;
    font-family: var(--font-sans) !important;
    font-size: 1.25rem !important;
    margin: 2rem 0 1rem 0 !important;
    padding: 0 !important;
    font-weight: 600 !important;
}

.lb-gs-service-modal__body p {
    color: var(--foreground) !important;
    margin: 1rem 0 !important;
    padding: 0 !important;
    line-height: 1.75 !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-service-modal__body ul {
    padding: 0 0 0 1.5rem !important;
    margin: 1rem 0 !important;
    list-style-type: disc !important;
}

.lb-gs-service-modal__body li {
    margin: 0.75rem 0 !important;
    padding: 0 !important;
    line-height: 1.75 !important;
    color: var(--foreground) !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-service-modal__body strong {
    color: var(--foreground) !important;
    font-weight: 600 !important;
}

/* ==================== BEFORE/AFTER PROJECTS SECTION ==================== */
.lb-gs-projects {
    padding: 5rem 1rem !important;
    background: var(--background) !important;
    margin: 0 !important;
}

.lb-gs-projects__heading {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: clamp(3rem, 6vw, 4rem) !important;
    color: var(--primary-color) !important;
    text-align: center !important;
    margin: 0 0 4rem 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
}

/* Platzhalter wenn keine Projekte vorhanden */
.lb-gs-projects__placeholder {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 4rem 2rem !important;
    margin: 0 auto !important;
    max-width: 500px !important;
}

.lb-gs-projects__placeholder-icon {
    color: var(--muted-foreground) !important;
    margin: 0 0 1.5rem 0 !important;
    opacity: 0.5 !important;
}

.lb-gs-projects__placeholder-icon svg {
    width: 80px !important;
    height: 80px !important;
}

.lb-gs-projects__placeholder-title {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: var(--foreground) !important;
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
}

.lb-gs-projects__placeholder-text {
    font-family: var(--font-sans) !important;
    font-size: 1rem !important;
    color: var(--muted-foreground) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Desktop: 3-Spalten Grid für Projekte */
.lb-gs-projects__grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.lb-gs-projects__item {
    position: relative !important;
    overflow: hidden !important;
    border-radius: var(--radius) !important;
    aspect-ratio: 4/3 !important;
    box-shadow: var(--shadow-md) !important;
    transition: transform var(--transition-duration) ease, box-shadow var(--transition-duration) ease !important;
}

.lb-gs-projects__item:hover {
    transform: translateY(-5px) !important;
    box-shadow: var(--shadow-lg) !important;
}

.lb-gs-projects__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform var(--transition-duration) ease !important;
}

.lb-gs-projects__item:hover .lb-gs-projects__image {
    transform: scale(1.05) !important;
}

.lb-gs-projects__overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7)) !important;
    padding: 2rem 1rem 1rem !important;
}

.lb-gs-projects__title {
    color: white !important;
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* Mobile: Slider verstecken auf Desktop, Grid verstecken auf Mobile */
.lb-gs-projects__mobile-only {
    display: none !important;
}

@media (max-width: 768px) {
    .lb-gs-projects__grid {
        display: none !important;
    }

    .lb-gs-projects__mobile-only {
        display: block !important;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .lb-gs-projects__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.lb-gs-projects__slider-wrapper {
    max-width: 62.5rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.lb-gs-projects__slider {
    position: relative !important;
    min-height: 500px !important;
    border: 2px solid var(--foreground) !important;
    box-shadow: var(--shadow-lg) !important;
    overflow: hidden !important;
    border-radius: var(--radius) !important;
    margin: 0 !important;
    padding: 0 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

/* Dynamically generated slider container */
.project-container {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

.project-container * {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

.lb-gs-projects__slide {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    padding: 2rem !important;
    margin: 0 !important;
    transition: clip-path var(--transition-duration) ease !important;
}

/* Exception: Allow Pinyon Script on slider labels */
.project-label-before-wrapper span,
.project-label-after-wrapper span {
    font-family: 'Albert Sans', sans-serif !important;
}

.lb-gs-projects__controls {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 1.5rem !important;
    margin: 2.5rem 0 0 0 !important;
    padding: 0 !important;
}

.lb-gs-projects__btn {
    width: 3rem !important;
    height: 3rem !important;
    background: var(--primary-color) !important;
    color: white !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 1.25rem !important;
    transition: background var(--transition-duration) ease !important;
    border-radius: var(--radius) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-projects__btn:hover {
    background: var(--primary-dark) !important;
}

.lb-gs-projects__dots {
    display: flex !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-projects__dot {
    width: 0.5rem !important;
    height: 0.5rem !important;
    background: var(--muted-foreground) !important;
    border: none !important;
    cursor: pointer !important;
    transition: all var(--transition-duration) ease !important;
    border-radius: var(--radius) !important;
    padding: 0 !important;
    margin: 0 !important;
}

.lb-gs-projects__dot.active {
    background: var(--primary-color) !important;
    width: 2rem !important;
}

/* ==================== FAQ SECTION - 2 Spalten Akkordeon ==================== */
.lb-gs-faqs {
    padding: 5rem 1rem !important;
    background: var(--background) !important;
    margin: 0 !important;
    /* BUGFIX: Verhindere horizontales Scrollen */
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

.lb-gs-faqs__wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    /* KEIN overflow: hidden - sonst werden Icons abgeschnitten! */
}

@media (min-width: 768px) {
    .lb-gs-faqs__wrapper {
        grid-template-columns: 1fr 1.2fr !important; /* Bessere Proportionen */
        gap: 2rem !important; /* Reduziert von 4rem auf 2rem (32px) */
        align-items: start !important;
    }
}

/* Linke Spalte: Intro */
.lb-gs-faqs__intro {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.lb-gs-faqs__heading {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    color: var(--primary-color) !important;
    text-align: left !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    /* BUGFIX: Text-Wrap */
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

.lb-gs-faqs__intro-text {
    font-family: var(--font-sans) !important;
    font-size: 1rem !important;
    color: var(--muted-foreground) !important;
    line-height: 1.75 !important;
    margin: 0 !important;
    padding: 0 !important;
    /* BUGFIX: Text-Wrap */
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Rechte Spalte: Akkordeon */
.lb-gs-faqs__accordion {
    margin: 0 !important;
    padding: 0 !important;
    /* Container-Breite begrenzen */
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    /* Kein overflow: hidden - sonst wird Icon abgeschnitten! */
}

.lb-gs-faq-item {
    border-bottom: 1px solid var(--border) !important;
    margin: 0 !important;
    padding: 0 !important;
    /* Container-Breite begrenzen */
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    /* Kein overflow: hidden - sonst wird Icon abgeschnitten! */
}

.lb-gs-faq-item:first-child {
    border-top: 1px solid var(--border) !important;
}

.lb-gs-faq-item__question {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.25rem 0 !important;
    margin: 0 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    text-align: left !important;
    font-family: var(--font-sans) !important;
    font-size: 1.125rem !important;
    font-weight: 500 !important;
    color: var(--foreground) !important;
    transition: color var(--transition-duration) ease !important;
    gap: 1rem !important;
    box-sizing: border-box !important;
    /* KEIN overflow: hidden - Icon muss sichtbar sein! */
    white-space: normal !important;
}

.lb-gs-faq-item__question:hover {
    color: var(--primary-color) !important;
}

.lb-gs-faq-item__question span:first-child {
    flex: 1 1 0% !important; /* Wachsen, Schrumpfen, Basis 0 */
    min-width: 0 !important; /* KRITISCH: Erlaubt Schrumpfen unter Content-Größe */
    /* Text-Wrap Eigenschaften */
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    /* Text-Overflow für lange Wörter */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.lb-gs-faq-item__icon {
    flex-shrink: 0 !important;
    display: inline-flex !important; /* BUGFIX: Span muss flex sein für SVG */
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important; /* Verhindert Schrumpfen */
    color: var(--primary-color) !important;
    transition: transform var(--transition-duration) ease !important;
}

.lb-gs-faq-item__icon svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important; /* BUGFIX: SVG als Block-Element */
}

.lb-gs-faq-icon-vertical {
    transition: transform var(--transition-duration) ease, opacity var(--transition-duration) ease !important;
    transform-origin: center !important;
}

.lb-gs-faq-item.active .lb-gs-faq-icon-vertical {
    transform: rotate(90deg) !important;
    opacity: 0 !important;
}

.lb-gs-faq-item__answer {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease, padding 0.4s ease !important;
}

.lb-gs-faq-item.active .lb-gs-faq-item__answer {
    max-height: 500px !important;
}

.lb-gs-faq-item__answer-content {
    padding: 0 0 1.5rem 0 !important;
    margin: 0 !important;
    font-family: var(--font-sans) !important;
    font-size: 1rem !important;
    color: var(--muted-foreground) !important;
    line-height: 1.75 !important;
    /* BUGFIX: Text-Wrap auch für Antworten */
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
}

.lb-gs-faq-item__answer-content p {
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Responsive Anpassungen */
@media (max-width: 767px) {
    .lb-gs-faqs__heading {
        text-align: center !important;
    }

    .lb-gs-faqs__intro-text {
        text-align: center !important;
    }
}

/* ==================== ABOUT SECTION ==================== */
.lb-gs-about {
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 600px !important;
}

.lb-gs-about__heading {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: clamp(3rem, 6vw, 4rem) !important;
    color: var(--primary-color) !important;
    margin: 0 0 2rem 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.lb-gs-about__wrapper {
    position: relative !important;
    width: 100% !important;
    min-height: 600px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 0 !important;
    margin: 0 !important;
}

.lb-gs-about__image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
}

.lb-gs-about__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-about__image-placeholder {
    width: 100% !important;
    height: 100% !important;
    background: var(--muted) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px dashed rgba(0, 0, 0, 0.2) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-about__image-placeholder p {
    color: var(--muted-foreground) !important;
    font-size: 0.875rem !important;
    text-align: center !important;
    padding: 1rem !important;
    margin: 0 !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-about__text {
    position: relative !important;
    z-index: 2 !important;
    max-width: 600px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    padding: 4rem 3rem !important;
    margin: 0 4rem 0 0 !important;
    box-shadow: var(--shadow-lg) !important;
}

@media (max-width: 1024px) {
    .lb-gs-about__wrapper {
        justify-content: center !important;
    }
    
    .lb-gs-about__text {
        margin: 2rem !important;
        padding: 3rem 2rem !important;
        max-width: 90% !important;
    }
}

@media (max-width: 768px) {
    .lb-gs-about__text {
        padding: 2rem 1.5rem !important;
    }
}

.lb-gs-about__text blockquote {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 2rem !important;
    color: var(--primary-color) !important;
    margin: 0 0 2rem 0 !important;
    padding: 0 !important;
    font-style: italic !important;
    line-height: 1.5 !important;
}

.lb-gs-about__text p {
    font-family: var(--font-sans) !important;
    font-size: 1rem !important;
    color: var(--foreground) !important;
    line-height: 1.75 !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
}

/* NEW About Section Structure - Background Image with Right-Aligned Text */
.lb-gs-about__background {
    position: relative !important;
    width: 100% !important;
    min-height: 600px !important;
    background-size: cover !important;
    background-position: left center !important; /* Bild startet von links */
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 5rem 1rem !important;
    margin: 0 !important;
}

.lb-gs-about__content-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 87.5rem !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    padding: 0 !important;
}

.lb-gs-about__text-content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 600px !important;
    background: rgba(255, 255, 255, 0.85) !important; /* 85% Deckkraft für Transparenz */
    backdrop-filter: blur(10px) !important; /* Schöner Blur-Effekt */
    -webkit-backdrop-filter: blur(10px) !important;
    padding: 4rem 3rem !important;
    margin: 0 2rem 0 0 !important;
    box-shadow: var(--shadow-lg) !important;
    border-radius: var(--radius) !important;
}

.lb-gs-about__quote {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 2rem !important;
    color: var(--primary-color) !important;
    margin: 0 0 2rem 0 !important;
    padding: 0 0 0 1.5rem !important;
    font-style: italic !important;
    line-height: 1.5 !important;
    border-left: 4px solid var(--primary-color) !important;
    position: relative !important;
}

/* Deutsche typografische Anführungszeichen via CSS */
.lb-gs-about__quote-text::before {
    content: '„' !important;
}

.lb-gs-about__quote-text::after {
    content: '"' !important;
}

.lb-gs-about__body {
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-about__body p {
    font-family: var(--font-sans) !important;
    font-size: 1rem !important;
    color: var(--foreground) !important;
    line-height: 1.75 !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
}

@media (max-width: 1024px) {
    .lb-gs-about__background {
        justify-content: center !important;
        background-position: center center !important;
    }

    .lb-gs-about__content-wrapper {
        justify-content: center !important;
    }

    .lb-gs-about__text-content {
        margin: 0 !important;
        padding: 3rem 2rem !important;
        max-width: 90% !important;
    }
}

@media (max-width: 768px) {
    .lb-gs-about__background {
        min-height: auto !important;
        padding: 3rem 1rem !important;
    }

    .lb-gs-about__text-content {
        padding: 2rem 1.5rem !important;
        background: rgba(255, 255, 255, 0.92) !important; /* Etwas weniger transparent auf Mobile für Lesbarkeit */
    }

    .lb-gs-about__quote {
        font-size: 1.5rem !important;
        padding-left: 1rem !important;
    }
}

/* ==================== CONTACT SECTION ==================== */
.lb-gs-contact {
    padding: 5rem 1rem !important;
    background: var(--background) !important;
    margin: 0 !important;
}

.lb-gs-contact__heading {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: clamp(3rem, 6vw, 4rem) !important;
    color: var(--primary-color) !important;
    text-align: center !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
}

.lb-gs-contact__subheading {
    font-family: var(--font-sans) !important;
    font-size: 1.125rem !important;
    color: var(--foreground) !important;
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto 3rem auto !important;
    padding: 0 1rem !important;
    line-height: 1.6 !important;
}

.lb-gs-contact a,
.lb-gs-contact a:link,
.lb-gs-contact a:visited {
    color: var(--primary-color) !important;
    text-decoration: none !important;
    transition: opacity var(--transition-duration) ease !important;
}

.lb-gs-contact a:hover,
.lb-gs-contact a:focus,
.lb-gs-contact a:active {
    color: var(--primary-dark) !important;
    text-decoration: none !important;
    opacity: 0.8 !important;
}

.lb-gs-contact__wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
    max-width: 87.5rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.lb-gs-contact__info {
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__info h3 {
    font-family: var(--font-sans) !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: var(--foreground) !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__info-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__item {
    display: flex !important;
    align-items: start !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__item svg {
    color: var(--primary-color) !important;
    margin: 0.25rem 0 0 0 !important;
    padding: 0 !important;
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0 !important;
}

.lb-gs-contact__item-content {
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__item-content p {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-contact__item-content p:first-child {
    font-family: var(--font-sans) !important;
    font-weight: 500 !important;
    color: var(--foreground) !important;
    margin: 0 0 0.25rem 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__item-content p:last-child {
    color: var(--muted-foreground) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__hours {
    margin: 2rem 0 0 0 !important;
    padding: 0 !important;
}

.lb-gs-contact__hours h3 {
    font-size: 1.25rem !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    font-family: var(--font-sans) !important;
    font-weight: 600 !important;
    color: var(--foreground) !important;
}

.lb-gs-contact__hours p {
    color: var(--muted-foreground) !important;
    margin: 0.5rem 0 !important;
    padding: 0 !important;
    font-family: var(--font-sans) !important;
}

.lb-gs-contact__form {
    background: var(--card) !important;
    border: 2px solid var(--foreground) !important;
    padding: 3rem !important;
    border-radius: var(--radius) !important;
    margin: 0 !important;
}

.lb-gs-form__field {
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
}

.lb-gs-form__field label {
    display: block !important;
    margin: 0 0 0.5rem 0 !important;
    padding: 0 !important;
    font-family: var(--font-sans) !important;
    color: var(--foreground) !important;
    font-weight: 500 !important;
}

.lb-gs-form__field input,
.lb-gs-form__field textarea,
.lb-gs-form__field select {
    width: 100% !important;
    padding: 1rem 0 !important;
    border: none !important;
    border-bottom: 2px solid var(--foreground) !important;
    background: transparent !important;
    font-size: 1rem !important;
    font-family: var(--font-sans) !important;
    color: var(--foreground) !important;
    transition: border-color var(--transition-duration) ease !important;
    border-radius: var(--radius) !important;
    margin: 0 !important;
}

.lb-gs-form__field input:focus,
.lb-gs-form__field textarea:focus,
.lb-gs-form__field select:focus {
    outline: none !important;
    border-bottom-color: var(--primary-color) !important;
}

.lb-gs-form__field textarea {
    resize: none !important;
    min-height: 120px !important;
}

.lb-gs-form__field select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0 center !important;
    background-size: 24px !important;
    padding-right: 2rem !important;
    cursor: pointer !important;
}

.lb-gs-form__submit {
    width: 100% !important;
    background: var(--primary-color) !important;
    color: white !important;
    border: none !important;
    padding: 1.5rem !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background var(--transition-duration) ease !important;
    font-family: 'Albert Sans', sans-serif !important;
    border-radius: var(--radius) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    margin: 0 !important;
}

.lb-gs-form__submit:hover {
    background: var(--primary-dark) !important;
}

.lb-gs-form__submit .lb-gs-form__arrow {
    transition: transform var(--transition-duration) ease !important;
    display: inline-block !important;
}

.lb-gs-form__submit:hover .lb-gs-form__arrow {
    transform: translateX(0.5rem) !important;
}


/* Removed old text arrow ::after - now using SVG arrow inline */

/* ==================== FOOTER ==================== */
.lb-gs-footer {
    background: var(--primary-color) !important;
    color: white !important;
    padding: 2rem 1rem !important;
    margin: 0 !important;
}

.lb-gs-footer__container {
    max-width: 87.5rem !important;
    margin: 0 auto !important;
    padding: 0 2rem !important;
}

.lb-gs-footer__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (min-width: 768px) {
    .lb-gs-footer__content {
        flex-direction: row !important;
        justify-content: space-between !important;
        text-align: left !important;
    }
}

.lb-gs-footer__copyright {
    font-family: var(--font-sans) !important;
    font-size: 0.875rem !important;
    color: white !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-footer__links {
    display: flex !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-footer__link {
    font-family: var(--font-sans) !important;
    font-size: 0.875rem !important;
    color: white !important;
    text-decoration: none !important;
    transition: opacity var(--transition-duration) ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-footer__link:hover {
    opacity: 0.8 !important;
}

.lb-gs-footer__social {
    display: flex !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-footer__social-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    background: rgba(255, 255, 255, 0.2) !important;
    border-radius: var(--radius) !important;
    color: white !important;
    text-decoration: none !important;
    transition: all var(--transition-duration) ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

.lb-gs-footer__social-link:hover {
    background: rgba(255, 255, 255, 0.3) !important;
}

.lb-gs-footer__social-link svg {
    width: 20px !important;
    height: 20px !important;
}

/* ==================== KONTAKTFORMULAR ERFOLGS-ANIMATION ==================== */

/* Erfolgs-Container - Initial VERSTECKT */
.lb-gs-form__success {
    display: none !important; /* WICHTIG: Initial versteckt! */
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 3rem 2rem !important;
}

/* Erfolgs-Container - NUR sichtbar wenn .active Klasse gesetzt */
.lb-gs-form__success.lb-gs-form__success--active {
    display: flex !important;
    animation: fadeInUp 0.5s ease-out forwards !important;
}

@keyframes fadeInUp {
    0% {
        opacity: 0 !important;
        transform: translateY(20px) !important;
    }
    100% {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}

.lb-gs-form__success-icon {
    color: var(--primary-color) !important;
    margin: 0 0 1.5rem 0 !important;
}

/* Checkmark Animation */
.lb-gs-checkmark {
    width: 80px !important;
    height: 80px !important;
}

.lb-gs-checkmark__circle {
    stroke-dasharray: 166 !important;
    stroke-dashoffset: 166 !important;
    animation: checkmarkCircle 0.6s ease-out forwards !important;
}

.lb-gs-checkmark__check {
    stroke-dasharray: 48 !important;
    stroke-dashoffset: 48 !important;
    animation: checkmarkCheck 0.3s 0.4s ease-out forwards !important;
}

@keyframes checkmarkCircle {
    0% {
        stroke-dashoffset: 166 !important;
    }
    100% {
        stroke-dashoffset: 0 !important;
    }
}

@keyframes checkmarkCheck {
    0% {
        stroke-dashoffset: 48 !important;
    }
    100% {
        stroke-dashoffset: 0 !important;
    }
}

.lb-gs-form__success-title {
    font-family: 'Albert Sans', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: var(--foreground) !important;
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
}

.lb-gs-form__success-text {
    font-family: var(--font-sans) !important;
    font-size: 1rem !important;
    color: var(--muted-foreground) !important;
    line-height: 1.6 !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    max-width: 400px !important;
}

.lb-gs-form__success-link {
    display: inline-block !important;
    padding: 0.75rem 1.5rem !important;
    background: transparent !important;
    color: var(--primary-color) !important;
    font-family: var(--font-sans) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: 2px solid var(--primary-color) !important;
    border-radius: var(--radius) !important;
    transition: all var(--transition-duration) ease !important;
}

.lb-gs-form__success-link:hover {
    background: var(--primary-color) !important;
    color: white !important;
}

/* Loading State - Initial versteckt! */
.lb-gs-form__submit-loading {
    display: none !important; /* WICHTIG: Initial versteckt */
    align-items: center !important;
    gap: 0.5rem !important;
}

/* Loading State - NUR sichtbar wenn Button .loading Klasse hat */
.lb-gs-form__submit.lb-gs-form__submit--loading .lb-gs-form__submit-loading {
    display: inline-flex !important;
}

/* Text verstecken wenn Loading aktiv */
.lb-gs-form__submit.lb-gs-form__submit--loading .lb-gs-form__submit-text {
    display: none !important;
}

.lb-gs-spinner {
    animation: spin 1s linear infinite !important;
}

@keyframes spin {
    from { transform: rotate(0deg) !important; }
    to { transform: rotate(360deg) !important; }
}

/* Formular ausblenden Animation */
.lb-gs-form.lb-gs-form--hiding {
    animation: fadeOutDown 0.4s ease-out forwards !important;
}

@keyframes fadeOutDown {
    0% {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
    100% {
        opacity: 0 !important;
        transform: translateY(-20px) !important;
    }
}

/* Input Placeholder Styling */
.lb-gs-form__field input::placeholder,
.lb-gs-form__field textarea::placeholder {
    color: var(--muted-foreground) !important;
    opacity: 0.6 !important;
}

/* ==================== RESPONSIVE DESIGN ==================== */
@media (min-width: 768px) {
    .lb-gs-hero__video-mobile {
        display: none !important;
    }
    
    .lb-gs-hero__video-desktop {
        display: block !important;
    }
    
    .lb-gs-contact__wrapper {
        grid-template-columns: 2fr 3fr !important;
    }
}

@media (max-width: 768px) {
    .lb-gs-hero__video-desktop {
        display: none !important;
    }
    
    .lb-gs-hero__video-mobile {
        display: block !important;
    }
    
    .lb-gs-service-card,
    .lb-gs-faq-card,
    .lb-gs-service-modal__content,
    .lb-gs-faq-modal__content {
        padding: 1.5rem !important;
    }
    
    .lb-gs-contact__form {
        padding: 2rem !important;
    }
    
    .lb-gs-projects__slider {
        min-height: 400px !important;
    }
}

@media (max-width: 480px) {
    .lb-gs-projects__slider {
        min-height: 300px !important;
    }
    
    .lb-gs-service-modal__content,
    .lb-gs-faq-modal__content {
        padding: 1.25rem !important;
    }
}

/* ==================== UTILITY CLASSES ==================== */
.lb-gs-hidden {
    display: none !important;
}

.lb-gs-fade-in {
    animation: fadeIn var(--transition-duration) ease !important;
}

.lb-gs-fade-out {
    animation: fadeOut var(--transition-duration) ease !important;
}

@keyframes fadeOut {
    from { opacity: 1 !important; }
    to { opacity: 0 !important; }
}

/* ==================== ADDITIONAL ELEMENT COVERAGE ==================== */
/* Ensure ALL possible elements are styled */

.lb-gs-hero *,
.lb-gs-services *,
.lb-gs-projects *,
.lb-gs-faqs *,
.lb-gs-about *,
.lb-gs-contact * {
    box-sizing: border-box !important;
}

.lb-gs-hero a,
.lb-gs-services a,
.lb-gs-projects a,
.lb-gs-faqs a,
.lb-gs-about a,
.lb-gs-contact a {
    font-family: var(--font-sans) !important;
    text-decoration: none !important;
}

.lb-gs-hero img,
.lb-gs-services img,
.lb-gs-projects img,
.lb-gs-faqs img,
.lb-gs-about img,
.lb-gs-contact img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Typography overrides for all headings */
.lb-gs-hero h1, .lb-gs-hero h2, .lb-gs-hero h3, .lb-gs-hero h4, .lb-gs-hero h5, .lb-gs-hero h6,
.lb-gs-services h1, .lb-gs-services h2, .lb-gs-services h3, .lb-gs-services h4, .lb-gs-services h5, .lb-gs-services h6,
.lb-gs-projects h1, .lb-gs-projects h2, .lb-gs-projects h3, .lb-gs-projects h4, .lb-gs-projects h5, .lb-gs-projects h6,
.lb-gs-faqs h1, .lb-gs-faqs h2, .lb-gs-faqs h3, .lb-gs-faqs h4, .lb-gs-faqs h5, .lb-gs-faqs h6,
.lb-gs-about h1, .lb-gs-about h2, .lb-gs-about h3, .lb-gs-about h4, .lb-gs-about h5, .lb-gs-about h6,
.lb-gs-contact h1, .lb-gs-contact h2, .lb-gs-contact h3, .lb-gs-contact h4, .lb-gs-contact h5, .lb-gs-contact h6 {
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

/* Form elements across all sections */
.lb-gs-hero input, .lb-gs-hero textarea, .lb-gs-hero select, .lb-gs-hero button,
.lb-gs-services input, .lb-gs-services textarea, .lb-gs-services select, .lb-gs-services button,
.lb-gs-projects input, .lb-gs-projects textarea, .lb-gs-projects select, .lb-gs-projects button,
.lb-gs-faqs input, .lb-gs-faqs textarea, .lb-gs-faqs select, .lb-gs-faqs button,
.lb-gs-about input, .lb-gs-about textarea, .lb-gs-about select, .lb-gs-about button,
.lb-gs-contact input, .lb-gs-contact textarea, .lb-gs-contact select, .lb-gs-contact button {
    font-family: var(--font-sans) !important;
}

/* Lists */
.lb-gs-hero ul, .lb-gs-hero ol,
.lb-gs-services ul, .lb-gs-services ol,
.lb-gs-projects ul, .lb-gs-projects ol,
.lb-gs-faqs ul, .lb-gs-faqs ol,
.lb-gs-about ul, .lb-gs-about ol,
.lb-gs-contact ul, .lb-gs-contact ol {
    margin: 0 !important;
    padding: 0 !important;
    list-style-position: inside !important;
}

/* Strong and emphasis */
.lb-gs-hero strong, .lb-gs-hero b,
.lb-gs-services strong, .lb-gs-services b,
.lb-gs-projects strong, .lb-gs-projects b,
.lb-gs-faqs strong, .lb-gs-faqs b,
.lb-gs-about strong, .lb-gs-about b,
.lb-gs-contact strong, .lb-gs-contact b {
    font-weight: 600 !important;
}

.lb-gs-hero em, .lb-gs-hero i,
.lb-gs-services em, .lb-gs-services i,
.lb-gs-projects em, .lb-gs-projects i,
.lb-gs-faqs em, .lb-gs-faqs i,
.lb-gs-about em, .lb-gs-about i,
.lb-gs-contact em, .lb-gs-contact i {
    font-style: italic !important;
}

/* Nuclear option - Force Pinyon Script with maximum specificity */
body .lb-gs-projects .lb-gs-projects__slider .project-label-before-wrapper h2,
body .lb-gs-projects .lb-gs-projects__slider .project-label-after-wrapper h2 {
    font-family: 'Albert Sans', sans-serif !important;
    font-weight: 400 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   COMPREHENSIVE RESPONSIVE DESIGN FIXES
   ═══════════════════════════════════════════════════════════════════════════ */

/* HERO SECTION - Mobile Optimierung */
@media (max-width: 767px) {
    .lb-gs-hero {
        height: 100svh !important; /* Safe viewport height für Mobile */
        min-height: 500px !important;
    }

    .lb-gs-hero__content {
        bottom: auto !important; /* Nicht mehr am unteren Rand fixiert */
        top: 50% !important; /* Vertikal zentriert */
        transform: translateY(-50%) !important; /* Perfekte Zentrierung */
        padding: 0 20px !important;
        text-align: center !important;
        align-items: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
        left: 0 !important;
        right: 0 !important;
    }

    .lb-gs-hero__heading,
    .lb-gs-hero__subheading {
        text-align: center !important;
        width: 100% !important;
    }

    .lb-gs-hero__heading {
        font-size: 1.75rem !important;
        line-height: 1.2 !important;
    }

    .lb-gs-hero__subheading {
        font-size: 0.95rem !important;
        line-height: 1.5 !important;
    }

    .lb-gs-hero__cta-button {
        padding: 0.875rem 1.5rem !important;
        font-size: 0.9rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* HERO SECTION - Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .lb-gs-hero {
        min-height: 80vh !important;
    }

    .lb-gs-hero__heading {
        font-size: 2.5rem !important;
    }
}

/* HEADER - Mobile Optimierung */
@media (max-width: 767px) {
    .lb-gs-header__container {
        padding: 1rem 1rem !important; /* Erhöhte Höhe für bessere Touch-Bedienung */
        min-height: 70px !important;
    }

    .lb-gs-header__nav {
        display: none !important; /* Navigation auf Mobile ausblenden - später Hamburger-Menü */
    }

    .lb-gs-header__logo-image {
        width: 180px !important; /* Mobile: größeres Logo für bessere Lesbarkeit */
        max-width: 180px !important;
    }

    .lb-gs-header__cta-button {
        padding: 0.5rem 1rem !important;
        font-size: 0.8rem !important;
    }
}

/* SERVICES SECTION - Mobile Grid */
@media (max-width: 767px) {
    .lb-gs-services {
        padding: 3rem 1rem !important;
    }

    .lb-gs-services__heading {
        font-size: 1.5rem !important;
    }

    .lb-gs-services__grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .lb-gs-service-card {
        padding: 1.5rem !important;
    }

    .lb-gs-service-card__title {
        font-size: 1.1rem !important;
    }
}

/* SERVICES - Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .lb-gs-services__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* PROJECTS SECTION - Mobile */
@media (max-width: 767px) {
    .lb-gs-projects {
        padding: 3rem 1rem !important;
    }

    .lb-gs-projects__heading {
        font-size: 1.5rem !important;
    }

    .lb-gs-projects__grid {
        display: none !important; /* Desktop Grid ausblenden */
    }

    .lb-gs-projects__mobile-only {
        display: block !important;
    }

    .lb-gs-projects__slider {
        min-height: 350px !important;
    }
}

/* FAQ SECTION - Mobile 1-Spalten Layout */
@media (max-width: 767px) {
    .lb-gs-faqs {
        padding: 3rem 1rem !important;
    }

    .lb-gs-faqs__wrapper {
        flex-direction: column !important;
        gap: 2rem !important;
    }

    .lb-gs-faqs__intro {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .lb-gs-faqs__accordion {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .lb-gs-faqs__heading {
        font-size: 1.5rem !important;
        line-height: 1.3 !important;
    }

    .lb-gs-faq-item__question {
        font-size: 0.95rem !important;
        padding: 1rem 0.5rem !important;
    }

    .lb-gs-faq-item__answer-content {
        font-size: 0.9rem !important;
        padding: 0 0.5rem 1rem !important;
    }
}

/* FAQ - Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .lb-gs-faqs__intro {
        flex: 0 0 40% !important;
    }

    .lb-gs-faqs__accordion {
        flex: 0 0 55% !important;
    }
}

/* CONTACT SECTION - Mobile */
@media (max-width: 767px) {
    .lb-gs-contact {
        padding: 3rem 1rem !important;
    }

    .lb-gs-contact__heading {
        font-size: 1.5rem !important;
    }

    .lb-gs-contact__wrapper {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }

    .lb-gs-contact__info {
        padding: 1.5rem !important;
    }

    .lb-gs-contact__form {
        padding: 1.5rem !important;
    }

    .lb-gs-form__field input,
    .lb-gs-form__field textarea,
    .lb-gs-form__field select {
        font-size: 16px !important; /* Verhindert Zoom auf iOS */
    }

    .lb-gs-form__submit {
        width: 100% !important;
        padding: 1rem !important;
    }
}

/* FOOTER - Mobile */
@media (max-width: 767px) {
    .lb-gs-footer {
        padding: 2rem 1rem !important;
    }

    .lb-gs-footer__content {
        flex-direction: column !important;
        text-align: center !important;
        gap: 1rem !important;
    }

    .lb-gs-footer__links {
        justify-content: center !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   BUTTON LOADING STATE - DEFINITIVER FIX
   ═══════════════════════════════════════════════════════════════════════════ */

/* Alle Submit-Buttons: Kein Loading-State initial */
button[type="submit"],
input[type="submit"],
.lb-gs-form__submit {
    pointer-events: auto !important;
}

/* NUCLEAR OPTION: Loading-Span KOMPLETT verstecken beim Page Load */
#lb-gs-submit-btn .lb-gs-form__submit-loading,
.lb-gs-form__submit .lb-gs-form__submit-loading,
.lb-gs-form__submit-loading {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Loading-Span NUR sichtbar wenn Button explizit .loading Klasse hat */
.lb-gs-form__submit.lb-gs-form__submit--loading .lb-gs-form__submit-loading {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    left: auto !important;
}

/* Button Text IMMER sichtbar (wenn nicht loading) */
#lb-gs-submit-btn .lb-gs-form__submit-text,
.lb-gs-form__submit .lb-gs-form__submit-text {
    display: inline !important;
}

/* Text verstecken NUR wenn Loading aktiv */
.lb-gs-form__submit.lb-gs-form__submit--loading .lb-gs-form__submit-text {
    display: none !important;
}

/* Button Loading State NUR wenn Klasse gesetzt */
.lb-gs-form__submit.lb-gs-form__submit--loading {
    pointer-events: none !important;
    opacity: 0.8 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   IMAGES - FILL SECTIONS PROPERLY
   ═══════════════════════════════════════════════════════════════════════════ */

/* Allgemeine Bilder responsive (NICHT Hero!) */
.lb-gs-about img,
.lb-gs-projects img,
.lb-gs-services img {
    max-width: 100% !important;
    height: auto !important;
}

/* HERO BILD - Muss Sektion KOMPLETT ausfüllen */
.lb-gs-hero__picture,
.lb-gs-hero__picture source,
.lb-gs-hero__image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Background Images füllen Container */
[style*="background-image"] {
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Keine schwarzen Flächen */
.lb-gs-hero,
.lb-gs-services,
.lb-gs-projects,
.lb-gs-faqs,
.lb-gs-about,
.lb-gs-contact {
    background-color: var(--background, #ffffff) !important;
}

.lb-gs-hero {
    background-color: #000 !important; /* Hero behält dunklen Hintergrund für Bilder */
}

/* ═══════════════════════════════════════════════════════════════════════════
   NUCLEAR OPTION - MAXIMALE SPEZIFITÄT FÜR KRITISCHE BUGFIXES
   Diese Regeln überschreiben ALLES - auch Theme-Konflikte
   ═══════════════════════════════════════════════════════════════════════════ */

/* LOGO - MAXIMALE SPEZIFITÄT */
html body .lb-gs-header .lb-gs-header__logo a img.lb-gs-header__logo-image,
html body .lb-gs-header .lb-gs-header__logo img.lb-gs-header__logo-image,
html body img.lb-gs-header__logo-image,
body .lb-gs-header__logo-image {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
    max-height: 80px !important;
    display: block !important;
    object-fit: contain !important;
}

/* LOGO MOBILE - MAXIMALE SPEZIFITÄT */
@media (max-width: 767px) {
    html body .lb-gs-header .lb-gs-header__logo a img.lb-gs-header__logo-image,
    html body .lb-gs-header .lb-gs-header__logo img.lb-gs-header__logo-image,
    html body img.lb-gs-header__logo-image,
    body .lb-gs-header__logo-image {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        height: auto !important;
        max-height: 70px !important;
    }
}

/* FAQ TEXT-ÜBERLAUF - MAXIMALE SPEZIFITÄT */
html body .lb-gs-faqs,
html body section.lb-gs-faqs {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

html body .lb-gs-faqs .lb-gs-faqs__wrapper {
    max-width: 100% !important;
    box-sizing: border-box !important;
    gap: 2rem !important;
    /* KEIN overflow: hidden! */
}

@media (min-width: 768px) {
    html body .lb-gs-faqs .lb-gs-faqs__wrapper {
        grid-template-columns: 1fr 1.2fr !important;
        gap: 2rem !important;
    }
}

html body .lb-gs-faqs .lb-gs-container {
    max-width: 100% !important;
}

html body .lb-gs-faqs .lb-gs-faqs__intro {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* FAQ Akkordeon und Items - KEIN overflow:hidden damit Icon sichtbar bleibt */
html body .lb-gs-faqs .lb-gs-faq-item,
html body .lb-gs-faqs .lb-gs-faqs__accordion {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    /* KEIN overflow: hidden! */
}

html body .lb-gs-faqs button.lb-gs-faq-item__question,
html body .lb-gs-faq-item__question {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    gap: 1rem !important;
    /* KEIN overflow: hidden - Icon muss sichtbar sein! */
}

html body .lb-gs-faqs .lb-gs-faq-item__question span:first-child,
html body .lb-gs-faq-item__question span:first-child {
    flex: 1 1 0% !important;
    min-width: 0 !important; /* KRITISCH: Erlaubt Schrumpfen */
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto !important;
    overflow: hidden !important;
}

/* FAQ ICON - MAXIMALE SPEZIFITÄT (DESKTOP FIX) */
html body .lb-gs-faqs .lb-gs-faq-item__icon,
html body .lb-gs-faq-item__question .lb-gs-faq-item__icon,
html body span.lb-gs-faq-item__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    color: var(--primary-color, #009bff) !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body .lb-gs-faq-item__icon svg,
html body .lb-gs-faqs .lb-gs-faq-item__icon svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    stroke: currentColor !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* FAQ AKKORDEON ANSWER - DESKTOP FIX */
html body .lb-gs-faq-item .lb-gs-faq-item__answer {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s ease !important;
}

html body .lb-gs-faq-item.active .lb-gs-faq-item__answer {
    max-height: 1000px !important; /* Erhöht für lange Antworten */
}
