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

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.detail-layout-4 {
    width: 100%;
    display: flex;
    min-height: 870px;
    align-items: stretch;
    overflow: hidden;
}

.detail-4-media-side {
    display: flex;
    width: 708px;
    justify-content: center;
    align-items: center;
    gap: var(--space-24);
    flex-shrink: 0;
    align-self: stretch;
    position: relative;
    animation: fadeIn 4s ease-out;
}

.detail-4-media-side img,
.detail-4-media-side video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.detail-4-media-side .video-custom-container {
    width: 100%;
    height: 100%;
}

.detail-4-media-side .video-custom-poster {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 2;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.detail-4-media-side .video-full-wrapper {
    width: 100%;
    height: 100%;
    position: relative;
}

.detail-4-media-side .video-full-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
}

.detail-4-content-side {
    flex: 1;
    padding: 80px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-48);
}

.detail-4-text-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.detail-4-heading {
    margin: 0;
}

.detail-4-subtitle {
    margin: 0;
    animation: fadeInUp 1.5s ease-out;
}

.detail-4-description {
    margin: 0;
    animation: fadeInUp 1.5s ease-out;
}

.detail-4-description ul,
.detail-4-description ol {
    padding-left: 0;
    margin: 0;
    list-style-position: inside;
}

.detail-4-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    animation: fadeInUp 1.5s ease-out;
}

.detail-4-row {
    display: flex;
    gap: 24px;
}

.detail-4-row--center {
    justify-content: center;
}

.grid-item-4 {
    flex: 0 0 calc(50% - 12px);
}

.grid-item-4-title {
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    animation: fadeInUp 1.5s ease-out;
}

.grid-item-4-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    animation: fadeInUp 1.5s ease-out;
}

@media (min-width: 768px) and (max-width: 1024.98px) {
    .detail-layout-4 {
        flex-direction: column !important;
        min-height: auto !important;
    }

    .detail-4-content-side {
        width: 100% !important;
        order: 1 !important;
        padding: var(--space-80) var(--space-24) var(--space-48) var(--space-24) !important;
        align-items: flex-start !important;
        gap: var(--space-48) !important;
    }

    .detail-4-text-group {
        width: 100% !important;
        text-align: center !important;
        align-items: center !important;
    }

    .detail-4-grid {
        width: 100% !important;
    }

    .detail-4-media-side {
        width: 100% !important;
        order: 2 !important;
        height: 560px !important;
        align-self: stretch !important;
    }

    .detail-4-media-side .video-full-wrapper {
        height: 560px !important;
    }
}

@media (max-width: 767.98px) {
    .detail-layout-4 {
        flex-direction: column !important;
        min-height: auto !important;
    }

    .detail-4-content-side {
        width: 100% !important;
        order: 1 !important;
        padding: var(--space-48) var(--space-16) !important;
        align-items: flex-start !important;
        gap: var(--space-48) !important;
    }

    .detail-4-text-group {
        width: 100% !important;
        text-align: center !important;
        align-items: center !important;
    }

    .detail-4-grid {
        width: 100% !important;
    }

    .grid-item-4 {
        max-width: 100% !important;
    }

    .detail-4-media-side {
        width: 100% !important;
        height: 493px !important;
        order: 2 !important;
        align-self: stretch !important;
        position: relative !important;
    }

    .detail-4-media-side .video-custom-poster {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center !important;
        z-index: 2 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .detail-4-media-side .video-full-wrapper {
        height: 493px !important;
    }
}