/*global-settings*/
.timeline-section {
    padding: 12rem 1.5rem;
    position: relative;
}

.timeline-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}
/*desktop-application-settings*/
@media (min-width: 1024px) {
    .timeline-container {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 2rem;
        padding-top: 14rem;
        padding-bottom: 14rem;
        position: relative;
    }

    .timeline-container::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        height: 3px;
        background-image: repeating-linear-gradient(
            to right,
            #155dfc 0,
            #155dfc 10px,
            transparent 10px,
            transparent 20px
        );
        transform: translateY(-50%);
        z-index: 1;
    }

    .timeline-item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .timeline-marker {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 3;
    }

    .marker-number {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: linear-gradient(135deg, #155dfc 0%, #113688 100%);
        color: #ffffff;
        font-size: 1.25rem;
        font-weight: 700;
        box-shadow: 0 4px 12px rgba(106, 171, 85, 0.4);
    }

    .timeline-content-wrapper {
        position: absolute;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .timeline-item[data-position="top"] .timeline-content-wrapper {
        bottom: 50%;
        padding-bottom: 4rem;
    }

    .timeline-item[data-position="bottom"] .timeline-content-wrapper {
        top: 50%;
        padding-top: 4rem;
    }

    .timeline-content {
        background: #ffffff;
        padding: 1.5rem;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        max-width: 280px;
        width: 100%;
        border-left: 4px solid #155dfc;
        transition: all 0.3s ease;
    }

    .timeline-content:hover {
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
        transform: translateY(-2px);
    }

    .timeline-content h3 {
        color: #0f172a;
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
        line-height: 1.4;
    }

    .timeline-content p {
        color: #475569;
        font-size: 0.875rem;
        line-height: 1.6;
        margin: 0;
    }
}

/*responsive-application-settings*/
@media (max-width: 1023px) {
    .timeline-container {
        padding-left: 3.5rem;
        position: relative;
    }

    .timeline-container::before {
        content: "";
        position: absolute;
        left: 28px;
        top: 0;
        bottom: 0;
        width: 3px;
        background-image: repeating-linear-gradient(
            to bottom,
            #155dfc 0,
            #155dfc 10px,
            transparent 10px,
            transparent 20px
        );
        z-index: 1;
    }

    .timeline-item {
        display: flex;
        align-items: flex-start;
        gap: 1.5rem;
        margin-bottom: 3rem;
        position: relative;
    }

    .timeline-item:last-child {
        margin-bottom: 0;
    }

    .timeline-marker {
        flex-shrink: 0;
        z-index: 3;
    }

    .marker-number {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: linear-gradient(135deg, #155dfc 0%, #113688 100%);
        color: #ffffff;
        font-size: 1.25rem;
        font-weight: 700;
        box-shadow: 0 4px 12px rgba(106, 171, 85, 0.4);
    }

    .timeline-content-wrapper {
        flex: 1;
        padding-top: 0.5rem;
    }

    .timeline-content {
        background: #ffffff;
        padding: 1.5rem;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        border-left: 4px solid #155dfc;
    }

    .timeline-content h3 {
        color: #0f172a;
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
        line-height: 1.4;
    }

    .timeline-content p {
        color: #475569;
        font-size: 0.875rem;
        line-height: 1.6;
        margin: 0;
    }
}
/*accesibility-settings*/
@media (prefers-reduced-motion: reduce) {
    .timeline-content {
        transition: none;
    }

    .timeline-content:hover {
        transform: none;
    }
}
