.elementor-14099 .elementor-element.elementor-element-6c4a81c:not(.elementor-motion-effects-element-type-background), .elementor-14099 .elementor-element.elementor-element-6c4a81c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #156CF773 0%, #FFFFFF 100%);}.elementor-14099 .elementor-element.elementor-element-6c4a81c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-120px;margin-bottom:0px;padding:190px 0px 80px 0px;}.elementor-14099 .elementor-element.elementor-element-6c4a81c > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-14099 .elementor-element.elementor-element-d05396c.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-14099 .elementor-element.elementor-element-d05396c.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-14099 .elementor-element.elementor-element-e2a042b{overflow:hidden;}.elementor-bc-flex-widget .elementor-14099 .elementor-element.elementor-element-f132698.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-14099 .elementor-element.elementor-element-f132698.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-14099 .elementor-element.elementor-element-f132698.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-14099 .elementor-element.elementor-element-8637732 img{width:19%;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-14099 .elementor-element.elementor-element-944db9c > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-14099 .elementor-element.elementor-element-944db9c{text-align:center;}.elementor-14099 .elementor-element.elementor-element-944db9c .elementor-heading-title{font-size:25px;font-weight:600;text-transform:capitalize;line-height:80px;color:#2D3134;}.elementor-14099 .elementor-element.elementor-element-5736408{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-14099 .elementor-element.elementor-element-e3d6b24{--icon-box-icon-margin:15px;}.elementor-14099 .elementor-element.elementor-element-e3d6b24.elementor-view-stacked .elementor-icon{background-color:#001A33;}.elementor-14099 .elementor-element.elementor-element-e3d6b24.elementor-view-framed .elementor-icon, .elementor-14099 .elementor-element.elementor-element-e3d6b24.elementor-view-default .elementor-icon{fill:#001A33;color:#001A33;border-color:#001A33;}.elementor-14099 .elementor-element.elementor-element-e3d6b24 .elementor-icon{font-size:32px;}.elementor-14099 .elementor-element.elementor-element-e3d6b24 .elementor-icon-box-title, .elementor-14099 .elementor-element.elementor-element-e3d6b24 .elementor-icon-box-title a{font-family:"Helvetica", Sans-serif;font-weight:600;}.elementor-14099 .elementor-element.elementor-element-e3d6b24 .elementor-icon-box-title{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-e3d6b24 .elementor-icon-box-description{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-502277c{--icon-box-icon-margin:15px;}.elementor-14099 .elementor-element.elementor-element-502277c.elementor-view-stacked .elementor-icon{background-color:#001A33;}.elementor-14099 .elementor-element.elementor-element-502277c.elementor-view-framed .elementor-icon, .elementor-14099 .elementor-element.elementor-element-502277c.elementor-view-default .elementor-icon{fill:#001A33;color:#001A33;border-color:#001A33;}.elementor-14099 .elementor-element.elementor-element-502277c .elementor-icon{font-size:32px;}.elementor-14099 .elementor-element.elementor-element-502277c .elementor-icon-box-title{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-502277c .elementor-icon-box-description{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d8d2bed{--icon-box-icon-margin:15px;}.elementor-14099 .elementor-element.elementor-element-d8d2bed.elementor-view-stacked .elementor-icon{background-color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d8d2bed.elementor-view-framed .elementor-icon, .elementor-14099 .elementor-element.elementor-element-d8d2bed.elementor-view-default .elementor-icon{fill:#001A33;color:#001A33;border-color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d8d2bed .elementor-icon{font-size:32px;}.elementor-14099 .elementor-element.elementor-element-d8d2bed .elementor-icon-box-title{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d8d2bed .elementor-icon-box-description{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-9c26127{padding:80px 0px 80px 0px;}.elementor-14099 .elementor-element.elementor-element-d861fb0 img{width:100%;border-radius:20px 20px 20px 20px;}.elementor-14099 .elementor-element.elementor-element-9d0d15e img{border-radius:20px 20px 20px 20px;}.elementor-14099 .elementor-element.elementor-element-c4f24d2 img{border-radius:20px 20px 20px 20px;}.elementor-14099 .elementor-element.elementor-element-4ee6f93 img{border-radius:20px 20px 20px 20px;}.elementor-14099 .elementor-element.elementor-element-71edcd8 img{border-radius:20px 20px 20px 20px;}.elementor-14099 .elementor-element.elementor-element-d28984a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14099 .elementor-element.elementor-element-23e9a36 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-14099 .elementor-element.elementor-element-23e9a36{text-align:center;}.elementor-14099 .elementor-element.elementor-element-23e9a36 .elementor-heading-title{font-size:40px;font-weight:600;text-transform:none;line-height:80px;color:#2D3134;}.elementor-14099 .elementor-element.elementor-element-13e5a14{--display:flex;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-14099 .elementor-element.elementor-element-482bd17 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-14099 .elementor-element.elementor-element-482bd17 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-14099 .elementor-element.elementor-element-482bd17{--image-border-radius:15px;--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-14099 .elementor-element.elementor-element-7203085{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-lottie{--caption-color:var( --e-global-color-text );}.elementor-widget-lottie .e-lottie__caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-14099 .elementor-element.elementor-element-8f41cc0{--lottie-container-width:10%;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14099 .elementor-element.elementor-element-6acd9d2{font-size:23px;font-weight:500;}.elementor-14099 .elementor-element.elementor-element-6f00b48{--display:flex;}.elementor-14099 .elementor-element.elementor-element-3fad241{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14099 .elementor-element.elementor-element-3fad241:not(.elementor-motion-effects-element-type-background), .elementor-14099 .elementor-element.elementor-element-3fad241 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-14099 .elementor-element.elementor-element-3fad241.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-14099 .elementor-element.elementor-element-05735b2{text-align:center;}.elementor-14099 .elementor-element.elementor-element-05735b2 .elementor-heading-title{font-size:50px;font-weight:600;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;color:#1C244B;}.elementor-14099 .elementor-element.elementor-element-d920e6e > .elementor-widget-container{padding:0% 25% 0% 25%;}.elementor-14099 .elementor-element.elementor-element-d920e6e{text-align:center;font-size:16px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;line-height:1.5em;letter-spacing:0px;color:#324A6D;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group{padding-right:calc( 51px/2 );padding-left:calc( 51px/2 );margin-bottom:57px;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-form-fields-wrapper{margin-left:calc( -51px/2 );margin-right:calc( -51px/2 );margin-bottom:-57px;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group > label, .elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-subgroup label{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-type-html{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group .elementor-field{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#F3F3F300;border-color:#CFCFCF;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group .elementor-select-wrapper select{background-color:#F3F3F300;border-color:#CFCFCF;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-field-group .elementor-select-wrapper::before{color:#CFCFCF;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-button{font-family:"Archivo", Sans-serif;font-size:18px;font-weight:800;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;border-style:solid;border-width:1px 1px 1px 1px;border-radius:10px 10px 10px 10px;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .e-form__buttons__wrapper__button-next{background-color:#001A33;color:#FFFFFF;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-button[type="submit"]{background-color:#001A33;color:#FFFFFF;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-button[type="submit"] svg *{fill:#FFFFFF;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .e-form__buttons__wrapper__button-previous{background-color:#1B252F;color:#FFFFFF;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .e-form__buttons__wrapper__button-next:hover{background-color:#1B252F;color:#F8F812;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-button[type="submit"]:hover{background-color:#1B252F;color:#F8F812;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-button[type="submit"]:hover svg *{fill:#F8F812;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-message.elementor-message-success{color:#001A33;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-message.elementor-message-danger{color:#FE114B;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-message.elementor-help-inline{color:#FFFFFF;}.elementor-14099 .elementor-element.elementor-element-d4d9e41{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:768px){.elementor-14099 .elementor-element.elementor-element-3fad241{--width:100%;}}@media(max-width:1024px){.elementor-14099 .elementor-element.elementor-element-6c4a81c{margin-top:-108px;margin-bottom:0px;padding:180px 0px 60px 0px;}.elementor-14099 .elementor-element.elementor-element-944db9c .elementor-heading-title{font-size:60px;line-height:60px;}.elementor-14099 .elementor-element.elementor-element-5736408{--grid-auto-flow:row;}.elementor-14099 .elementor-element.elementor-element-9c26127{padding:60px 0px 60px 0px;}.elementor-14099 .elementor-element.elementor-element-23e9a36 .elementor-heading-title{font-size:60px;line-height:60px;}.elementor-14099 .elementor-element.elementor-element-3fad241{--margin-top:25%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-14099 .elementor-element.elementor-element-05735b2 .elementor-heading-title{font-size:65px;}.elementor-14099 .elementor-element.elementor-element-d920e6e{font-size:14px;}.elementor-14099 .elementor-element.elementor-element-d4d9e41 .elementor-button{font-size:18px;}}@media(max-width:767px){.elementor-14099 .elementor-element.elementor-element-6c4a81c{padding:80px 0px 60px 0px;}.elementor-14099 .elementor-element.elementor-element-f132698 > .elementor-element-populated{margin:60px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-14099 .elementor-element.elementor-element-8637732 img{width:30%;}.elementor-14099 .elementor-element.elementor-element-944db9c .elementor-heading-title{font-size:44px;line-height:40px;}.elementor-14099 .elementor-element.elementor-element-5736408{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-14099 .elementor-element.elementor-element-9c26127{padding:40px 0px 40px 0px;}.elementor-14099 .elementor-element.elementor-element-23e9a36 .elementor-heading-title{font-size:44px;line-height:40px;}.elementor-14099 .elementor-element.elementor-element-3fad241{--margin-top:35%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-14099 .elementor-element.elementor-element-05735b2 .elementor-heading-title{font-size:48px;line-height:1em;}.elementor-14099 .elementor-element.elementor-element-d920e6e > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-56683d4 *//* Khung chứa tổng thể */
.timeline-section {
    padding: 100px 0;
    
    text-align: center;
}

