/* Unhide the column and override Elementor responsive display: none */
.elementor-element.elementor-element-90778a3 {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Style the Specials Column as a floating white banner with high priority z-index and entry animation */
.elementor-element.elementor-element-90778a3 {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    transition: all 0.3s ease !important;
    z-index: 99999 !important; /* Bring forward past all other overlays */
    animation: slideInRight_2d56f964 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Float it absolutely on the right of the video header section on desktops and tablets */
@media (min-width: 768px) {
    /* Ensure the section is the relative anchor */
    .elementor-element.elementor-element-1dc6127 {
        position: relative !important;
    }
    .elementor-element.elementor-element-1dc6127 .elementor-container {
        position: static !important;
    }
    .elementor-element.elementor-element-90778a3 {
        position: absolute !important;
        right: 5% !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 360px !important;
        max-width: 90vw !important;
        z-index: 99999 !important;
    }
}

/* Smooth entrance animation from the right side */
@keyframes slideInRight_2d56f964 {
    0% {
        opacity: 0;
        transform: translate(100px, -50%);
    }
    100% {
        opacity: 1;
        transform: translate(0, -50%);
    }
}

/* On mobile, adjust translation axis since top/transform are different */
@media (max-width: 767px) {
    .elementor-element.elementor-element-90778a3 {
        animation: fadeInBottom_2d56f964 0.8s ease-out forwards;
        margin: 15px !important;
    }
    @keyframes fadeInBottom_2d56f964 {
        0% {
            opacity: 0;
            transform: translateY(30px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* Style text inside to be highly readable on white */
.elementor-element.elementor-element-90778a3 p,
.elementor-element.elementor-element-90778a3 .elementor-widget-container {
    color: #2a3a4a !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    text-align: center !important;
}
