/* CookieByte Mobile Timeline Widget - Version 1.0.3 */

.cbm-timeline-widget {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.cbm-wrapper {
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    width: 100% !important;
}

.cbm-content-item {
    display: contents !important;
}

.cbm-content-item:not(.active) .cbm-box2-wrap,
.cbm-content-item:not(.active) .cbm-box3-wrap {
    display: none !important;
}

/* ========== BOX 2: IMAGE - GRID ROW 1 ========== */
.cbm-box2-wrap {
    grid-row: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}

.cbm-box2-wrap img {
    width: 320px !important;
    max-width: 320px !important;
    height: auto !important;
    display: block !important;
}

/* ========== TIMELINE BAR - GRID ROW 2 (MIDDLE) ========== */
.cbm-timeline-bar {
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    
    width: 100% !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    
    background-color: #C0DFEC !important;
    border-radius: 999px !important;
    position: relative !important;
}

/* ========== BOX 3: CONTENT - GRID ROW 3 ========== */
.cbm-box3-wrap {
    grid-row: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cbm-box3-title {
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #1A1D20 !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
}

.cbm-box3-description,
.cbm-box3-description p,
.cbm-box3-description span,
.cbm-box3-description div {
    font-size: 22px !important;
    color: #2D3748 !important;
    margin: 0 !important;
    text-align: left !important;
    line-height: 1.5 !important;
}

/* ========== DOT ITEMS (Desktop style) ========== */
.cbm-dot-item {
    flex: 1 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    position: relative !important;
}

.cbm-dot-item:first-child {
    border-radius: 999px 0 0 999px !important;
}

.cbm-dot-item:last-child {
    border-radius: 0 999px 999px 0 !important;
}

.cbm-dot-item:first-child:last-child {
    border-radius: 999px !important;
}

/* ========== DOT ICON ========== */
.cbm-dot-icon {
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
}

.cbm-dot-icon i,
.cbm-dot-icon svg {
    font-size: 12px !important;
    color: transparent !important;
}

/* ========== INACTIVE DOT ========== */
.cbm-dot-item::before {
    content: '' !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #009BD2 !important;
    border-radius: 50% !important;
    display: block !important;
    transition: all 0.3s ease !important;
}

/* ========== ACTIVE DOT ========== */
.cbm-dot-item.active::before {
    display: none !important;
}

.cbm-dot-item.active .cbm-dot-icon {
    display: flex !important;
}

.cbm-dot-item.active .cbm-dot-icon i,
.cbm-dot-item.active .cbm-dot-icon svg {
    font-size: 15px !important;
    color: #000000 !important;
}

/* ========== ANIMATIONS ========== */
.cbm-anim-slide-up {
    animation: cbmSlideUp 0.8s ease-in forwards !important;
}

@keyframes cbmSlideUp {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}