.timeline-container {
    display: flex;
    justify-content: space-around;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    /* Thiết lập chiều cao để các item có thể căn giữa */
    height: 300px; 
    align-items: center; /* Căn giữa các item theo chiều dọc */
}

/* Đường ngang */
.timeline-line {
    position: absolute;
    top: 50%; 
    left: 0;
    right: 0;
    height: 1px;
    background-color: #ddd; 
    transform: translateY(-50%);
    z-index: 1;
}

/* Khung chung cho từng điểm */
.timeline-item {
    flex: 1;
    position: relative;
    z-index: 2;
    /* Đặt tất cả item ở giữa, rồi dùng vị trí tuyệt đối để điều chỉnh */
    display: flex;
    flex-direction: column; 
    align-items: center;
    height: 100%; /* Chiếm toàn bộ chiều cao container */
    justify-content: center;
}

/* Chấm tròn (Dot) */
.timeline-dot {
    position: absolute; /* Quan trọng: Đặt dot cố định trên đường ngang */
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #ff0000; /* Đổi màu dot thành đỏ đặc, như mẫu */
    border: 3px solid white; /* Vòng trắng bên trong (optional) */
    box-shadow: 0 0 0 2px #ff0000; /* Vòng đỏ bên ngoài */
    z-index: 5;
}

