/* VL Menu Sidebar Widget */
.vl-menu-sidebar-widget {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* Sticky titles (BREAKFAST / LUNCH / DINNER) */
.vl-sidebar-titles {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: -100;
}

.vl-sidebar-title {
    font-family: 'TanPearl', sans-serif;
    font-size: 7vw;
    margin: 0;
    /* color via Elementor title_color control */
    position: absolute;
    opacity: 0;
    transition: opacity 0.5s ease;
    white-space: nowrap;
}

.vl-sidebar-title.active {
    opacity: 1;
}

/* Timeline sidebar */
.vl-sidebar-timeline {
    /* width via Elementor sidebar_width control */
    height: 80vh;
    display: flex;
    flex-direction: row;
    opacity: 0;
    transition: opacity 0.5s ease;
    margin-right: 2vw;
}

.vl-sidebar-timeline.is-visible {
    opacity: 1;
}

/* Left: time slot labels */
.vl-sidebar-slots {
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 10vh 0;
    justify-content: space-evenly;
}

.vl-sidebar-slot {
    width: 100%;
    height: 2vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vl-sidebar-slot h1 {
    font-size: 1vw;
    font-weight: 300;
    font-family: 'Inter', sans-serif;
    /* color via Elementor time_slot_color control */
    margin: 0;
    transition: font-weight 0.3s ease;
}

/* Right: vertical line + icons */
.vl-sidebar-line-col {
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.vl-sidebar-icon-top,
.vl-sidebar-icon-bottom {
    width: 5vw;
    height: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vl-sidebar-icon-top img,
.vl-sidebar-icon-bottom img {
    width: 40%;
    height: 40%;
    object-fit: contain;
}

.vl-sidebar-center {
    width: 100%;
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.vl-sidebar-line {
    width: 1px;
    height: 100%;
    /* background-color via Elementor line_color control */
}

.vl-sidebar-ticks {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.vl-sidebar-tick {
    width: 50%;
    height: 2vw;
    display: flex;
    align-items: center;
}

.vl-sidebar-tick-inner {
    width: 100%;
    height: 1px;
    /* background-color via Elementor line_color control */
}

/* ── Tablet ── */
@media (max-width: 1024px) {
    .vl-sidebar-title { font-size: 7.5vw; }
    .vl-sidebar-slot h1 { font-size: 1.5vw; }
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .vl-sidebar-title { font-size: 12vw; }
    .vl-sidebar-slot h1 { font-size: 2vw; }
}
