/* ==========================================================================
1. IMAGE COLLAGE
========================================================================== */

.image-collage {position: relative;height: 450px;width: 100%;}

.collage-image {position: absolute;border-radius: 10px;overflow: hidden;box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);border: 2px solid white;transition: transform 0.3s ease;}

.collage-image:hover {transform: translateY(-5px);}

.collage-image img {width: 100%;height: 100%;object-fit: cover;}

.collage-image-1 {width: 60%;height: 60%;top: 0;right: 0;z-index: 2;}

.collage-image-2 {width: 45%;height: 45%;bottom: 0;right: 10%;z-index: 1;}

.collage-image-3 {width: 40%;height: 40%;top: 15%;left: 0;z-index: 3;}

.collage-image-4 {width: 35%;height: 35%;bottom: 10%;left: 15%;z-index: 4;}

/* Mobile Optimierung für Bild-Collage */
@media (max-width: 768px) {
    .image-collage {
        height: 300px;
    }

    .collage-image-1 { width: 55%; height: 55%; }
    .collage-image-2 { width: 45%; height: 45%; right: 5%; }
    .collage-image-3 { width: 40%; height: 40%; top: 10%; }
    .collage-image-4 { width: 35%; height: 35%; bottom: 5%; left: 10%; }
}

@media (max-width: 480px) {
    .image-collage {
        height: 250px;
    }

    .collage-image-1 { width: 60%; height: 60%; }
    .collage-image-2 { width: 50%; height: 50%; bottom: 0; right: 0; }
    .collage-image-3 { width: 45%; height: 45%; top: 5%; left: 0; }
    .collage-image-4 { width: 40%; height: 40%; bottom: 5%; left: 5%; }
}


/* ==========================================================================
2. PRODUCT COMPONENTS (Slider, Track, & Cards)
========================================================================== */

/* Main Containers */
.product-slider-section {padding: 6rem 0; background-color: var(--white);}
.product-slider {position: relative;padding: 8rem 0; background-color: var(--light-bg);overflow: hidden;}
.slider-container {position: relative;margin-top: 2rem;}
.slider-wrapper {display: flex;gap: 1rem;overflow-x: auto;scroll-snap-type: x mandatory;padding-bottom: 1rem;}

/* Slider Navigation Track */
.product-slider-track {display: flex;flex-direction: row;gap: 1rem;overflow-x: auto;overflow-y: visible;scroll-snap-type: x mandatory;scroll-behavior: smooth;-ms-overflow-style: none; scrollbar-width: none; padding: 4px 4px 12px 4px; align-items: stretch;}
.product-slider-track::-webkit-scrollbar { display: none; }

/* Product Grid (Static) */
.product-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; justify-content: center; max-width: 1200px; margin: 0 auto; }

/* Individual Product Card */
.product-card {
background-color: var(--white);
border-radius: var(--radius);
overflow: hidden;
box-shadow: var(--box-shadow);
margin-bottom: 20px;
padding-top: 15px;
text-align: center;
min-width: 250px;
scroll-snap-align: start;
}

/* Slider-specific overrides for Card */
.product-slider .product-card {
background-color: var(--white);
border-radius: var(--radius);
overflow: hidden;
box-shadow: var(--box-shadow);
padding-top: 15px;
text-align: center;
scroll-snap-align: start;
flex: 0 0 calc((100% - 3 * 1rem) / 4); /min-width: 240px;
display: flex;
flex-direction: column;
height: 100%;
}

/* Card Content Details */
.product-image {
width: 90%;
height: 200px;
object-fit: contain;
margin: 0 auto;
display: block;
}

.product-content { padding: 20px; }

.product-slider .product-content {
display: flex;
flex-direction: column;
gap: 10px;
flex: 1 1 auto;
}

.product-content h3 { margin-bottom: 10px; font-size: 1.2rem; }
.product-content p { color: var(--gray-text); margin-bottom: 15px; }

/* Link & Action Style */
.product-link {
color: var(--accent);
font-weight: 500;
transition: color 0.3s ease;
}

.product-link:hover { color: var(--accent-hover); }

.product-slider .product-link { margin-top: auto; }