/* Nội dung bên trong (Các hộp chữ) */
.timeline-content {
    padding: 10px 15px;
    border: 1px solid #001A33; 
    border-radius: 20px;
    color: #001A33; 
    background-color: white; 
    font-size: 21px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    width: 150px; 
    z-index: 4;
    position: absolute; /* Cần position absolute để căn chỉnh chính xác */
    left: 50%;
    transform: translateX(-50%);
}

/* --- CĂN CHỈNH NỘI DUNG DƯỚI (ITEM-BOTTOM) --- */
.item-bottom .timeline-content {
    top: 50%;
    margin-top: 60px; /* Đẩy xuống 60px từ đường ngang */
}
/* Tạo đường kẻ đứng ĐI TỪ DOT XUỐNG CONTENT */
.item-bottom .timeline-dot::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 50px; /* Chiều dài đường kẻ */
    background-color: #ff0000; 
    top: 100%; /* Bắt đầu từ mép dưới dot */
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    margin-top: 10px; /* Khoảng cách giữa dot và đường kẻ */
}

/* --- CĂN CHỈNH NỘI DUNG TRÊN (ITEM-TOP) --- */
.item-top .timeline-content {
    bottom: 50%;
    margin-bottom: 60px; /* Đẩy lên 60px từ đường ngang */
}
/* Tạo đường kẻ đứng ĐI TỪ DOT LÊN CONTENT */
.item-top .timeline-dot::before {
    content: '';
    position: absolute;
    width: 2px;
    height: 50px; /* Chiều dài đường kẻ */
    background-color: #ff0000; 
    bottom: 100%; /* Kết thúc ở mép trên dot */
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    margin-bottom: 10px; /* Khoảng cách giữa dot và đường kẻ */
}

