/* +++ Individual Post +++ */
.linkedin-post {
    display: grid;
    /* grid-template-columns: 0px 2fr; */
    border-radius: 15px;
    width: 100%;
}

/* desktop: if has image → 300px column, else 0px */
.linkedin-post.has-image {
    grid-template-columns: 300px 2fr;
}

.linkedin-post.no-image {
    grid-template-columns: 0px 2fr;
}

.linkedin-post>div:nth-child(2) {
    padding: 15px 20px;
    display: grid;
    grid-template-rows: 60px auto 31px;
    max-height: 400px;
}

.linkedin-postImg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    border-top-left-radius: 15px !important;
    border-bottom-left-radius: 15px !important;
}

.linkedin-postText {
    overflow: hidden;
    white-space: break-spaces;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 10;
    /* 10 Zeilen Text */
}


.linkedin-userImg {
    display: block;
    width: 100%;
    height: auto;
}

.linkedin-userImg {
    grid-area: img;
    border-radius: 100% !important;
}

.linkedin-name {
    grid-area: name;

}

.linkedin-name a {
    color: #404040;
    font-weight: 600;
}

.linkedin-postTime {
    grid-area: postTime;
    font-size: small;
}

.linkedin-name,
.linkedin-postTime {
    margin: 0;
}

.linkedin-open {
    grid-area: openButton;
    text-align: right;
    background-color: var(--open-linkedin-background);
    color: var(--open-linkedin-text);
    border-radius: 6px;
    margin: 12px 3px 12px 0;
    padding: 4px 16px;
    font-size: small;
    display: flex;
    width: fit-content;
    transition: .2s ease-in-out;
}

.linkedin-open:hover {
    margin: 12px 0px 12px 3px;
}

.linkedin-userWrapper {
    grid-area: userWrapper;
    align-content: center;
}

.linkedin-userWrapper p {
    margin: 0px !important;
}

.linkedin-user-info {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    grid-template-areas: "img userWrapper openButton";
    align-items: center;
    column-gap: 10px;
}

.linkedin-user-info>a:first-of-type, .linkedin-user-info>a:first-of-type img {
    background-color: #ffffff;
}

.linkedin-postHashtag {
    color: var(--hashtag-color);
}

.linkedin-postLikes,
.linkedin-postComments {
    background: var(--reactions-background);
    color: var(--reactions-text);
    padding: 3px 5px;
    margin: 0 10px 0 0;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.linkedin-postLikes>svg,
.linkedin-postComments>svg {
    margin-right: 3px;
}


@media (max-width: 992px) {
    .linkedin-post {
        /* grid-template-columns: 1fr; */
        grid-template-rows: 0px auto;
        /* default when no image */
    }

    /* mobile: if has image → 300px row, else 0px */
    .linkedin-post.has-image {
        grid-template-columns: 1fr;
        grid-template-rows: 300px auto;
        /* wird in Desktop gesetzt*/
    }

    .linkedin-post.no-image {
        grid-template-columns: 1fr;
        grid-template-rows: 0px auto;
    }

    .linkedin-postImg {
        border-bottom-left-radius: 0px !important;
        border-top-right-radius: 15px !important;
    }

    .linkedin-post>div:nth-child(1) {
        max-height: 300px;
        overflow: hidden;
    }

    .linkedin-post>div:nth-child(2) {
        grid-template-rows: unset;
        max-height: unset;
    }

    .linkedin-user-info {
        grid-template-columns: 60px auto;
        grid-template-areas: "img userWrapper"
            "openButton openButton";
    }
}

/* +++ Slider +++ */
:root {
    --color-secondary-rgb: 236, 72, 153;
    --color-muted: #e5e7eb;
}

/* full‑width wrapper */
.slider-wrapper {
    width: 100%;
}

.shadow {
    box-shadow: 0px 2px 15px rgba(96, 96, 96, 0.25);
}

/* viewport also full‑width */
.slider-viewport {
    width: 100%;
    position: relative;
    /* height: 24rem; */
    /* height can stay fixed or be made responsive if desired */
    overflow: hidden;
    margin-bottom: 1.5rem;
}

/* container is N×100% wide */
.slides-container {
    display: flex;
    width: calc(var(--slide-count) * 100%);
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

/* each slide is 1/N of the container → 100% of the wrapper */
.slide {
    flex: 0 0 calc(100% / var(--slide-count));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

/* controls below */
.controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.dots {
    display: flex;
    gap: 0.5rem;
}

.dot {
    position: relative;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background: #011d51;
    cursor: pointer;
    transition: width 0.2s ease, opacity 0.2s ease;
}

.dot:hover {
    opacity: 0.8;
}

.dot.selected {
    width: 3rem;
    background: #ededed;
    border-radius: 100px;
    overflow: hidden;
}

.progress {
    position: absolute;
    inset: 0;
    width: 0;
    background: #011d51;
    transition: width 0.1s linear;
}

.play-pause-btn {
    width: 2.5rem;
    height: 2.5rem;
    border: none;
    border-radius: 100%;
    background: #ededed;
    color: #011d51;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.play-pause-btn:hover {
    opacity: 0.8;
}