/* =======================================================
   GLOBAL FIX: Page Banner Hintergrundbilder (Alle Seiten)
   ======================================================= */

/* --- GLOBALER FIX V2 (Erhöhte Priorität) --- */

body div.section.page-banner-section {
    /* 1. Positionierung erzwingen (Mitte Mitte) */
    background-position: 50% 50% !important;
    
    /* 2. Skalierung erzwingen (Vollbild) */
    background-size: cover !important;
    
    /* 3. Wiederholung verhindern */
    background-repeat: no-repeat !important;
    
    /* 4. WICHTIG: Deaktiviert Parallax-Skripte, die oft die Positionierung zerstören */
    background-attachment: scroll !important;
    
    /* 5. Sicherstellen, dass das Element Block-Verhalten hat */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

        :root {
            --servbotics-blue: #00b2dc;
            --serv-orange: #eb5f1e;
            --serv-dark: #333333;
            --serv-light-gray: #d7d7d7;
            --serv-white: #ffffff;
        }

/* --- BUTTONS & ACTIONS (Desktop: Extra flach & kompakt) --- */
        .product-actions {
            display: flex;
            flex-wrap: wrap; 
            gap: 10px;
            width: 100%;
            align-items: center;
        }

        .btn {
            background-color: var(--servbotics-blue);
            border-color: var(--servbotics-blue);
            color: #fff;
            
            /* DESKTOP STYLE: Sehr kompakt */
            padding: 0px 45px !important;   /* Wenig Abstand oben/unten */
            font-size: 16px !important;      
            font-weight: 700 !important;
            line-height: 45px !important;    /* Kompakter Zeilenabstand */
            
            height: 50px !important;        /* Keine fixe Höhe */
            min-height: 0 !important;       /* Reset Mindesthöhe */
            width: auto !important;          
            white-space: nowrap !important; /* Einzeilig */
            
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 5px;
        }
        
        .btn:hover {
            background-color: #009ec4;
            border-color: #009ec4;
        }

        .btn-outline {
            background-color: var(--serv-light-gray) !important;
            border: 1px solid var(--serv-light-gray) !important;
            color: var(--serv-dark) !important;
        }

        .btn-outline:hover {
            background: var(--serv-orange) !important;
            color: #fff !important;
        }

        /* --- MOBILE ANPASSUNGEN (Split-View & Umbruch) --- */
        @media (max-width: 767px) {
            .product-actions {
                flex-wrap: nowrap; /* Erzwingt eine Zeile */
                gap: 8px; 
            }

            .product-actions .btn {
                flex: 1;        
                width: 100% !important;    
                
                /* MOBILE STYLE: Optimiert für engen Platz */
                padding: 10px 2px !important; 
                font-size: 12px !important; 
                
                white-space: normal !important; /* Umbruch erlauben (<br>) */
                line-height: 1.2 !important;
                min-height: 48px !important; /* Etwas flacher auch auf Mobil */
            }
            
            /* Restliche Mobile Anpassungen */
            .product-details-content .title { font-size: 28px; }
            .tech-specs-wrap { padding: 25px; }
            .specs-table th, .specs-table td { display: block; width: 100%; padding: 5px 0; }
            .specs-table th { color: var(--servbotics-blue); margin-top: 10px; }
            .product-details-img { min-height: 250px; }
        }

        /* --- 1. PRODUKT BILD CONTAINER (Optimiert für Vollbild im Container) --- */
        .product-details-img {
            border: 1px solid #ebebeb;
            border-radius: 10px;
            padding: 0; /* Padding entfernt, damit Bild randlos ist */
            background-color: #fff;
            text-align: center;
            margin-bottom: 30px;
            height: auto;
            min-height: 400px; /* Mindesthöhe für Desktop */
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden; /* Damit nichts übersteht */
        }
        
        .product-details-img img {
            width: 100%;
            height: 100%;
            min-height: 300px;
            object-fit: contain; /* Bild passt sich ein, ohne verzerrt zu werden */
            display: block;
        }

        /* Produkt Inhalt */
        .product-details-content .sub-title {
            font-size: 14px;
            font-weight: 700;
            color: var(--servbotics-blue);
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 10px;
            display: block;
        }

        .product-details-content .title {
            font-size: 36px;
            font-weight: 800;
            color: #333;
            margin-bottom: 20px;
            line-height: 1.2;
        }

        .product-details-content .price-notice {
            font-size: 24px;
            color: #333;
            font-weight: 700;
            margin-bottom: 25px;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
        }

        .product-details-content .price-notice span {
            font-size: 14px;
            font-weight: 400;
            color: #666;
            background: #f0f0f0;
            padding: 5px 10px;
            border-radius: 4px;
        }

        /* --- 2. TEXT EXPANDER CSS (Nur Mobile) --- */
        .description-container {
            position: relative;
            margin-bottom: 30px;
        }

        .product-details-content .description {
            font-size: 16px;
            line-height: 1.8;
            color: #555;
            margin-bottom: 0; /* Margin vom Container geregelt */
        }

        /* Mobile Logik */
        @media (max-width: 767px) {
            .description-container {
                max-height: 120px; /* Start-Höhe: Eingeklappt */
                overflow: hidden;
                transition: max-height 0.6s ease-in-out; /* Weiche Animation */
            }

            /* Der Transparenz-Verlauf */
            .read-more-gradient {
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                height: 80px;
                background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 80%);
                display: flex;
                align-items: flex-end;
                justify-content: center;
                padding-bottom: 0;
                pointer-events: none; /* Klicks gehen durch */
            }

            /* Der Weiterlesen-Button */
            .read-more-btn {
                pointer-events: auto; /* Button muss klickbar sein */
                background: #fff;
                color: var(--servbotics-blue);
                border: 1px solid var(--servbotics-blue);
                padding: 5px 15px;
                border-radius: 20px;
                font-size: 13px;
                font-weight: 700;
                text-transform: uppercase;
                cursor: pointer;
                box-shadow: 0 -5px 15px rgba(255,255,255,1);
                margin-bottom: 10px; /* Abstand vom unteren Rand */
            }

            /* Zustand: Aufgeklappt */
            .description-container.expanded {
                max-height: 1000px; /* Genug Platz für den ganzen Text */
            }
            
            .description-container.expanded .read-more-gradient {
                display: none; /* Verlauf ausblenden */
            }
        }

        /* Desktop: Alles immer anzeigen */
        @media (min-width: 768px) {
            .read-more-gradient { display: none; }
            .description-container { max-height: none; overflow: visible; }
        }


        /* Feature Liste mit Haken */
        .product-feature-list {
            list-style: none;
            padding: 0;
            margin-bottom: 40px;
        }

        .product-feature-list li {
            font-size: 16px;
            color: #333;
            margin-bottom: 12px;
            display: flex;
            align-items: flex-start;
        }

        .product-feature-list li i {
            color: var(--servbotics-blue);
            font-size: 18px;
            margin-right: 15px;
            margin-top: 4px;
        }

        /* Technische Daten Tabelle */
        .tech-specs-wrap {
            margin-top: 60px;
            background: #fff;
            border: 1px solid #ebebeb;
            border-radius: 10px;
            padding: 40px;
        }

        .section-title-small {
            font-size: 24px;
            font-weight: 700;
            color: #333;
            margin-bottom: 30px;
            border-bottom: 2px solid var(--servbotics-blue);
            display: inline-block;
            padding-bottom: 5px;
        }

        .specs-table {
            width: 100%;
            border-collapse: collapse;
        }

        .specs-table tr {
            border-bottom: 1px solid #eee;
        }
        .specs-table tr:last-child {
            border-bottom: none;
        }

        .specs-table th {
            padding: 15px 0;
            font-weight: 700;
            color: #333;
            width: 40%;
            vertical-align: top;
        }

        .specs-table td {
            padding: 15px 0;
            color: #555;
        }

        /* Zubehör Bereich */
        .accessories-wrap {
            margin-top: 60px;
        }
        
        .accessory-item {
            border: 1px solid #eee;
            border-radius: 8px;
            padding: 20px;
            text-align: center;
            background: #fff;
            transition: all 0.3s ease;
        }
        
        .accessory-item:hover {
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            border-color: var(--servbotics-blue);
        }

        .accessory-item h4 {
            font-size: 18px;
            margin-bottom: 10px;
            font-weight: 600;
        }

        .accessory-item p {
            font-size: 14px;
            color: #666;
            margin-bottom: 0;
        }
           /* --- MOBILE ANPASSUNG: Text an Kante ausrichten --- */
        @media (max-width: 767px) {
            
            /* Zeilenlayout aktivieren */
            .product-feature-list li {
                display: flex;
                flex-wrap: nowrap; /* Verhindert, dass Elemente untereinander rutschen */
                align-items: flex-start;
                line-height: 1.6; /* Gleiche Zeilenhöhe für alle Elemente */
            }

            /* 1. Spalte: Das Icon */
            .product-feature-list li i {
                flex: 0 0 25px; /* Feste Breite für das Icon */
                margin-right: 10px;
                margin-top: 5px; /* Optische Mitte zur Zeile */
            }

            /* 2. Spalte: Das Label (Fetter Text) */
            /* Hier wird die "rote Linie" definiert */
            .product-feature-list li strong {
                flex: 0 0 135px; /* Feste Breite für das Label -> Text rechts richtet sich danach aus */
                margin-right: 5px; 
                line-height: 1.6; 
                white-space: normal; 
                word-wrap: break-word;
            }
        }

/* Alle Kacheln gleich hoch */
.features-content-wrap .row {
    display: flex;
    flex-wrap: wrap;
}

.features-content-wrap .col-lg-4 {
    display: flex;
}

.features-content-wrap .single-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.single-item {
    width: 100%;
}