@media (max-width: 767px) {
    /* 1. Thiết lập Container và Đường kẻ dọc chính */
    .timeline-container {
        flex-direction: column;
        height: auto;
        /* Giảm max-width và padding để tối ưu không gian */
        max-width: 90%; 
        margin: 0 auto;
        padding: 0;
        position: relative;
        align-items: stretch;
    }

    /* Tạo đường kẻ dọc chính */
    .timeline-container::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%; /* Đường kẻ dọc nằm ở 50% container */
        transform: translateX(-50%);
        width: 1px;
        background-color: #ddd; 
        z-index: 1;
    }
    .timeline-line {
        display: none;
    }

    /* 2. Cấu hình từng Item */
    .timeline-item {
        width: 100%;
        display: block; /* Chuyển về block để dễ dàng căn chỉnh tuyệt đối */
        position: relative;
        padding: 20px 0; /* Khoảng cách giữa các item */
        height: auto;
    }

    /* Chấm tròn (Dot) */
    .timeline-dot {
        position: absolute; 
        left: 50%; 
        top: 50%; /* Căn giữa dot theo chiều dọc và ngang */
        transform: translate(-50%, -50%);
        margin: 0; 
        z-index: 5;
    }

    /* Nội dung (Hộp chữ) */
    .timeline-content {
        /* Thiết lập vị trí cho nội dung TRÁI và PHẢI */
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 40%; 
        font-size: 13px; 
        text-align: center; 
        margin: 0; 
        z-index: 4;
    }

    /* --- Căn chỉnh Nội dung TRÁI (ITEM-TOP) --- */
    .item-top {
        /* Đảm bảo nội dung căn vào nửa TRÁI */
        text-align: left;
    }
    .item-top .timeline-content {
        /* Hộp nội dung chiếm 50% bên trái */
        float: left;
        margin-left: 0;
        padding-right: 25px; /* Tạo khoảng trống gần dot */
        text-align: right;
    }

    /* --- Căn chỉnh Nội dung PHẢI (ITEM-BOTTOM) --- */
    .item-bottom {
        /* Đảm bảo nội dung căn vào nửa PHẢI */
        text-align: right;
    }
    .item-bottom .timeline-content {
        /* Hộp nội dung chiếm 50% bên phải */
        float: right;
        margin-right: 0;
        padding-left: 25px; /* Tạo khoảng trống gần dot */
        text-align: left;
    }

    /* Ẩn đường kẻ đứng cũ và tạo đường kẻ ngang nối */
    .timeline-dot::before, .timeline-dot::after {
        display: none !important;
    }

    /* Tạo đường kẻ ngang nối từ dot đến content */
    .timeline-content::before {
        content: '';
        position: absolute;
        width: 15px; 
        height: 1px;
        background-color: #ff0000;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
    }

    /* Đường nối cho hộp bên PHẢI (item-bottom) */
    .item-bottom .timeline-content::before {
        left: -15px; /* Nối từ mép trái của hộp chữ ra */
    }

    /* Đường nối cho hộp bên TRÁI (item-top) */
    .item-top .timeline-content::before {
        right: -15px; /* Nối từ mép phải của hộp chữ ra */
    }
}/* End custom CSS */