/* Slider Navigation Buttons */
.slider-btn {position: absolute;top: 50%;transform: translateY(-50%);background: rgba(255,255,255,0.9);font-size: 2rem;padding: 0.25rem 0.5rem;border-radius: 50%;width: 40px;height: 40px;display: flex;align-items: center;justify-content: center;box-shadow: 0 2px 10px rgba(0,0,0,0.1);z-index: 10;}
.slider-btn.prev { left: 10px; }
.slider-btn.next { right: 10px; }

.prev-btn, .next-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: var(--white);
color: var(--text);
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
box-shadow: var(--box-shadow);
z-index: 10;
cursor: pointer;
}

.prev-btn { left: 10px; }
.next-btn { right: 10px; }

/* ==========================================================================
3. EXPERT TIP
========================================================================== */

.expert-tip {padding: 8rem 0;background: #ffffff;}
.expert-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 2rem;align-items: center;}

.tip-card {background-color: #fff;border-radius: 16px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);overflow: hidden;transition: transform 0.3s ease, box-shadow 0.3s ease;}
.tip-card:hover {transform: translateY(-5px);box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);}
.tip-content {display: flex;gap: 0;align-items: stretch;min-height: 400px;}
.tip-image {flex: 1;position: relative;overflow: hidden; max-height: 400px}
.image-wrapper {height: 100%;overflow: hidden;}

.expert-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.tip-card:hover .expert-image {
    transform: scale(1.05);
}

.expert-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: var(--accent);
    color: white;
    padding: 8px 16px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 0.9rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.expert-badge svg {
    width: 16px;
    height: 16px;
}

.tip-text {
    flex: 1;
    padding: 40px;
}

.tip-text h2 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    color: var(--primary);
    position: relative;
    text-align: left;
    margin-left: 0;
}

.tip-text h2:after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 60px;
    height: 3px;
    background-color: var(--accent);
    border-radius: 3px;
}

.tip-text p {
    margin-bottom: 30px;
    color: var(--gray-text);
    line-height: 1.6;
    font-size: 1.05rem;
}

.tip-button {
    display: inline-block;
    background-color: var(--accent);
    color: white;
    padding: 12px 24px;
    border-radius: 30px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    align-self: flex-start; /* prevent full-width stretching in flex column */
}

.tip-button .arrow {
    display: inline-block;
    transition: transform 0.3s ease;
    margin-left: 5px;
}

.tip-button:hover {
    background-color: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.tip-button:hover .arrow {
    transform: translateX(5px);
}

.expert-image img {
    width: 100%;
    border-radius: var(--radius);
}

/* ==========================================================================
   4. MANAGERS SECTION
   ========================================================================== */

.managers {
    background: #fff;
    padding: 4rem 0;
}

.manager-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.manager-card {
    background: var(--light-bg);
    border-radius: var(--radius);
    padding: 1rem;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.manager-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--box-shadow);
}

.manager-card img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    margin: 0 auto 1rem;
}

.manager-card h3 {
    margin-bottom: 0.5rem;
}

.manager-card p {
    color: var(--gray-text);
}

.manager-card a {
    display: block;
    margin-top: 0.5rem;
    color: var(--primary);
    text-decoration: none;
}

.manager-card a.phone-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    margin-top: 0.5rem;
    color: var(--primary);
    text-decoration: none;
    line-height: 1;
}

/* ==========================================================================
   5. MEDIA QUERIES
   ========================================================================== */

/* Products Mobile Horizontal Peek Slider */
@media (max-width: 992px) {
    .product-slider .slider-container {
        overflow: visible;
    }

    .product-slider .product-cards {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 20px;
        -webkit-overflow-scrolling: touch;
        padding: 0 20px 8px 20px;
        margin: 0 -20px;
        scrollbar-width: none;
    }

    .product-slider .product-cards::-webkit-scrollbar {
        display: none;
        height: 0;
    }

    .product-slider .product-card {
        flex: 0 0 calc(100% - 64px);
        scroll-snap-align: start;
    }

    .product-slider .product-image {
        max-height: 220px;
        object-fit: contain;
        width: 100%;
    }

    /* Manager Responsive Grid */
    .manager-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Extra small phones */
@media (max-width: 420px) {
    .product-slider .product-card {
        flex-basis: calc(100% - 48px);
    }
}

/* Managers Mobile */
@media (max-width: 576px) {
    .manager-grid {
        grid-template-columns: 1fr;
    }
}